merged latest changes from docker to dev

This commit is contained in:
uppuv 2023-10-13 14:48:08 -04:00
commit 6ad5bb1572
74 changed files with 341 additions and 285 deletions

View File

@ -3,6 +3,7 @@ using System.ComponentModel.DataAnnotations.Schema;
namespace DamageAssesment.Api.Answers.Db namespace DamageAssesment.Api.Answers.Db
{ {
[Table("Answers")]
public class Answer public class Answer
{ {
[Key] [Key]

View File

@ -8,19 +8,20 @@ namespace DamageAssesment.Api.Answers.Providers
{ {
public class AnswersProvider : IAnswersProvider public class AnswersProvider : IAnswersProvider
{ {
private AnswerDbContext answerDbContext; private AnswerDbContext answerDbContext;
private ILogger<AnswersProvider> logger; private ILogger<AnswersProvider> logger;
private IMapper mapper; private IMapper mapper;
// Constructor with dependency injection and data seeding
public AnswersProvider(AnswerDbContext answerDbContext, ILogger<AnswersProvider> logger, IMapper mapper) public AnswersProvider(AnswerDbContext answerDbContext, ILogger<AnswersProvider> logger, IMapper mapper)
{ {
this.answerDbContext = answerDbContext; this.answerDbContext = answerDbContext;
this.logger = logger; this.logger = logger;
this.mapper = mapper; this.mapper = mapper;
SeedData(); SeedData(); // Seed initial data if the table is empty
} }
// Get all answers
public async Task<(bool IsSuccess, IEnumerable<Models.Answer> Answers, string ErrorMessage)> GetAnswersAsync() public async Task<(bool IsSuccess, IEnumerable<Models.Answer> Answers, string ErrorMessage)> GetAnswersAsync()
{ {
try try
@ -40,9 +41,9 @@ namespace DamageAssesment.Api.Answers.Providers
logger?.LogError(ex.ToString()); logger?.LogError(ex.ToString());
return (false, null, ex.Message); return (false, null, ex.Message);
} }
} }
// Get an answer by its ID
public async Task<(bool IsSuccess, Models.Answer Answer, string ErrorMessage)> GetAnswerByIdAsync(int Id) public async Task<(bool IsSuccess, Models.Answer Answer, string ErrorMessage)> GetAnswerByIdAsync(int Id)
{ {
try try
@ -63,6 +64,8 @@ namespace DamageAssesment.Api.Answers.Providers
return (false, null, ex.Message); return (false, null, ex.Message);
} }
} }
// Get answers by survey response ID
public async Task<(bool IsSuccess, IEnumerable<Models.Answer> Answers, string ErrorMessage)> GetAnswersAsync(int surveyResponseId) public async Task<(bool IsSuccess, IEnumerable<Models.Answer> Answers, string ErrorMessage)> GetAnswersAsync(int surveyResponseId)
{ {
try try
@ -74,17 +77,17 @@ namespace DamageAssesment.Api.Answers.Providers
{ {
var result = mapper.Map<IEnumerable<Db.Answer>, IEnumerable<Models.Answer>>(respAnswers); var result = mapper.Map<IEnumerable<Db.Answer>, IEnumerable<Models.Answer>>(respAnswers);
return (true, result, null); return (true, result, null);
} }
return (false, null, "Not Found"); return (false, null, "Not Found");
} }
catch (Exception ex) catch (Exception ex)
{ {
logger?.LogError(ex.ToString()); logger?.LogError(ex.ToString());
return (false, null, ex.Message); return (false, null, ex.Message);
} }
} }
// Get answers by question ID
public async Task<(bool IsSuccess, IEnumerable<Models.Answer> Answers, string ErrorMessage)> GetAnswersByQuestionAsync(int questionId) public async Task<(bool IsSuccess, IEnumerable<Models.Answer> Answers, string ErrorMessage)> GetAnswersByQuestionAsync(int questionId)
{ {
try try
@ -96,17 +99,17 @@ namespace DamageAssesment.Api.Answers.Providers
{ {
var result = mapper.Map<IEnumerable<Db.Answer>, IEnumerable<Models.Answer>>(respAnswers); var result = mapper.Map<IEnumerable<Db.Answer>, IEnumerable<Models.Answer>>(respAnswers);
return (true, result, null); return (true, result, null);
} }
return (false, null, "Not Found"); return (false, null, "Not Found");
} }
catch (Exception ex) catch (Exception ex)
{ {
logger?.LogError(ex.ToString()); logger?.LogError(ex.ToString());
return (false, null, ex.Message); return (false, null, ex.Message);
} }
} }
// Create a new answer
public async Task<(bool IsSuccess, Models.Answer Answer, string ErrorMessage)> PostAnswerAsync(Models.Answer Answer) public async Task<(bool IsSuccess, Models.Answer Answer, string ErrorMessage)> PostAnswerAsync(Models.Answer Answer)
{ {
try try
@ -120,7 +123,7 @@ namespace DamageAssesment.Api.Answers.Providers
var result = mapper.Map<Db.Answer, Models.Answer>(answer); var result = mapper.Map<Db.Answer, Models.Answer>(answer);
return (true, result, null); return (true, result, null);
} }
return (false, null, "Answer is already exits"); return (false, null, "Answer is already exists");
} }
catch (Exception ex) catch (Exception ex)
{ {
@ -128,6 +131,8 @@ namespace DamageAssesment.Api.Answers.Providers
return (false, null, ex.Message); return (false, null, ex.Message);
} }
} }
// Update an existing answer
public async Task<(bool IsSuccess, Models.Answer Answer, string ErrorMessage)> UpdateAnswerAsync(Models.Answer Answer) public async Task<(bool IsSuccess, Models.Answer Answer, string ErrorMessage)> UpdateAnswerAsync(Models.Answer Answer)
{ {
try try
@ -156,14 +161,14 @@ namespace DamageAssesment.Api.Answers.Providers
} }
catch (Exception ex) catch (Exception ex)
{ {
logger?.LogError(ex.ToString()); logger?.LogError(ex.ToString());
return (false,null, ex.Message); return (false, null, ex.Message);
} }
} }
// Delete an answer by its ID
public async Task<(bool IsSuccess, Models.Answer Answer, string ErrorMessage)> DeleteAnswerAsync(int Id) public async Task<(bool IsSuccess, Models.Answer Answer, string ErrorMessage)> DeleteAnswerAsync(int Id)
{ {
try try
{ {
Db.Answer answer = answerDbContext.Answers.AsNoTracking().Where(a => a.Id == Id).FirstOrDefault(); Db.Answer answer = answerDbContext.Answers.AsNoTracking().Where(a => a.Id == Id).FirstOrDefault();
@ -173,26 +178,29 @@ namespace DamageAssesment.Api.Answers.Providers
} }
answerDbContext.Answers.Remove(answer); answerDbContext.Answers.Remove(answer);
answerDbContext.SaveChanges(); answerDbContext.SaveChanges();
return (true, mapper.Map<Db.Answer, Models.Answer>(answer), $"AnswerId {Id} deleted Successfuly"); return (true, mapper.Map<Db.Answer, Models.Answer>(answer), $"AnswerId {Id} deleted successfully");
} }
catch (Exception ex) catch (Exception ex)
{ {
logger?.LogError(ex.ToString()); logger?.LogError(ex.ToString());
return (false,null, ex.Message); return (false, null, ex.Message);
} }
} }
// Check if an answer with a specific ID exists
private bool AnswerExists(int id) private bool AnswerExists(int id)
{ {
return answerDbContext.Answers.AsNoTracking().Count(e => e.Id == id) > 0; return answerDbContext.Answers.AsNoTracking().Count(e => e.Id == id) > 0;
} }
// Seed initial data if the table is empty
public void SeedData() public void SeedData()
{ {
if (!answerDbContext.Answers.Any()) if (!answerDbContext.Answers.Any())
{ {
answerDbContext.Answers.Add(new Db.Answer() { AnswerText = "Yes", Comment = "Comment test 4", QuestionId = 1, SurveyResponseId = 1 }); answerDbContext.Answers.Add(new Db.Answer() { Id = 1, AnswerText = "Yes", Comment = "Comment test 4", QuestionId = 1, SurveyResponseId = 1 });
answerDbContext.Answers.Add(new Db.Answer() { AnswerText = "No", Comment = "Comment test 5", QuestionId = 2, SurveyResponseId = 1 }); answerDbContext.Answers.Add(new Db.Answer() { Id = 2, AnswerText = "No", Comment = "Comment test 5", QuestionId = 2, SurveyResponseId = 1 });
// Uncomment the lines below to add more initial data if needed
//answerDbContext.Answers.Add(new Db.Answer() { Id = 3, AnswerText = "No", Comment = "No Comment", QuestionId = 3, SurveyResponseId = 1 }); //answerDbContext.Answers.Add(new Db.Answer() { Id = 3, AnswerText = "No", Comment = "No Comment", QuestionId = 3, SurveyResponseId = 1 });
//answerDbContext.Answers.Add(new Db.Answer() { Id = 4, AnswerText = "Yes", Comment = "No Comment", QuestionId = 1, SurveyResponseId = 2 }); //answerDbContext.Answers.Add(new Db.Answer() { Id = 4, AnswerText = "Yes", Comment = "No Comment", QuestionId = 1, SurveyResponseId = 2 });
//answerDbContext.Answers.Add(new Db.Answer() { Id = 5, AnswerText = "No", Comment = "No Comment", QuestionId = 2, SurveyResponseId = 2 }); //answerDbContext.Answers.Add(new Db.Answer() { Id = 5, AnswerText = "No", Comment = "No Comment", QuestionId = 2, SurveyResponseId = 2 });

View File

@ -1,8 +0,0 @@
{
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft.AspNetCore": "Warning"
}
}
}

View File

@ -3,6 +3,7 @@ using System.ComponentModel.DataAnnotations.Schema;
namespace DamageAssesment.Api.Attachments.Db namespace DamageAssesment.Api.Attachments.Db
{ {
[Table("AnswerAttachments")]
public class Attachment public class Attachment
{ {
[Key] [Key]

View File

@ -1,8 +0,0 @@
{
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft.AspNetCore": "Warning"
}
}
}

View File

@ -3,6 +3,7 @@ using System.ComponentModel.DataAnnotations.Schema;
namespace DamageAssesment.Api.DocuLinks.Db namespace DamageAssesment.Api.DocuLinks.Db
{ {
[Table("Doculinks")]
public class Doculink public class Doculink
{ {
[Key] [Key]

View File

@ -3,6 +3,7 @@ using System.ComponentModel.DataAnnotations;
namespace DamageAssesment.Api.DocuLinks.Db namespace DamageAssesment.Api.DocuLinks.Db
{ {
[Table("DoculinkAttachments")]
public class DoculinkAttachments public class DoculinkAttachments
{ {

View File

@ -3,6 +3,7 @@ using System.ComponentModel.DataAnnotations.Schema;
namespace DamageAssesment.Api.DocuLinks.Db namespace DamageAssesment.Api.DocuLinks.Db
{ {
[Table("DoculinkTrans")]
public class DoculinkTranslation public class DoculinkTranslation
{ {
[Key] [Key]

View File

@ -1,7 +1,9 @@
using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace DamageAssesment.Api.DocuLinks.Db namespace DamageAssesment.Api.DocuLinks.Db
{ {
[Table("DoculinkTypes")]
public class LinkType public class LinkType
{ {
[Key] [Key]

View File

@ -3,6 +3,7 @@ using System.ComponentModel.DataAnnotations;
namespace DamageAssesment.Api.DocuLinks.Db namespace DamageAssesment.Api.DocuLinks.Db
{ {
[Table("DoculinkTypeTrans")]
public class LinksTranslation public class LinksTranslation
{ {
[Key] [Key]

View File

@ -75,7 +75,7 @@ namespace DamageAssesment.Api.DocuLinks.Providers
} }
else else
fileModel = new FileModel() { url = "www.google" + i + ".com", IsAttachments = false, CustomOrder = 1 }; fileModel = new FileModel() { url = "www.google" + i + ".com", IsAttachments = false, CustomOrder = 1 };
ReqDoculink documentInfo = new ReqDoculink() { linkTypeId = linkTypeId, CustomOrder = i, Files = new List<FileModel>() { fileModel } }; ReqDoculink documentInfo = new ReqDoculink() { linkTypeId = i, CustomOrder = i, Files = new List<FileModel>() { fileModel } };
Models.Doculink document = uploadservice.UploadDocument(counter, documentInfo); Models.Doculink document = uploadservice.UploadDocument(counter, documentInfo);
DocumentDbContext.Documents.Add(mapper.Map<Models.Doculink, Db.Doculink>(document)); DocumentDbContext.Documents.Add(mapper.Map<Models.Doculink, Db.Doculink>(document));
DocumentDbContext.SaveChanges(); DocumentDbContext.SaveChanges();
@ -97,16 +97,16 @@ namespace DamageAssesment.Api.DocuLinks.Providers
"Instrucciones de Evaluación de Daños de la Aplicación Móvil", "Instrucciones de Evaluación de Daños de la Aplicación Móvil",
"Instrucciones de Evaluación de Daños del PC", "Instrucciones de Evaluación de Daños del PC",
"Centros de Evacuación de Emergencia", "Centros de Evacuación de Emergencia",
"Instrucciones de Evaluación de Daños de la Aplicación Móvil" }; "Instrucciones de Evaluación de Daños de la Aplicación Móvil" };
string[] frTranslations = { string[] frTranslations = {
"Instructions d'Évaluation des Dommages de l'Application Mobile", "Instructions d'Évaluation des Dommages de l'Application Mobile",
"Instructions d'Évaluation des Dommages du PC", "Instructions d'Évaluation des Dommages du PC",
"Centres d'Évacuation d'Urgence", "Centres d'Évacuation d'Urgence",
"Instructions d'Évaluation des Dommages de l'Application Mobile" }; "Instructions d'Évaluation des Dommages de l'Application Mobile" };
List<Db.DoculinkTranslation> documents = new List<Db.DoculinkTranslation>(); List<Db.DoculinkTranslation> documents = new List<Db.DoculinkTranslation>();
for(int i = 0; i < 4; i++) for (int i = 0; i < 4; i++)
{ {
documents.Add(new Db.DoculinkTranslation { DocumentId = i+1, title = titles[i], description = titles[i], Language = "en" }); documents.Add(new Db.DoculinkTranslation { DocumentId = i + 1, title = titles[i], description = titles[i], Language = "en" });
documents.Add(new Db.DoculinkTranslation { DocumentId = i + 1, title = esTranslations[i], description = esTranslations[i], Language = "es" }); documents.Add(new Db.DoculinkTranslation { DocumentId = i + 1, title = esTranslations[i], description = esTranslations[i], Language = "es" });
documents.Add(new Db.DoculinkTranslation { DocumentId = i + 1, title = frTranslations[i], description = frTranslations[i], Language = "fr" }); documents.Add(new Db.DoculinkTranslation { DocumentId = i + 1, title = frTranslations[i], description = frTranslations[i], Language = "fr" });
} }

View File

@ -1,8 +0,0 @@
{
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft.AspNetCore": "Warning"
}
}
}

View File

@ -1,7 +1,9 @@
using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace DamageAssesment.Api.Employees.Db namespace DamageAssesment.Api.Employees.Db
{ {
[Table("Employees")]
public class Employee public class Employee
{ {
[Key] [Key]

View File

@ -19,7 +19,7 @@ namespace DamageAssesment.Api.Employees.Providers
this.EmployeeDbContext = EmployeeDbContext; this.EmployeeDbContext = EmployeeDbContext;
this.logger = logger; this.logger = logger;
this.mapper = mapper; this.mapper = mapper;
SeedData(); // SeedData();
} }
public async Task<(bool IsSuccess, IEnumerable<Models.Employee> Employees, string ErrorMessage)> GetEmployeesAsync() public async Task<(bool IsSuccess, IEnumerable<Models.Employee> Employees, string ErrorMessage)> GetEmployeesAsync()
@ -156,8 +156,8 @@ namespace DamageAssesment.Api.Employees.Providers
{ {
if (!EmployeeDbContext.Employees.Any()) if (!EmployeeDbContext.Employees.Any())
{ {
EmployeeDbContext.Employees.Add(new Db.Employee() { EmployeeCode = "Emp1", Name = "ABC1", Email = "abc1@gmail.com", OfficePhoneNumber = "12345678", BirthDate = DateTime.Now.AddYears(-18), IsActive = true, PreferredLanguage = "en" }); EmployeeDbContext.Employees.Add(new Db.Employee() { EmployeeCode = "10101", Name = "David", Email = "david@gmail.com", OfficePhoneNumber = "12345678", BirthDate = DateTime.Now.AddYears(-18), IsActive = true, PreferredLanguage = "en" });
EmployeeDbContext.Employees.Add(new Db.Employee() { EmployeeCode = "Emp2", Name = "ABC2", Email = "abc2@gmail.com", OfficePhoneNumber = "12345678", BirthDate = DateTime.Now.AddYears(-22), IsActive = true, PreferredLanguage = "fr" }); EmployeeDbContext.Employees.Add(new Db.Employee() { EmployeeCode = "20202", Name = "Smith", Email = "smith@gmail.com", OfficePhoneNumber = "12345678", BirthDate = DateTime.Now.AddYears(-22), IsActive = true, PreferredLanguage = "fr" });
//EmployeeDbContext.Employees.Add(new Db.Employee() { Id = 3, EmployeeCode = "Emp3", Name = "ABC3", Email = "abc3@gmail.com", OfficePhoneNumber = "12345678", BirthDate = DateTime.Now.AddYears(-30), IsActive = true, PreferredLanguage = "fr" }); //EmployeeDbContext.Employees.Add(new Db.Employee() { Id = 3, EmployeeCode = "Emp3", Name = "ABC3", Email = "abc3@gmail.com", OfficePhoneNumber = "12345678", BirthDate = DateTime.Now.AddYears(-30), IsActive = true, PreferredLanguage = "fr" });
//EmployeeDbContext.Employees.Add(new Db.Employee() { Id = 4, EmployeeCode = "Emp4", Name = "ABC4", Email = "abc4@gmail.com", OfficePhoneNumber = "12345678", BirthDate = DateTime.Now.AddYears(-20), IsActive = true, PreferredLanguage = "en" }); //EmployeeDbContext.Employees.Add(new Db.Employee() { Id = 4, EmployeeCode = "Emp4", Name = "ABC4", Email = "abc4@gmail.com", OfficePhoneNumber = "12345678", BirthDate = DateTime.Now.AddYears(-20), IsActive = true, PreferredLanguage = "en" });
//EmployeeDbContext.Employees.Add(new Db.Employee() { Id = 5, EmployeeCode = "Emp5", Name = "ABC5", Email = "abc5@gmail.com", OfficePhoneNumber = "12345678", BirthDate = DateTime.Now.AddYears(-23), IsActive = true, PreferredLanguage = "es" }); //EmployeeDbContext.Employees.Add(new Db.Employee() { Id = 5, EmployeeCode = "Emp5", Name = "ABC5", Email = "abc5@gmail.com", OfficePhoneNumber = "12345678", BirthDate = DateTime.Now.AddYears(-23), IsActive = true, PreferredLanguage = "es" });

View File

@ -1,8 +0,0 @@
{
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft.AspNetCore": "Warning"
}
}
}

View File

@ -3,6 +3,7 @@ using System.ComponentModel.DataAnnotations.Schema;
namespace DamageAssesment.Api.Locations.Db namespace DamageAssesment.Api.Locations.Db
{ {
[Table("Locations")]
public class Location public class Location
{ {
[Key] [Key]

View File

@ -1,7 +1,9 @@
using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace DamageAssesment.Api.Locations.Db namespace DamageAssesment.Api.Locations.Db
{ {
[Table("Regions")]
public class Region public class Region
{ {
[Key] [Key]

View File

@ -17,7 +17,7 @@ namespace DamageAssesment.Api.Locations.Providers
this.locationDbContext = locationDbContext; this.locationDbContext = locationDbContext;
this.logger = logger; this.logger = logger;
this.mapper = mapper; this.mapper = mapper;
SeedData(); // SeedData();
} }
public async Task<(bool IsSuccess, IEnumerable<Models.Location> Locations, string ErrorMessage)> GetLocationsAsync() public async Task<(bool IsSuccess, IEnumerable<Models.Location> Locations, string ErrorMessage)> GetLocationsAsync()
@ -139,8 +139,9 @@ namespace DamageAssesment.Api.Locations.Providers
{ {
if (!locationDbContext.Locations.Any()) if (!locationDbContext.Locations.Any())
{ {
locationDbContext.Locations.Add(new Db.Location() { LocationCode = "Loc1", RegionId = 1, Name = "BOB GRAHAM EDUCATION CENTER 1", MaintenanceCenter = "1", SchoolType = "US" }); locationDbContext.Locations.Add(new Db.Location() { LocationCode = "0091", RegionId = 5, Name = "BOB GRAHAM EDUCATION CENTER", MaintenanceCenter = "1", SchoolType = "K8" });
locationDbContext.Locations.Add(new Db.Location() { LocationCode = "Loc2", RegionId = 2, Name = "BOB GRAHAM EDUCATION CENTER 2", MaintenanceCenter = "1", SchoolType = "US" }); locationDbContext.Locations.Add(new Db.Location() { LocationCode = "0092", RegionId = 1, Name = "NORMAN S. EDELCUP/SUNNY ISLES BEACH K-8", MaintenanceCenter = "1", SchoolType = "K8" });
locationDbContext.Locations.Add(new Db.Location() { LocationCode = "7511", RegionId = 4, Name = "MIAMI SPRINGS SHS", MaintenanceCenter = "2", SchoolType = "S" });
//locationDbContext.Locations.Add(new Db.Location() { Id = 3, LocationCode = "Loc3", RegionId = 3, Name = "BOB GRAHAM EDUCATION CENTER 3", MaintenanceCenter = "1", SchoolType = "US" }); //locationDbContext.Locations.Add(new Db.Location() { Id = 3, LocationCode = "Loc3", RegionId = 3, Name = "BOB GRAHAM EDUCATION CENTER 3", MaintenanceCenter = "1", SchoolType = "US" });
//locationDbContext.Locations.Add(new Db.Location() { Id = 4, LocationCode = "Loc4", RegionId = 1, Name = "BOB GRAHAM EDUCATION CENTER 4", MaintenanceCenter = "1", SchoolType = "US" }); //locationDbContext.Locations.Add(new Db.Location() { Id = 4, LocationCode = "Loc4", RegionId = 1, Name = "BOB GRAHAM EDUCATION CENTER 4", MaintenanceCenter = "1", SchoolType = "US" });
//locationDbContext.Locations.Add(new Db.Location() { Id = 5, LocationCode = "Loc5", RegionId = 2, Name = "BOB GRAHAM EDUCATION CENTER 5", MaintenanceCenter = "1", SchoolType = "US" }); //locationDbContext.Locations.Add(new Db.Location() { Id = 5, LocationCode = "Loc5", RegionId = 2, Name = "BOB GRAHAM EDUCATION CENTER 5", MaintenanceCenter = "1", SchoolType = "US" });

View File

@ -16,7 +16,7 @@ namespace DamageAssesment.Api.Locations.Providers
this.locationDbContext = regionDbContext; this.locationDbContext = regionDbContext;
this.logger = logger; this.logger = logger;
this.mapper = mapper; this.mapper = mapper;
SeedData(); // SeedData();
} }
public async Task<(bool IsSuccess, Models.Region Region, string ErrorMessage)> GetRegionByIdAsync(int Id) public async Task<(bool IsSuccess, Models.Region Region, string ErrorMessage)> GetRegionByIdAsync(int Id)
@ -166,8 +166,10 @@ namespace DamageAssesment.Api.Locations.Providers
if (!locationDbContext.Regions.Any()) if (!locationDbContext.Regions.Any())
{ {
locationDbContext.Regions.Add(new Db.Region() { Name = "North", Abbreviation = "N" }); locationDbContext.Regions.Add(new Db.Region() { Name = "North", Abbreviation = "N" });
locationDbContext.Regions.Add(new Db.Region() { Name = "South", Abbreviation = "S" });
locationDbContext.Regions.Add(new Db.Region() { Name = "Central", Abbreviation = "C" }); locationDbContext.Regions.Add(new Db.Region() { Name = "Central", Abbreviation = "C" });
locationDbContext.Regions.Add(new Db.Region() { Name = "South", Abbreviation = "S" });
locationDbContext.Regions.Add(new Db.Region() { Name = "Charter Schools", Abbreviation = "CS" });
locationDbContext.Regions.Add(new Db.Region() { Name = "Alternate and Special Centers", Abbreviation = "AC" });
locationDbContext.SaveChanges(); locationDbContext.SaveChanges();
} }
} }

View File

@ -1,8 +0,0 @@
{
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft.AspNetCore": "Warning"
}
}
}

View File

@ -3,6 +3,7 @@ using System.ComponentModel.DataAnnotations;
namespace DamageAssesment.Api.Questions.Db namespace DamageAssesment.Api.Questions.Db
{ {
[Table("QuestionCategoryTrans")]
public class CategoryTranslation public class CategoryTranslation
{ {
[Key] [Key]

View File

@ -3,6 +3,7 @@ using System.ComponentModel.DataAnnotations.Schema;
namespace DamageAssesment.Api.Questions.Db namespace DamageAssesment.Api.Questions.Db
{ {
[Table("Questions")]
public class Question public class Question
{ {
[Key] [Key]

View File

@ -1,8 +1,10 @@
using System.Buffers.Text; using System.Buffers.Text;
using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace DamageAssesment.Api.Questions.Db namespace DamageAssesment.Api.Questions.Db
{ {
[Table("QuestionCategories")]
public class QuestionCategory public class QuestionCategory
{ {
[Key] [Key]

View File

@ -1,7 +1,9 @@
using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace DamageAssesment.Api.Questions.Db namespace DamageAssesment.Api.Questions.Db
{ {
[Table("QuestionTypes")]
public class QuestionType public class QuestionType
{ {
[Key] [Key]

View File

@ -3,6 +3,7 @@ using System.ComponentModel.DataAnnotations.Schema;
namespace DamageAssesment.Api.Questions.Db namespace DamageAssesment.Api.Questions.Db
{ {
[Table("QuestionTrans")]
public class QuestionsTranslation public class QuestionsTranslation
{ {
[Key] [Key]

View File

@ -5,6 +5,7 @@
public int CategoryId { get; set; } public int CategoryId { get; set; }
public string IconName { get; set; } public string IconName { get; set; }
public string IconLibrary { get; set; } public string IconLibrary { get; set; }
public object CategoryNames { get; set; }
public List<MultiLanguage> QuestionsText { get; set; } public List<MultiLanguage> QuestionsText { get; set; }
} }
} }

View File

@ -19,32 +19,11 @@ namespace DamageAssesment.Api.Questions.Providers
this.questionDbContext = questionDbContext; this.questionDbContext = questionDbContext;
this.logger = logger; this.logger = logger;
this.mapper = mapper; this.mapper = mapper;
SeedData(); // SeedData();
} }
public void SeedData() public void SeedData()
{ {
if (!questionDbContext.QuestionsTranslations.Any())
{
questionDbContext.QuestionsTranslations.Add(new Db.QuestionsTranslation() { QuestionId = 1, QuestionText = "Can You Open ?", Language = "en" });
questionDbContext.QuestionsTranslations.Add(new Db.QuestionsTranslation() { QuestionId = 1, QuestionText = "Peux-tu ouvrir ?", Language = "fr" });
questionDbContext.QuestionsTranslations.Add(new Db.QuestionsTranslation() { QuestionId = 2, QuestionText = "Are the grounds flodded ?", Language = "en" });
questionDbContext.QuestionsTranslations.Add(new Db.QuestionsTranslation() { QuestionId = 2, QuestionText = "Les terrains sont-ils inondés ?", Language = "fr" });
//questionDbContext.QuestionsTranslations.Add(new Db.QuestionsTranslation() { Id = 5, QuestionId = 3, QuestionText = "Is the access blocked by flooding ?", Language = "en" });
//questionDbContext.QuestionsTranslations.Add(new Db.QuestionsTranslation() { Id = 6, QuestionId = 3, QuestionText = "L'accès est-il bloqué par les inondations ?", Language = "fr" });
//questionDbContext.QuestionsTranslations.Add(new Db.QuestionsTranslation() { Id = 7, QuestionId = 1, QuestionText = "Puedes abrir ?", Language = "es" });
//questionDbContext.QuestionsTranslations.Add(new Db.QuestionsTranslation() { Id = 8, QuestionId = 2, QuestionText = "¿Están inundados los terrenos?", Language = "es" });
//questionDbContext.QuestionsTranslations.Add(new Db.QuestionsTranslation() { Id = 9, QuestionId = 3, QuestionText = "¿El acceso está bloqueado por inundaciones?", Language = "es" });
questionDbContext.SaveChanges();
}
if (!questionDbContext.Questions.Any())
{
questionDbContext.Questions.Add(new Db.Question() { QuestionTypeId = 2, SurveyId = 1, QuestionNumber = 1, IsRequired = true, Comment = false, Key = true, CategoryId=1 });
questionDbContext.Questions.Add(new Db.Question() { QuestionTypeId = 1, SurveyId = 1, QuestionNumber = 2, IsRequired = false, Comment = true, Key = false, CategoryId = 1 });
//questionDbContext.Questions.Add(new Db.Question() { Id = 3, QuestionTypeId = 1, SurveyId = 1, QuestionNumber = 3, IsRequired = true, Comment = false, Key = true, CategoryId = 2 });
questionDbContext.SaveChanges();
}
if (!questionDbContext.QuestionTypes.Any()) if (!questionDbContext.QuestionTypes.Any())
{ {
questionDbContext.QuestionTypes.Add(new Db.QuestionType() { TypeText = "RadioButton" }); questionDbContext.QuestionTypes.Add(new Db.QuestionType() { TypeText = "RadioButton" });
@ -55,7 +34,7 @@ namespace DamageAssesment.Api.Questions.Providers
if (!questionDbContext.QuestionCategories.Any()) if (!questionDbContext.QuestionCategories.Any())
{ {
questionDbContext.QuestionCategories.Add(new Db.QuestionCategory() { IconName = "Flooding", IconLibrary= "https://example.com/images/img1.png" }); questionDbContext.QuestionCategories.Add(new Db.QuestionCategory() { IconName = "Flooding", IconLibrary = "https://example.com/images/img1.png" });
questionDbContext.QuestionCategories.Add(new Db.QuestionCategory() { IconName = "Electrical", IconLibrary = "https://example.com/images/img2.png" }); questionDbContext.QuestionCategories.Add(new Db.QuestionCategory() { IconName = "Electrical", IconLibrary = "https://example.com/images/img2.png" });
questionDbContext.QuestionCategories.Add(new Db.QuestionCategory() { IconName = "Structural", IconLibrary = "https://example.com/images/img3.png" }); questionDbContext.QuestionCategories.Add(new Db.QuestionCategory() { IconName = "Structural", IconLibrary = "https://example.com/images/img3.png" });
questionDbContext.QuestionCategories.Add(new Db.QuestionCategory() { IconName = "Utility", IconLibrary = "https://example.com/images/img4.png" }); questionDbContext.QuestionCategories.Add(new Db.QuestionCategory() { IconName = "Utility", IconLibrary = "https://example.com/images/img4.png" });
@ -65,7 +44,6 @@ namespace DamageAssesment.Api.Questions.Providers
if (!questionDbContext.CategoryTranslations.Any()) if (!questionDbContext.CategoryTranslations.Any())
{ {
questionDbContext.CategoryTranslations.Add(new Db.CategoryTranslation() { CategoryId = 1, Title = "Flooding", Language = "en" }); questionDbContext.CategoryTranslations.Add(new Db.CategoryTranslation() { CategoryId = 1, Title = "Flooding", Language = "en" });
questionDbContext.CategoryTranslations.Add(new Db.CategoryTranslation() { CategoryId = 2, Title = "Electrical", Language = "en" }); questionDbContext.CategoryTranslations.Add(new Db.CategoryTranslation() { CategoryId = 2, Title = "Electrical", Language = "en" });
questionDbContext.CategoryTranslations.Add(new Db.CategoryTranslation() { CategoryId = 3, Title = "Structural", Language = "en" }); questionDbContext.CategoryTranslations.Add(new Db.CategoryTranslation() { CategoryId = 3, Title = "Structural", Language = "en" });
@ -83,6 +61,132 @@ namespace DamageAssesment.Api.Questions.Providers
questionDbContext.CategoryTranslations.Add(new Db.CategoryTranslation() { CategoryId = 5, Title = "Escombros", Language = "es" }); questionDbContext.CategoryTranslations.Add(new Db.CategoryTranslation() { CategoryId = 5, Title = "Escombros", Language = "es" });
questionDbContext.SaveChanges(); questionDbContext.SaveChanges();
} }
if (!questionDbContext.Questions.Any())
{
var question1 = new Db.Question() { QuestionTypeId = 1, SurveyId = 1, QuestionNumber = 1, IsRequired = true, Comment = false, Key = true, CategoryId = 1 };
var question2 = new Db.Question() { QuestionTypeId = 1, SurveyId = 1, QuestionNumber = 2, IsRequired = false, Comment = true, Key = false, CategoryId = 2 };
var question3 = new Db.Question() { QuestionTypeId = 1, SurveyId = 2, QuestionNumber = 1, IsRequired = true, Comment = false, Key = true, CategoryId = 1 };
var question4 = new Db.Question() { QuestionTypeId = 1, SurveyId = 2, QuestionNumber = 2, IsRequired = false, Comment = true, Key = false, CategoryId = 2 };
var question5 = new Db.Question() { QuestionTypeId = 1, SurveyId = 3, QuestionNumber = 1, IsRequired = true, Comment = false, Key = true, CategoryId = 1 };
var question6 = new Db.Question() { QuestionTypeId = 1, SurveyId = 3, QuestionNumber = 2, IsRequired = false, Comment = true, Key = false, CategoryId = 2 };
var question7 = new Db.Question() { QuestionTypeId = 1, SurveyId = 3, QuestionNumber = 1, IsRequired = true, Comment = false, Key = true, CategoryId = 3};
var question8 = new Db.Question() { QuestionTypeId = 1, SurveyId = 3, QuestionNumber = 2, IsRequired = false, Comment = true, Key = false, CategoryId = 4 };
var question9 = new Db.Question() { QuestionTypeId = 1, SurveyId = 3, QuestionNumber = 1, IsRequired = true, Comment = true, Key = true, CategoryId = 5 };
var question10 = new Db.Question() { QuestionTypeId = 1, SurveyId = 3, QuestionNumber = 2, IsRequired = false, Comment = false, Key = true, CategoryId = 1 };
var question11 = new Db.Question() { QuestionTypeId = 1, SurveyId = 3, QuestionNumber = 1, IsRequired = true, Comment = false, Key = false, CategoryId = 2 };
var question12 = new Db.Question() { QuestionTypeId = 1, SurveyId = 3, QuestionNumber = 2, IsRequired = false, Comment = true, Key = true, CategoryId = 3 };
var question13 = new Db.Question() { QuestionTypeId = 1, SurveyId = 3, QuestionNumber = 1, IsRequired = true, Comment = false, Key = true, CategoryId = 4 };
var question14 = new Db.Question() { QuestionTypeId = 1, SurveyId = 3, QuestionNumber = 2, IsRequired = false, Comment = true, Key = false, CategoryId = 5 };
var question15 = new Db.Question() { QuestionTypeId = 1, SurveyId = 3, QuestionNumber = 1, IsRequired = true, Comment = false, Key = false, CategoryId = 1 };
var question16 = new Db.Question() { QuestionTypeId = 1, SurveyId = 3, QuestionNumber = 2, IsRequired = false, Comment = true, Key = true, CategoryId = 2 };
var question17 = new Db.Question() { QuestionTypeId = 1, SurveyId = 3, QuestionNumber = 1, IsRequired = true, Comment = false, Key = false, CategoryId = 3 };
var question18 = new Db.Question() { QuestionTypeId = 1, SurveyId = 3, QuestionNumber = 2, IsRequired = false, Comment = true, Key = false, CategoryId = 4 };
var question19 = new Db.Question() { QuestionTypeId = 1, SurveyId = 3, QuestionNumber = 1, IsRequired = true, Comment = false, Key = true, CategoryId = 5 };
var question20 = new Db.Question() { QuestionTypeId = 1, SurveyId = 3, QuestionNumber = 2, IsRequired = false, Comment = true, Key = false, CategoryId = 1 };
var question21 = new Db.Question() { QuestionTypeId = 1, SurveyId = 3, QuestionNumber = 1, IsRequired = true, Comment = false, Key = true, CategoryId = 2 };
var question22 = new Db.Question() { QuestionTypeId = 1, SurveyId = 3, QuestionNumber = 2, IsRequired = false, Comment = true, Key = true, CategoryId = 3 };
questionDbContext.Questions.Add(question1);
questionDbContext.Questions.Add(question2);
questionDbContext.Questions.Add(question3);
questionDbContext.Questions.Add(question4);
questionDbContext.Questions.Add(question5);
questionDbContext.Questions.Add(question6);
questionDbContext.Questions.Add(question7);
questionDbContext.Questions.Add(question8);
questionDbContext.Questions.Add(question9);
questionDbContext.Questions.Add(question10);
questionDbContext.Questions.Add(question11);
questionDbContext.Questions.Add(question12);
questionDbContext.Questions.Add(question13);
questionDbContext.Questions.Add(question14);
questionDbContext.Questions.Add(question15);
questionDbContext.Questions.Add(question16);
questionDbContext.Questions.Add(question17);
questionDbContext.Questions.Add(question18);
questionDbContext.Questions.Add(question19);
questionDbContext.Questions.Add(question20);
questionDbContext.Questions.Add(question21);
questionDbContext.Questions.Add(question22);
questionDbContext.SaveChanges();
}
if (!questionDbContext.QuestionsTranslations.Any())
{
questionDbContext.QuestionsTranslations.Add(new Db.QuestionsTranslation() { QuestionId = 1, QuestionText = "Can You Open ?", Language = "en" });
questionDbContext.QuestionsTranslations.Add(new Db.QuestionsTranslation() { QuestionId = 1, QuestionText = "Peux-tu ouvrir ?", Language = "fr" });
questionDbContext.QuestionsTranslations.Add(new Db.QuestionsTranslation() { QuestionId = 1, QuestionText = "Puedes abrir ?", Language = "es" });
questionDbContext.QuestionsTranslations.Add(new Db.QuestionsTranslation() { QuestionId = 2, QuestionText = "Are the grounds flooded ?", Language = "en" });
questionDbContext.QuestionsTranslations.Add(new Db.QuestionsTranslation() { QuestionId = 2, QuestionText = "Les terrains sont-ils inondés ?", Language = "fr" });
questionDbContext.QuestionsTranslations.Add(new Db.QuestionsTranslation() { QuestionId = 2, QuestionText = "¿Están inundados los terrenos?", Language = "es" });
questionDbContext.QuestionsTranslations.Add(new Db.QuestionsTranslation() { QuestionId = 3, QuestionText = "Is the access blocked by flooding ?", Language = "en" });
questionDbContext.QuestionsTranslations.Add(new Db.QuestionsTranslation() { QuestionId = 3, QuestionText = "L'accès est-il bloqué par les inondations ?", Language = "fr" });
questionDbContext.QuestionsTranslations.Add(new Db.QuestionsTranslation() { QuestionId = 3, QuestionText = "¿El acceso está bloqueado por inundaciones?", Language = "es" });
questionDbContext.QuestionsTranslations.Add(new Db.QuestionsTranslation() { QuestionId = 4, QuestionText = "Are the grounds flooded ?", Language = "en" });
questionDbContext.QuestionsTranslations.Add(new Db.QuestionsTranslation() { QuestionId = 4, QuestionText = "Les terrains sont-ils inondés ?", Language = "fr" });
questionDbContext.QuestionsTranslations.Add(new Db.QuestionsTranslation() { QuestionId = 4, QuestionText = "¿Están inundados los terrenos?", Language = "es" });
questionDbContext.QuestionsTranslations.Add(new Db.QuestionsTranslation() { QuestionId = 5, QuestionText = "Can you open?", Language = "en" });
questionDbContext.QuestionsTranslations.Add(new Db.QuestionsTranslation() { QuestionId = 6, QuestionText = "Is debris blocking access?", Language = "en" });
questionDbContext.QuestionsTranslations.Add(new Db.QuestionsTranslation() { QuestionId = 7, QuestionText = "Are the grounds flooded?", Language = "en" });
questionDbContext.QuestionsTranslations.Add(new Db.QuestionsTranslation() { QuestionId = 8, QuestionText = "Is the access blocked by flooding?", Language = "en" });
questionDbContext.QuestionsTranslations.Add(new Db.QuestionsTranslation() { QuestionId = 9, QuestionText = "Are any utility wires down?", Language = "en" });
questionDbContext.QuestionsTranslations.Add(new Db.QuestionsTranslation() { QuestionId = 10, QuestionText = "Do you have damage to windows, doors, or walls?", Language = "en" });
questionDbContext.QuestionsTranslations.Add(new Db.QuestionsTranslation() { QuestionId = 11, QuestionText = "Do you have roof damage?", Language = "en" });
questionDbContext.QuestionsTranslations.Add(new Db.QuestionsTranslation() { QuestionId = 12, QuestionText = "Do you have major water intrusion?", Language = "en" });
questionDbContext.QuestionsTranslations.Add(new Db.QuestionsTranslation() { QuestionId = 13, QuestionText = "Are any portable classrooms damaged and unusable?", Language = "en" });
questionDbContext.QuestionsTranslations.Add(new Db.QuestionsTranslation() { QuestionId = 14, QuestionText = "Does your facility need to be secured/boarded?", Language = "en" });
questionDbContext.QuestionsTranslations.Add(new Db.QuestionsTranslation() { QuestionId = 15, QuestionText = "Are you without commercial power?", Language = "en" });
questionDbContext.QuestionsTranslations.Add(new Db.QuestionsTranslation() { QuestionId = 16, QuestionText = "Are you without water pressure?", Language = "en" });
questionDbContext.QuestionsTranslations.Add(new Db.QuestionsTranslation() { QuestionId = 17, QuestionText = "Are you without telephones?", Language = "en" });
questionDbContext.QuestionsTranslations.Add(new Db.QuestionsTranslation() { QuestionId = 18, QuestionText = "Are traffic signals damaged/missing?", Language = "en" });
questionDbContext.QuestionsTranslations.Add(new Db.QuestionsTranslation() { QuestionId = 19, QuestionText = "Are you without an operable fire alarm?", Language = "en" });
questionDbContext.QuestionsTranslations.Add(new Db.QuestionsTranslation() { QuestionId = 20, QuestionText = "Are you without an operable public address?", Language = "en" });
questionDbContext.QuestionsTranslations.Add(new Db.QuestionsTranslation() { QuestionId = 21, QuestionText = "Do you have major debris?", Language = "en" });
questionDbContext.QuestionsTranslations.Add(new Db.QuestionsTranslation() { QuestionId = 22, QuestionText = "Are there any problems or issues not addressed above that would impede you from opening? If yes, please explain below?", Language = "en" });
questionDbContext.QuestionsTranslations.Add(new Db.QuestionsTranslation() { QuestionId = 5, QuestionText = "Pouvez-vous ouvrir ?", Language = "fr" });
questionDbContext.QuestionsTranslations.Add(new Db.QuestionsTranslation() { QuestionId = 6, QuestionText = "Est-ce que des débris bloquent l'accès ?", Language = "fr" });
questionDbContext.QuestionsTranslations.Add(new Db.QuestionsTranslation() { QuestionId = 7, QuestionText = "Les terrains sont-ils inondés ?", Language = "fr" });
questionDbContext.QuestionsTranslations.Add(new Db.QuestionsTranslation() { QuestionId = 8, QuestionText = "L'accès est-il bloqué par des inondations ?", Language = "fr" });
questionDbContext.QuestionsTranslations.Add(new Db.QuestionsTranslation() { QuestionId = 9, QuestionText = "Des câbles d'utilité sont-ils tombés ?", Language = "fr" });
questionDbContext.QuestionsTranslations.Add(new Db.QuestionsTranslation() { QuestionId = 10, QuestionText = "Avez-vous des dommages aux fenêtres, portes ou murs ?", Language = "fr" });
questionDbContext.QuestionsTranslations.Add(new Db.QuestionsTranslation() { QuestionId = 11, QuestionText = "Avez-vous des dommages au toit ?", Language = "fr" });
questionDbContext.QuestionsTranslations.Add(new Db.QuestionsTranslation() { QuestionId = 12, QuestionText = "Avez-vous une intrusion d'eau majeure ?", Language = "fr" });
questionDbContext.QuestionsTranslations.Add(new Db.QuestionsTranslation() { QuestionId = 13, QuestionText = "Les salles de classe portables sont-elles endommagées et inutilisables ?", Language = "fr" });
questionDbContext.QuestionsTranslations.Add(new Db.QuestionsTranslation() { QuestionId = 14, QuestionText = "Votre établissement a-t-il besoin d'être sécurisé/protégé ?", Language = "fr" });
questionDbContext.QuestionsTranslations.Add(new Db.QuestionsTranslation() { QuestionId = 15, QuestionText = "Êtes-vous sans alimentation électrique commerciale ?", Language = "fr" });
questionDbContext.QuestionsTranslations.Add(new Db.QuestionsTranslation() { QuestionId = 16, QuestionText = "Êtes-vous sans pression d'eau ?", Language = "fr" });
questionDbContext.QuestionsTranslations.Add(new Db.QuestionsTranslation() { QuestionId = 17, QuestionText = "Êtes-vous sans téléphones ?", Language = "fr" });
questionDbContext.QuestionsTranslations.Add(new Db.QuestionsTranslation() { QuestionId = 18, QuestionText = "Les feux de circulation sont-ils endommagés/absents ?", Language = "fr" });
questionDbContext.QuestionsTranslations.Add(new Db.QuestionsTranslation() { QuestionId = 19, QuestionText = "N'avez-vous pas d'alarme incendie fonctionnelle ?", Language = "fr" });
questionDbContext.QuestionsTranslations.Add(new Db.QuestionsTranslation() { QuestionId = 20, QuestionText = "N'avez-vous pas de système de sonorisation opérationnel ?", Language = "fr" });
questionDbContext.QuestionsTranslations.Add(new Db.QuestionsTranslation() { QuestionId = 21, QuestionText = "Avez-vous une grande quantité de débris ?", Language = "fr" });
questionDbContext.QuestionsTranslations.Add(new Db.QuestionsTranslation() { QuestionId = 22, QuestionText = "Y a-t-il des problèmes ou des problèmes non abordés ci-dessus qui vous empêcheraient d'ouvrir ? Si oui, veuillez expliquer ci-dessous.", Language = "fr" });
questionDbContext.QuestionsTranslations.Add(new Db.QuestionsTranslation() { QuestionId = 5, QuestionText = "¿Puedes abrir ?", Language = "es" });
questionDbContext.QuestionsTranslations.Add(new Db.QuestionsTranslation() { QuestionId = 6, QuestionText = "¿Los escombros bloquean el acceso?", Language = "es" });
questionDbContext.QuestionsTranslations.Add(new Db.QuestionsTranslation() { QuestionId = 7, QuestionText = "¿Están inundados los terrenos?", Language = "es" });
questionDbContext.QuestionsTranslations.Add(new Db.QuestionsTranslation() { QuestionId = 8, QuestionText = "¿El acceso está bloqueado por inundaciones?", Language = "es" });
questionDbContext.QuestionsTranslations.Add(new Db.QuestionsTranslation() { QuestionId = 9, QuestionText = "¿Hay cables de utilidad caídos?", Language = "es" });
questionDbContext.QuestionsTranslations.Add(new Db.QuestionsTranslation() { QuestionId = 10, QuestionText = "¿Tienes daños en ventanas, puertas o paredes?", Language = "es" });
questionDbContext.QuestionsTranslations.Add(new Db.QuestionsTranslation() { QuestionId = 11, QuestionText = "¿Tienes daños en el techo?", Language = "es" });
questionDbContext.QuestionsTranslations.Add(new Db.QuestionsTranslation() { QuestionId = 12, QuestionText = "¿Tienes una gran intrusión de agua?", Language = "es" });
questionDbContext.QuestionsTranslations.Add(new Db.QuestionsTranslation() { QuestionId = 13, QuestionText = "¿Hay aulas portátiles dañadas e inutilizables?", Language = "es" });
questionDbContext.QuestionsTranslations.Add(new Db.QuestionsTranslation() { QuestionId = 14, QuestionText = "¿Tu instalación necesita ser asegurada/tabicada?", Language = "es" });
questionDbContext.QuestionsTranslations.Add(new Db.QuestionsTranslation() { QuestionId = 15, QuestionText = "¿No tienes energía comercial?", Language = "es" });
questionDbContext.QuestionsTranslations.Add(new Db.QuestionsTranslation() { QuestionId = 16, QuestionText = "¿No tienes presión de agua?", Language = "es" });
questionDbContext.QuestionsTranslations.Add(new Db.QuestionsTranslation() { QuestionId = 17, QuestionText = "¿No tienes teléfonos?", Language = "es" });
questionDbContext.QuestionsTranslations.Add(new Db.QuestionsTranslation() { QuestionId = 18, QuestionText = "¿Los semáforos están dañados/faltan?", Language = "es" });
questionDbContext.QuestionsTranslations.Add(new Db.QuestionsTranslation() { QuestionId = 19, QuestionText = "¿No tienes una alarma de incendios operativa?", Language = "es" });
questionDbContext.QuestionsTranslations.Add(new Db.QuestionsTranslation() { QuestionId = 20, QuestionText = "¿No tienes un sistema de megafonía operativo?", Language = "es" });
questionDbContext.QuestionsTranslations.Add(new Db.QuestionsTranslation() { QuestionId = 21, QuestionText = "¿Tienes una gran cantidad de escombros?", Language = "es" });
questionDbContext.QuestionsTranslations.Add(new Db.QuestionsTranslation() { QuestionId = 22, QuestionText = "¿Hay algún problema o asunto no abordado anteriormente que le impida abrir? Si es así, por favor explíquelo a continuación.", Language = "es" });
questionDbContext.SaveChanges();
}
} }
public List<Models.CategoryTranslation> GetCategoryTranslations(int id, string? language) public List<Models.CategoryTranslation> GetCategoryTranslations(int id, string? language)
@ -210,6 +314,7 @@ namespace DamageAssesment.Api.Questions.Providers
CategoryId = item.Id, CategoryId = item.Id,
IconLibrary = item.IconLibrary, IconLibrary = item.IconLibrary,
IconName = item.IconName, IconName = item.IconName,
CategoryNames= CreateCategoryMultiLanguageObject(GetCategoryTranslations(item.Id, language)),
QuestionsText = GetSurveyQuestion(mapper.Map<List<Db.Question>, List<Models.MultiLanguage>>(questions.Where(a => a.CategoryId == item.Id).ToList()), language) QuestionsText = GetSurveyQuestion(mapper.Map<List<Db.Question>, List<Models.MultiLanguage>>(questions.Where(a => a.CategoryId == item.Id).ToList()), language)
}); });
} }

View File

@ -1,8 +0,0 @@
{
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft.AspNetCore": "Warning"
}
}
}

View File

@ -1,9 +1,9 @@
 
using DamageAssesment.Api.SurveyResponses.Models; using DamageAssesment.Api.Responses.Models;
using System.Collections.Generic; using System.Collections.Generic;
using System.Text; using System.Text;
namespace DamageAssesment.Api.SurveyResponses.Test namespace DamageAssesment.Api.Responses.Test
{ {
public class MockData public class MockData
{ {

View File

@ -1,7 +1,7 @@
using DamageAssesment.Api.SurveyResponses.Controllers; using DamageAssesment.Api.Responses.Controllers;
using DamageAssesment.Api.SurveyResponses.Interfaces; using DamageAssesment.Api.Responses.Interfaces;
using DamageAssesment.Api.SurveyResponses.Models; using DamageAssesment.Api.Responses.Models;
using DamageAssesment.Api.SurveyResponses.Test; using DamageAssesment.Api.Responses.Test;
using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc;
using Moq; using Moq;
using Xunit; using Xunit;
@ -17,7 +17,7 @@ namespace DamageAssesment.SurveyResponses.Test
mockSurveyResponseService = new Mock<ISurveysResponse>(); mockSurveyResponseService = new Mock<ISurveysResponse>();
} }
[Fact(DisplayName = "Get SurveyResponses - Ok case")] [Fact(DisplayName = "Get Responses - Ok case")]
public async Task GetSurveyResponsesAsync_ShouldReturnStatusCode200() public async Task GetSurveyResponsesAsync_ShouldReturnStatusCode200()
{ {
SurveyResponse mockRequestObject = await MockData.getSurveyResponseObject(); SurveyResponse mockRequestObject = await MockData.getSurveyResponseObject();
@ -28,7 +28,7 @@ namespace DamageAssesment.SurveyResponses.Test
Assert.Equal(200, result.StatusCode); Assert.Equal(200, result.StatusCode);
} }
[Fact(DisplayName = "Get SurveyResponses - BadRequest case")] [Fact(DisplayName = "Get Responses - BadRequest case")]
public async Task GetSurveyResponsesAsync_ShouldReturnStatusCode204() public async Task GetSurveyResponsesAsync_ShouldReturnStatusCode204()
{ {
var mockResponse = await MockData.getResponse(); var mockResponse = await MockData.getResponse();
@ -38,7 +38,7 @@ namespace DamageAssesment.SurveyResponses.Test
Assert.Equal(400, result.StatusCode); Assert.Equal(400, result.StatusCode);
} }
[Fact(DisplayName = "Get SurveyResponses by surveyId - Ok case")] [Fact(DisplayName = "Get Responses by surveyId - Ok case")]
public async Task GetSurveyResponsesBySurveyAsync_ShouldReturnStatusCode200() public async Task GetSurveyResponsesBySurveyAsync_ShouldReturnStatusCode200()
{ {
SurveyResponse mockRequestObject = await MockData.getSurveyResponseObject(); SurveyResponse mockRequestObject = await MockData.getSurveyResponseObject();
@ -49,7 +49,7 @@ namespace DamageAssesment.SurveyResponses.Test
Assert.Equal(200, result.StatusCode); Assert.Equal(200, result.StatusCode);
} }
[Fact(DisplayName = "Get SurveyResponses by surveyId - NoContent case")] [Fact(DisplayName = "Get Responses by surveyId - NoContent case")]
public async Task GetSurveyResponsesBySurveyAsync_ShouldReturnStatusCode204() public async Task GetSurveyResponsesBySurveyAsync_ShouldReturnStatusCode204()
{ {
var mockResponse = await MockData.getResponse(); var mockResponse = await MockData.getResponse();
@ -62,7 +62,7 @@ namespace DamageAssesment.SurveyResponses.Test
[Fact(DisplayName = "Get SurveyResponses by surveyId and locationId - Ok case")] [Fact(DisplayName = "Get Responses by surveyId and locationId - Ok case")]
public async Task GetSurveyResponsesBySurveyLocationAsync_ShouldReturnStatusCode200() public async Task GetSurveyResponsesBySurveyLocationAsync_ShouldReturnStatusCode200()
{ {
SurveyResponse mockRequestObject = await MockData.getSurveyResponseObject(); SurveyResponse mockRequestObject = await MockData.getSurveyResponseObject();
@ -73,7 +73,7 @@ namespace DamageAssesment.SurveyResponses.Test
Assert.Equal(200, result.StatusCode); Assert.Equal(200, result.StatusCode);
} }
[Fact(DisplayName = "Get SurveyResponses by surveyId and locationId - NoContent case")] [Fact(DisplayName = "Get Responses by surveyId and locationId - NoContent case")]
public async Task GetSurveyResponsesBySurveyLocationAsync_ShouldReturnStatusCode204() public async Task GetSurveyResponsesBySurveyLocationAsync_ShouldReturnStatusCode204()
{ {
var mockResponse = await MockData.getResponse(); var mockResponse = await MockData.getResponse();
@ -83,7 +83,7 @@ namespace DamageAssesment.SurveyResponses.Test
Assert.Equal(204, result.StatusCode); Assert.Equal(204, result.StatusCode);
} }
[Fact(DisplayName = "Get SurveyResponses by surveyId and QuestionId and Answer - Ok case")] [Fact(DisplayName = "Get Responses by surveyId and QuestionId and Answer - Ok case")]
public async Task GetSurveyResponsesBySurveyQuestionAnswerAsync_ShouldReturnStatusCode200() public async Task GetSurveyResponsesBySurveyQuestionAnswerAsync_ShouldReturnStatusCode200()
{ {
SurveyResponse mockRequestObject = await MockData.getSurveyResponseObject(); SurveyResponse mockRequestObject = await MockData.getSurveyResponseObject();
@ -94,7 +94,7 @@ namespace DamageAssesment.SurveyResponses.Test
Assert.Equal(200, result.StatusCode); Assert.Equal(200, result.StatusCode);
} }
[Fact(DisplayName = "Get SurveyResponses by surveyId and QuestionId and Answer - NoContent case")] [Fact(DisplayName = "Get Responses by surveyId and QuestionId and Answer - NoContent case")]
public async Task GetSurveyResponsesBySurveyQuestionAnswerAsync_ShouldReturnStatusCode204() public async Task GetSurveyResponsesBySurveyQuestionAnswerAsync_ShouldReturnStatusCode204()
{ {
var mockResponse = await MockData.getResponse(); var mockResponse = await MockData.getResponse();
@ -105,7 +105,7 @@ namespace DamageAssesment.SurveyResponses.Test
} }
[Fact(DisplayName = "Get SurveyResponses by region and surveyId - Ok case")] [Fact(DisplayName = "Get Responses by region and surveyId - Ok case")]
public async Task GetSurveyResponsesByRegionSurveyAsync_ShouldReturnStatusCode200() public async Task GetSurveyResponsesByRegionSurveyAsync_ShouldReturnStatusCode200()
{ {
SurveyResponse mockRequestObject = await MockData.getSurveyResponseObject(); SurveyResponse mockRequestObject = await MockData.getSurveyResponseObject();
@ -116,7 +116,7 @@ namespace DamageAssesment.SurveyResponses.Test
Assert.Equal(200, result.StatusCode); Assert.Equal(200, result.StatusCode);
} }
[Fact(DisplayName = "Get SurveyResponses by region and surveyId - NoContent Case")] [Fact(DisplayName = "Get Responses by region and surveyId - NoContent Case")]
public async Task GetSurveyResponsesByRegionSurveyAsync_ShouldReturnStatusCode204() public async Task GetSurveyResponsesByRegionSurveyAsync_ShouldReturnStatusCode204()
{ {
var mockResponse = await MockData.getResponse(); var mockResponse = await MockData.getResponse();
@ -126,7 +126,7 @@ namespace DamageAssesment.SurveyResponses.Test
Assert.Equal(204, result.StatusCode); Assert.Equal(204, result.StatusCode);
} }
[Fact(DisplayName = "Get SurveyResponses by maintenanceCenter and surveyId - Ok case")] [Fact(DisplayName = "Get Responses by maintenanceCenter and surveyId - Ok case")]
public async Task GetSurveyResponsesMaintenanceCenterSurveyAsync_ShouldReturnStatusCode200() public async Task GetSurveyResponsesMaintenanceCenterSurveyAsync_ShouldReturnStatusCode200()
{ {
SurveyResponse mockRequestObject = await MockData.getSurveyResponseObject(); SurveyResponse mockRequestObject = await MockData.getSurveyResponseObject();
@ -137,7 +137,7 @@ namespace DamageAssesment.SurveyResponses.Test
Assert.Equal(200, result.StatusCode); Assert.Equal(200, result.StatusCode);
} }
[Fact(DisplayName = "Get SurveyResponses by maintenanceCenter and surveyId - No Content Case")] [Fact(DisplayName = "Get Responses by maintenanceCenter and surveyId - No Content Case")]
public async Task GetSurveyResponsesMaintenanceCenterSurveyAsync_ShouldReturnStatusCode204() public async Task GetSurveyResponsesMaintenanceCenterSurveyAsync_ShouldReturnStatusCode204()
{ {
var mockResponse = await MockData.getResponse(); var mockResponse = await MockData.getResponse();
@ -158,7 +158,7 @@ namespace DamageAssesment.SurveyResponses.Test
Assert.Equal(200, result.StatusCode); Assert.Equal(200, result.StatusCode);
} }
[Fact(DisplayName = "Get SurveyResponses by maintenanceCenter and surveyId - NoContent Case")] [Fact(DisplayName = "Get Responses by maintenanceCenter and surveyId - NoContent Case")]
public async Task GetSurveyResponsesByResponseIdyAsync_ShouldReturnStatusCode204() public async Task GetSurveyResponsesByResponseIdyAsync_ShouldReturnStatusCode204()
{ {
var mockResponse = await MockData.getResponse(); var mockResponse = await MockData.getResponse();
@ -169,7 +169,7 @@ namespace DamageAssesment.SurveyResponses.Test
} }
[Fact(DisplayName = "Post SurveyResponses - Ok case")] [Fact(DisplayName = "Post Responses - Ok case")]
public async Task PostSurveyAsync_ShouldReturnStatusCode200() public async Task PostSurveyAsync_ShouldReturnStatusCode200()
{ {
SurveyResponse mockRequestObject = await MockData.getSurveyResponseObject(); SurveyResponse mockRequestObject = await MockData.getSurveyResponseObject();
@ -180,7 +180,7 @@ namespace DamageAssesment.SurveyResponses.Test
Assert.Equal(200, result.StatusCode); Assert.Equal(200, result.StatusCode);
} }
[Fact(DisplayName = "Post SurveyResponses - BadRequest case")] [Fact(DisplayName = "Post Responses - BadRequest case")]
public async Task PostSurveyAsync_ShouldReturnStatusCode400() public async Task PostSurveyAsync_ShouldReturnStatusCode400()
{ {
SurveyResponse mockRequestObject = await MockData.getSurveyResponseObject(); SurveyResponse mockRequestObject = await MockData.getSurveyResponseObject();
@ -191,7 +191,7 @@ namespace DamageAssesment.SurveyResponses.Test
Assert.Equal(400, result.StatusCode); Assert.Equal(400, result.StatusCode);
} }
[Fact(DisplayName = "Put SurveyResponses - Ok case")] [Fact(DisplayName = "Put Responses - Ok case")]
public async Task PutSurveyAsync_ShouldReturnStatusCode200() public async Task PutSurveyAsync_ShouldReturnStatusCode200()
{ {
SurveyResponse mockRequestObject = await MockData.getSurveyResponseObject(); SurveyResponse mockRequestObject = await MockData.getSurveyResponseObject();
@ -202,7 +202,7 @@ namespace DamageAssesment.SurveyResponses.Test
Assert.Equal(200, result.StatusCode); Assert.Equal(200, result.StatusCode);
} }
[Fact(DisplayName = "Put SurveyResponses - BadRequest case")] [Fact(DisplayName = "Put Responses - BadRequest case")]
public async Task PutSurveyAsync_ShouldReturnStatusCode404() public async Task PutSurveyAsync_ShouldReturnStatusCode404()
{ {
SurveyResponse mockRequestObject = await MockData.getSurveyResponseObject(); SurveyResponse mockRequestObject = await MockData.getSurveyResponseObject();
@ -213,7 +213,7 @@ namespace DamageAssesment.SurveyResponses.Test
Assert.Equal(400, result.StatusCode); Assert.Equal(400, result.StatusCode);
} }
[Fact(DisplayName = "Delete SurveyResponses - Ok case")] [Fact(DisplayName = "Delete Responses - Ok case")]
public async Task DeleteSurveyAsync_ShouldReturnStatusCode200() public async Task DeleteSurveyAsync_ShouldReturnStatusCode200()
{ {
SurveyResponse mockRequestObject = await MockData.getSurveyResponseObject(); SurveyResponse mockRequestObject = await MockData.getSurveyResponseObject();
@ -224,7 +224,7 @@ namespace DamageAssesment.SurveyResponses.Test
Assert.Equal(200, result.StatusCode); Assert.Equal(200, result.StatusCode);
} }
[Fact(DisplayName = "Delete SurveyResponses - NotFound case")] [Fact(DisplayName = "Delete Responses - NotFound case")]
public async Task DeleteSurveyAsync_ShouldReturnStatusCode404() public async Task DeleteSurveyAsync_ShouldReturnStatusCode404()
{ {
var mockResponse = await MockData.getResponse(); var mockResponse = await MockData.getResponse();

View File

@ -1,8 +1,8 @@
using DamageAssesment.Api.SurveyResponses.Interfaces; using DamageAssesment.Api.Responses.Interfaces;
using DamageAssesment.Api.SurveyResponses.Models; using DamageAssesment.Api.Responses.Models;
using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc;
namespace DamageAssesment.Api.SurveyResponses.Controllers namespace DamageAssesment.Api.Responses.Controllers
{ {
[ApiController] [ApiController]
public class SurveyResponsesController : ControllerBase public class SurveyResponsesController : ControllerBase

View File

@ -1,8 +1,9 @@
using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema; using System.ComponentModel.DataAnnotations.Schema;
namespace DamageAssesment.Api.SurveyResponses.Db namespace DamageAssesment.Api.Responses.Db
{ {
[Table("SurveyResponses")]
public class SurveyResponse public class SurveyResponse
{ {
[Key] [Key]

View File

@ -1,6 +1,6 @@
using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore;
namespace DamageAssesment.Api.SurveyResponses.Db namespace DamageAssesment.Api.Responses.Db
{ {
public class SurveyResponseDbContext:DbContext public class SurveyResponseDbContext:DbContext
{ {

View File

@ -1,6 +1,6 @@
using DamageAssesment.Api.SurveyResponses.Models; using DamageAssesment.Api.Responses.Models;
namespace DamageAssesment.Api.SurveyResponses.Interfaces namespace DamageAssesment.Api.Responses.Interfaces
{ {
public interface IAnswerServiceProvider public interface IAnswerServiceProvider
{ {

View File

@ -1,6 +1,6 @@
using DamageAssesment.Api.SurveyResponses.Models; using DamageAssesment.Api.Responses.Models;
namespace DamageAssesment.Api.SurveyResponses.Interfaces namespace DamageAssesment.Api.Responses.Interfaces
{ {
public interface IAttachmentServiceProvider public interface IAttachmentServiceProvider
{ {

View File

@ -1,6 +1,6 @@
using DamageAssesment.Api.SurveyResponses.Models; using DamageAssesment.Api.Responses.Models;
namespace DamageAssesment.Api.SurveyResponses.Interfaces namespace DamageAssesment.Api.Responses.Interfaces
{ {
public interface IEmployeeServiceProvider public interface IEmployeeServiceProvider
{ {

View File

@ -1,6 +1,6 @@
using DamageAssesment.Api.SurveyResponses.Models; using DamageAssesment.Api.Responses.Models;
namespace DamageAssesment.Api.SurveyResponses.Interfaces namespace DamageAssesment.Api.Responses.Interfaces
{ {
public interface IHttpUtil public interface IHttpUtil
{ {

View File

@ -1,6 +1,6 @@
using DamageAssesment.Api.SurveyResponses.Models; using DamageAssesment.Api.Responses.Models;
namespace DamageAssesment.Api.SurveyResponses.Interfaces namespace DamageAssesment.Api.Responses.Interfaces
{ {
public interface ILocationServiceProvider public interface ILocationServiceProvider
{ {

View File

@ -1,6 +1,6 @@
using DamageAssesment.Api.SurveyResponses.Models; using DamageAssesment.Api.Responses.Models;
namespace DamageAssesment.Api.SurveyResponses.Interfaces namespace DamageAssesment.Api.Responses.Interfaces
{ {
public interface IQuestionServiceProvider public interface IQuestionServiceProvider
{ {

View File

@ -1,6 +1,6 @@
using DamageAssesment.Api.SurveyResponses.Models; using DamageAssesment.Api.Responses.Models;
namespace DamageAssesment.Api.SurveyResponses.Interfaces namespace DamageAssesment.Api.Responses.Interfaces
{ {
public interface IRegionServiceProvider public interface IRegionServiceProvider
{ {

View File

@ -1,6 +1,6 @@
using DamageAssesment.Api.SurveyResponses.Models; using DamageAssesment.Api.Responses.Models;
namespace DamageAssesment.Api.SurveyResponses.Interfaces namespace DamageAssesment.Api.Responses.Interfaces
{ {
public interface ISurveyServiceProvider public interface ISurveyServiceProvider
{ {

View File

@ -1,7 +1,7 @@
using DamageAssesment.Api.SurveyResponses.Models; using DamageAssesment.Api.Responses.Models;
using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc;
namespace DamageAssesment.Api.SurveyResponses.Interfaces namespace DamageAssesment.Api.Responses.Interfaces
{ {
public interface ISurveysResponse public interface ISurveysResponse
{ {

View File

@ -1,6 +1,6 @@
using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations;
namespace DamageAssesment.Api.SurveyResponses.Models namespace DamageAssesment.Api.Responses.Models
{ {
public class Answer public class Answer
{ {

View File

@ -1,4 +1,4 @@
namespace DamageAssesment.Api.SurveyResponses.Models namespace DamageAssesment.Api.Responses.Models
{ {
public class AnswerRequest public class AnswerRequest
{ {

View File

@ -1,6 +1,6 @@
using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations;
namespace DamageAssesment.Api.SurveyResponses.Models namespace DamageAssesment.Api.Responses.Models
{ {
public class Attachment public class Attachment
{ {

View File

@ -1,4 +1,4 @@
namespace DamageAssesment.Api.SurveyResponses.Models namespace DamageAssesment.Api.Responses.Models
{ {
public class AttachmentInfo public class AttachmentInfo
{ {

View File

@ -1,6 +1,6 @@
using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations;
namespace DamageAssesment.Api.SurveyResponses.Models namespace DamageAssesment.Api.Responses.Models
{ {
public class Employee public class Employee
{ {

View File

@ -1,4 +1,4 @@
namespace DamageAssesment.Api.SurveyResponses.Models namespace DamageAssesment.Api.Responses.Models
{ {
public class Location public class Location
{ {

View File

@ -1,6 +1,6 @@
using System.Collections.Generic; using System.Collections.Generic;
namespace DamageAssesment.Api.SurveyResponses.Models namespace DamageAssesment.Api.Responses.Models
{ {
public class Question public class Question
{ {

View File

@ -1,6 +1,6 @@
using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations;
namespace DamageAssesment.Api.SurveyResponses.Models namespace DamageAssesment.Api.Responses.Models
{ {
public class Region public class Region
{ {

View File

@ -1,4 +1,4 @@
namespace DamageAssesment.Api.SurveyResponses.Models namespace DamageAssesment.Api.Responses.Models
{ {
public class Request public class Request
{ {

View File

@ -1,6 +1,6 @@
using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations;
namespace DamageAssesment.Api.SurveyResponses.Models namespace DamageAssesment.Api.Responses.Models
{ {
public class Survey public class Survey
{ {

View File

@ -1,10 +1,11 @@
namespace DamageAssesment.Api.SurveyResponses.Models namespace DamageAssesment.Api.Responses.Models
{ {
public class SurveyQuestions public class SurveyQuestions
{ {
public int CategoryId { get; set; } public int CategoryId { get; set; }
public string CategoryName { get; set; } public string CategoryName { get; set; }
public string CategoryImage { get; set; } public string CategoryImage { get; set; }
public object CategoryNames { get; set; }
public List<Question> Questions { get; set; } public List<Question> Questions { get; set; }
} }
} }

View File

@ -1,7 +1,7 @@
using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema; using System.ComponentModel.DataAnnotations.Schema;
namespace DamageAssesment.Api.SurveyResponses.Models namespace DamageAssesment.Api.Responses.Models
{ {
public class SurveyResponse public class SurveyResponse
{ {

View File

@ -1,4 +1,4 @@
namespace DamageAssesment.Api.SurveyResponses.Models namespace DamageAssesment.Api.Responses.Models
{ {
public class SurveyTranslation public class SurveyTranslation
{ {

View File

@ -1,4 +1,4 @@
namespace DamageAssesment.Api.SurveyResponses.Profiles namespace DamageAssesment.Api.Responses.Profiles
{ {
public class SurveyResponsesProvider : AutoMapper.Profile public class SurveyResponsesProvider : AutoMapper.Profile
{ {

View File

@ -1,7 +1,7 @@
using DamageAssesment.Api.SurveyResponses.Db; using DamageAssesment.Api.Responses.Db;
using DamageAssesment.Api.SurveyResponses.Interfaces; using DamageAssesment.Api.Responses.Interfaces;
using DamageAssesment.Api.SurveyResponses.Services; using DamageAssesment.Api.Responses.Services;
using DamageAssesment.Api.SurveyResponses.Providers; using DamageAssesment.Api.Responses.Providers;
using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore;
using Polly; using Polly;
using System.Reflection; using System.Reflection;
@ -44,7 +44,7 @@ builder.Services.AddSwaggerGen(c =>
}); });
builder.Services.AddDbContext<SurveyResponseDbContext>(option => builder.Services.AddDbContext<SurveyResponseDbContext>(option =>
{ {
option.UseInMemoryDatabase("SurveyResponses"); option.UseInMemoryDatabase("Responses");
}); });
var app = builder.Build(); var app = builder.Build();

View File

@ -1,10 +1,10 @@
using AutoMapper; using AutoMapper;
using DamageAssesment.Api.SurveyResponses.Db; using DamageAssesment.Api.Responses.Db;
using DamageAssesment.Api.SurveyResponses.Interfaces; using DamageAssesment.Api.Responses.Interfaces;
using DamageAssesment.Api.SurveyResponses.Models; using DamageAssesment.Api.Responses.Models;
using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore;
namespace DamageAssesment.Api.SurveyResponses.Providers namespace DamageAssesment.Api.Responses.Providers
{ {
public class SurveyResponsesProvider : ISurveysResponse public class SurveyResponsesProvider : ISurveysResponse
{ {
@ -31,23 +31,24 @@ namespace DamageAssesment.Api.SurveyResponses.Providers
this.questionServiceProvider = questionServiceProvider; this.questionServiceProvider = questionServiceProvider;
this.surveyServiceProvider = surveyServiceProvider; this.surveyServiceProvider = surveyServiceProvider;
this.mapper = mapper; this.mapper = mapper;
seedData(); SeedData();
} }
private void seedData() public void SeedData()
{ {
// Check if SurveyResponses exist, if not, seed data
if (!surveyResponseDbContext.SurveyResponses.Any()) if (!surveyResponseDbContext.SurveyResponses.Any())
{ {
// Create and save SurveyResponse records with references to existing Employee and Location records
surveyResponseDbContext.SurveyResponses.Add(new Db.SurveyResponse { SurveyId = 1, EmployeeId = 1, LocationId = 1, ClientDevice = "Mobile", Latitude = 98.8767, Longitute = -129.9897, KeyAnswerResult = "true", CreatedDate = DateTime.Now }); surveyResponseDbContext.SurveyResponses.Add(new Db.SurveyResponse { SurveyId = 1, EmployeeId = 1, LocationId = 1, ClientDevice = "Mobile", Latitude = 98.8767, Longitute = -129.9897, KeyAnswerResult = "true", CreatedDate = DateTime.Now });
surveyResponseDbContext.SurveyResponses.Add(new Db.SurveyResponse { SurveyId = 1, EmployeeId = 2, LocationId = 2, ClientDevice = "Desktop", Latitude = 98.8767, Longitute = -129.9897, KeyAnswerResult = "true", CreatedDate = DateTime.Now }); surveyResponseDbContext.SurveyResponses.Add(new Db.SurveyResponse { SurveyId = 1, EmployeeId = 2, LocationId = 2, ClientDevice = "Mobile", Latitude = 98.8767, Longitute = -129.9897, KeyAnswerResult = "true", CreatedDate = DateTime.Now });
//surveyResponseDbContext.SurveyResponses.Add(new Db.SurveyResponse { Id = 3, SurveyId = 3, EmployeeId = 4, LocationId = 1, ClientDevice = "Mobile", Latitude = 98.8767, Longitute = -129.9897, KeyAnswerResult = "true", CreatedDate = DateTime.Now });
//surveyResponseDbContext.SurveyResponses.Add(new Db.SurveyResponse { Id = 4, SurveyId = 4, EmployeeId = 1, LocationId = 2, ClientDevice = "Desktop", Latitude = 98.8767, Longitute = -129.9897, KeyAnswerResult = "false", CreatedDate = DateTime.Now });
//surveyResponseDbContext.SurveyResponses.Add(new Db.SurveyResponse { Id = 6, SurveyId = 1, EmployeeId = 4, LocationId = 2, ClientDevice = "Desktop", Latitude = 98.8767, Longitute = -129.9897, KeyAnswerResult = "true", CreatedDate = DateTime.Now });
//surveyResponseDbContext.SurveyResponses.Add(new Db.SurveyResponse { Id = 7, SurveyId = 1, EmployeeId = 4, LocationId = 3, ClientDevice = "Desktop", Latitude = 98.8767, Longitute = -129.9897, KeyAnswerResult = "false", CreatedDate = DateTime.Now });
surveyResponseDbContext.SaveChanges(); surveyResponseDbContext.SaveChanges();
} }
} }
public async Task<(bool IsSuccess, dynamic Answers, string ErrorMessage)> GetAnswersByRegionAsync(int surveyId, int employeeid) public async Task<(bool IsSuccess, dynamic Answers, string ErrorMessage)> GetAnswersByRegionAsync(int surveyId, int employeeid)
{ {
try try
@ -851,7 +852,7 @@ namespace DamageAssesment.Api.SurveyResponses.Providers
} }
} }
//var surveyResponses = await surveyResponseDbContext.SurveyResponses.Where(x => x.SurveyId == survey.Id).ToListAsync(); //var surveyResponses = await surveyResponseDbContext.Responses.Where(x => x.SurveyId == survey.Id).ToListAsync();
// var employees = await employeeServiceProvider.getEmployeesAsync(); // var employees = await employeeServiceProvider.getEmployeesAsync();
var answers = await answerServiceProvider.getAnswersAsync(); var answers = await answerServiceProvider.getAnswersAsync();
var attachments = await attachmentServiceProvider.getAttachmentsAsync(); var attachments = await attachmentServiceProvider.getAttachmentsAsync();

View File

@ -1,9 +1,9 @@
using DamageAssesment.Api.SurveyResponses.Interfaces; using DamageAssesment.Api.Responses.Interfaces;
using DamageAssesment.Api.SurveyResponses.Models; using DamageAssesment.Api.Responses.Models;
using Newtonsoft.Json; using Newtonsoft.Json;
namespace DamageAssesment.Api.SurveyResponses.Services namespace DamageAssesment.Api.Responses.Services
{ {
public class AnswerServiceProvider : ServiceProviderBase, IAnswerServiceProvider public class AnswerServiceProvider : ServiceProviderBase, IAnswerServiceProvider
{ {

View File

@ -1,8 +1,8 @@
using DamageAssesment.Api.SurveyResponses.Interfaces; using DamageAssesment.Api.Responses.Interfaces;
using DamageAssesment.Api.SurveyResponses.Models; using DamageAssesment.Api.Responses.Models;
using Newtonsoft.Json; using Newtonsoft.Json;
namespace DamageAssesment.Api.SurveyResponses.Services namespace DamageAssesment.Api.Responses.Services
{ {
public class AttachmentServiceProvider : ServiceProviderBase, IAttachmentServiceProvider public class AttachmentServiceProvider : ServiceProviderBase, IAttachmentServiceProvider
{ {

View File

@ -1,9 +1,9 @@
using DamageAssesment.Api.SurveyResponses.Interfaces; using DamageAssesment.Api.Responses.Interfaces;
using DamageAssesment.Api.SurveyResponses.Models; using DamageAssesment.Api.Responses.Models;
using Microsoft.AspNetCore.Mvc.Routing; using Microsoft.AspNetCore.Mvc.Routing;
using Newtonsoft.Json; using Newtonsoft.Json;
namespace DamageAssesment.Api.SurveyResponses.Services namespace DamageAssesment.Api.Responses.Services
{ {
public class EmployeeServiceProvider : ServiceProviderBase, IEmployeeServiceProvider public class EmployeeServiceProvider : ServiceProviderBase, IEmployeeServiceProvider
{ {

View File

@ -1,8 +1,8 @@
using DamageAssesment.Api.SurveyResponses.Interfaces; using DamageAssesment.Api.Responses.Interfaces;
using System.Net.Http.Headers; using System.Net.Http.Headers;
using System.Text; using System.Text;
namespace DamageAssesment.Api.SurveyResponses.Services namespace DamageAssesment.Api.Responses.Services
{ {
public class HttpUtil : IHttpUtil public class HttpUtil : IHttpUtil
{ {

View File

@ -1,8 +1,8 @@
using DamageAssesment.Api.SurveyResponses.Interfaces; using DamageAssesment.Api.Responses.Interfaces;
using DamageAssesment.Api.SurveyResponses.Models; using DamageAssesment.Api.Responses.Models;
using Newtonsoft.Json; using Newtonsoft.Json;
namespace DamageAssesment.Api.SurveyResponses.Services namespace DamageAssesment.Api.Responses.Services
{ {
public class LocationServiceProvider :ServiceProviderBase, ILocationServiceProvider public class LocationServiceProvider :ServiceProviderBase, ILocationServiceProvider
{ {

View File

@ -1,8 +1,8 @@
using DamageAssesment.Api.SurveyResponses.Interfaces; using DamageAssesment.Api.Responses.Interfaces;
using DamageAssesment.Api.SurveyResponses.Models; using DamageAssesment.Api.Responses.Models;
using Newtonsoft.Json; using Newtonsoft.Json;
namespace DamageAssesment.Api.SurveyResponses.Services namespace DamageAssesment.Api.Responses.Services
{ {
public class QuestionServiceProvider : ServiceProviderBase, IQuestionServiceProvider public class QuestionServiceProvider : ServiceProviderBase, IQuestionServiceProvider
{ {

View File

@ -1,8 +1,8 @@
using DamageAssesment.Api.SurveyResponses.Interfaces; using DamageAssesment.Api.Responses.Interfaces;
using DamageAssesment.Api.SurveyResponses.Models; using DamageAssesment.Api.Responses.Models;
using Newtonsoft.Json; using Newtonsoft.Json;
namespace DamageAssesment.Api.SurveyResponses.Services namespace DamageAssesment.Api.Responses.Services
{ {
public class RegionServiceProvider : ServiceProviderBase, IRegionServiceProvider public class RegionServiceProvider : ServiceProviderBase, IRegionServiceProvider
{ {

View File

@ -1,6 +1,6 @@
using DamageAssesment.Api.SurveyResponses.Interfaces; using DamageAssesment.Api.Responses.Interfaces;
namespace DamageAssesment.Api.SurveyResponses.Services namespace DamageAssesment.Api.Responses.Services
{ {
public class ServiceProviderBase public class ServiceProviderBase
{ {

View File

@ -1,8 +1,8 @@
using DamageAssesment.Api.SurveyResponses.Interfaces; using DamageAssesment.Api.Responses.Interfaces;
using DamageAssesment.Api.SurveyResponses.Models; using DamageAssesment.Api.Responses.Models;
using Newtonsoft.Json; using Newtonsoft.Json;
namespace DamageAssesment.Api.SurveyResponses.Services namespace DamageAssesment.Api.Responses.Services
{ {
public class SurveyServiceProvider : ServiceProviderBase, ISurveyServiceProvider public class SurveyServiceProvider : ServiceProviderBase, ISurveyServiceProvider
{ {

View File

@ -1,32 +0,0 @@
{
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft.AspNetCore": "Warning"
},
"EndPointSettings": {
"AnswerUrlBase": "http://localhost:5200",
"LocationUrlBase": "http://localhost:5213",
"RegionUrlBase": "http://localhost:5211",
"QuestionUrlBase": "http://localhost:5133",
"EmployeeUrlBase": "http://localhost:5135",
"AttachmentUrlBase": "http://localhost:5243",
"SurveyUrlBase": "http://localhost:5009"
},
"RessourceSettings": {
"Employee": "/Employees",
"EmployeeById": "/Employees/{0}",
"Question": "/Questions",
"QuestionById": "/Questions/{0}",
"SurveyQuestion": "/Questions/BySurvey/{0}",
"Survey": "/Surveys",
"SurveyById": "/Surveys/{0}",
"Attachment": "/Attachments",
"Answer": "/Answers",
"AnswerByResponse": "/Answers/ByResponse/{0}",
"Location": "/Locations",
"Region": "/Regions"
}
}
}

View File

@ -1,5 +0,0 @@
{
"ConnectionStrings": {
"DefaultConnection": "Server=(localdb)\\MSSQLLocalDB;Database=_CHANGE_ME;Trusted_Connection=True;MultipleActiveResultSets=true"
}
}

View File

@ -1,5 +0,0 @@
{
"ConnectionStrings": {
"DefaultConnection": "Server=(localdb)\\MSSQLLocalDB;Database=_CHANGE_ME;Trusted_Connection=True;MultipleActiveResultSets=true"
}
}

View File

@ -3,6 +3,7 @@ using System.ComponentModel.DataAnnotations.Schema;
namespace DamageAssesment.Api.Surveys.Db namespace DamageAssesment.Api.Surveys.Db
{ {
[Table("Surveys")]
public class Survey public class Survey
{ {
[Key] [Key]

View File

@ -3,6 +3,7 @@ using System.ComponentModel.DataAnnotations;
namespace DamageAssesment.Api.Surveys.Db namespace DamageAssesment.Api.Surveys.Db
{ {
[Table("SurveyTrans")]
public class SurveyTranslation public class SurveyTranslation
{ {
[Key] [Key]

View File

@ -18,38 +18,44 @@ namespace DamageAssesment.Api.Surveys.Providers
this.surveyDbContext = surveysDbContext; this.surveyDbContext = surveysDbContext;
this.logger = logger; this.logger = logger;
this.mapper = mapper; this.mapper = mapper;
seedData(); //seedData();
} }
// Method to seed initial data into the database
public void seedData() public void seedData()
{ {
if (!surveyDbContext.Surveys.Any()) if (!surveyDbContext.Surveys.Any())
{ {
surveyDbContext.Surveys.Add(new Db.Survey {IsEnabled = true, StartDate = DateTime.Now, EndDate = DateTime.Now.AddDays(90), CreatedDate = DateTime.Now }); var survey1 = new Db.Survey { IsEnabled = true, StartDate = DateTime.Now, EndDate = DateTime.Now.AddDays(90), CreatedDate = DateTime.Now };
//surveyDbContext.Surveys.Add(new Db.Survey { Id = 2, IsEnabled = true, StartDate = DateTime.Now, EndDate = DateTime.Now.AddDays(90), CreatedDate = DateTime.Now }); var survey2 = new Db.Survey { IsEnabled = true, StartDate = DateTime.Now, EndDate = DateTime.Now.AddDays(90), CreatedDate = DateTime.Now };
//surveyDbContext.Surveys.Add(new Db.Survey { Id = 3, IsEnabled = true, StartDate = DateTime.Now, EndDate = DateTime.Now.AddDays(90), CreatedDate = DateTime.Now }); var survey3 = new Db.Survey { IsEnabled = true, StartDate = DateTime.Now, EndDate = DateTime.Now.AddDays(90), CreatedDate = DateTime.Now };
surveyDbContext.SaveChangesAsync();
}
if (!surveyDbContext.SurveysTranslation.Any()) surveyDbContext.Surveys.Add(survey1);
{ surveyDbContext.Surveys.Add(survey2);
surveyDbContext.SurveysTranslation.Add(new Db.SurveyTranslation { SurveyId = 1, Language = "en", Title = "Impact of Tropical Storm Emily on Florida's Economy" }); surveyDbContext.Surveys.Add(survey3);
surveyDbContext.SurveysTranslation.Add(new Db.SurveyTranslation { SurveyId = 1, Language = "es", Title = "Impacto de la tormenta tropical Emily en la economía de Florida" }); surveyDbContext.SaveChanges();
surveyDbContext.SurveysTranslation.Add(new Db.SurveyTranslation { SurveyId = 1, Language = "fr", Title = "Impact de la tempête tropicale Emily sur l'économie de la Floride" });
//surveyDbContext.SurveysTranslation.Add(new Db.SurveyTranslation { Id = 4, SurveyId = 2, Language = "en", Title = "Hurricane Andrew Aftermath Survey" }); if (!surveyDbContext.SurveysTranslation.Any())
//surveyDbContext.SurveysTranslation.Add(new Db.SurveyTranslation { Id = 5, SurveyId = 2, Language = "es", Title = "Encuesta sobre las secuelas del huracán Andrew" }); {
//surveyDbContext.SurveysTranslation.Add(new Db.SurveyTranslation { Id = 6, SurveyId = 2, Language = "fr", Title = "Enquête sur les conséquences de l'ouragan Andrew" }); surveyDbContext.SurveysTranslation.Add(new Db.SurveyTranslation { SurveyId = survey1.Id, Language = "en", Title = "Impact of Tropical Storm Emily on Florida's Economy" });
surveyDbContext.SurveysTranslation.Add(new Db.SurveyTranslation { SurveyId = survey1.Id, Language = "es", Title = "Impacto de la tormenta tropical Emily en la economía de Florida" });
surveyDbContext.SurveysTranslation.Add(new Db.SurveyTranslation { SurveyId = survey1.Id, Language = "fr", Title = "Impact de la tempête tropicale Emily sur l'économie de la Floride" });
//surveyDbContext.SurveysTranslation.Add(new Db.SurveyTranslation { Id = 7, SurveyId = 3, Language = "en", Title = "Public Perception of Hurricane Michael's Response" }); surveyDbContext.SurveysTranslation.Add(new Db.SurveyTranslation { SurveyId = survey2.Id, Language = "en", Title = "Hurricane Andrew Aftermath Survey" });
//surveyDbContext.SurveysTranslation.Add(new Db.SurveyTranslation { Id = 8, SurveyId = 3, Language = "es", Title = "Percepción pública de la respuesta del huracán Michael" }); surveyDbContext.SurveysTranslation.Add(new Db.SurveyTranslation { SurveyId = survey2.Id, Language = "es", Title = "Encuesta sobre las secuelas del huracán Andrew" });
//surveyDbContext.SurveysTranslation.Add(new Db.SurveyTranslation { Id = 9, SurveyId = 3, Language = "fr", Title = "Perception du public de la réponse de l'ouragan Michael" }); surveyDbContext.SurveysTranslation.Add(new Db.SurveyTranslation { SurveyId = survey2.Id, Language = "fr", Title = "Enquête sur les conséquences de l'ouragan Andrew" });
surveyDbContext.SurveysTranslation.Add(new Db.SurveyTranslation { SurveyId = survey3.Id, Language = "en", Title = "Hurricane Irma" });
surveyDbContext.SurveysTranslation.Add(new Db.SurveyTranslation { SurveyId = survey3.Id, Language = "es", Title = "Huracán Irma" });
surveyDbContext.SurveysTranslation.Add(new Db.SurveyTranslation { SurveyId = survey3.Id, Language = "fr", Title = "Ouragan Irma" });
surveyDbContext.SaveChangesAsync(); surveyDbContext.SaveChanges();
}
} }
} }
public IEnumerable<Models.SurveyTranslation> GetSurveyTranslations(int id, IEnumerable<Models.SurveyTranslation> SurveyTranslation,string? language) // Method to get survey translations for a given survey ID and language
public IEnumerable<Models.SurveyTranslation> GetSurveyTranslations(int id, IEnumerable<Models.SurveyTranslation> SurveyTranslation, string? language)
{ {
if (SurveyTranslation == null) if (SurveyTranslation == null)
{ {
@ -66,6 +72,8 @@ namespace DamageAssesment.Api.Surveys.Providers
} }
return SurveyTranslation; return SurveyTranslation;
} }
// Method to create a multi-language object from survey translations
public object CreateMultiLanguageObject(IEnumerable<Models.SurveyTranslation> surveyTranslations) public object CreateMultiLanguageObject(IEnumerable<Models.SurveyTranslation> surveyTranslations)
{ {
object MultiLanguage = new object(); object MultiLanguage = new object();
@ -77,28 +85,27 @@ namespace DamageAssesment.Api.Surveys.Providers
MultiLanguage = dict; MultiLanguage = dict;
return MultiLanguage; return MultiLanguage;
} }
// Method to get surveys asynchronously with multi-language support
public async Task<(bool IsSuccess, IEnumerable<Models.MultiLanSurvey> Surveys, string ErrorMessage)> GetSurveysAsync(string language) public async Task<(bool IsSuccess, IEnumerable<Models.MultiLanSurvey> Surveys, string ErrorMessage)> GetSurveysAsync(string language)
{ {
IEnumerable<Models.MultiLanSurvey> surveysList = null; IEnumerable<Models.MultiLanSurvey> surveysList = null;
try try
{ {
logger?.LogInformation("Gell all Surveys from DB"); logger?.LogInformation("Get all Surveys from DB");
var surveys = await surveyDbContext.Surveys.Where(s => s.IsEnabled == true).ToListAsync(); var surveys = await surveyDbContext.Surveys.Where(s => s.IsEnabled == true).ToListAsync();
//var surveyTranslations = await surveyDbContext.SurveysTranslation.ToListAsync();
if (surveys != null) if (surveys != null)
{ {
surveysList = from s in surveys surveysList = from s in surveys
select new select new Models.MultiLanSurvey
Models.MultiLanSurvey
{ {
Id = s.Id, Id = s.Id,
StartDate = s.StartDate, StartDate = s.StartDate,
EndDate = s.EndDate, EndDate = s.EndDate,
IsEnabled = s.IsEnabled, IsEnabled = s.IsEnabled,
CreatedDate = s.CreatedDate, CreatedDate = s.CreatedDate,
Titles = CreateMultiLanguageObject(GetSurveyTranslations(s.Id,null, language)) Titles = CreateMultiLanguageObject(GetSurveyTranslations(s.Id, null, language))
}; };
logger?.LogInformation($"{surveys.Count} Items(s) found"); logger?.LogInformation($"{surveys.Count} Items(s) found");
@ -112,12 +119,15 @@ namespace DamageAssesment.Api.Surveys.Providers
return (false, null, ex.Message); return (false, null, ex.Message);
} }
} }
// Method to get a specific survey by ID asynchronously with multi-language support
public async Task<(bool IsSuccess, Models.MultiLanSurvey Surveys, string ErrorMessage)> GetSurveysAsync(int id, string language) public async Task<(bool IsSuccess, Models.MultiLanSurvey Surveys, string ErrorMessage)> GetSurveysAsync(int id, string language)
{ {
try try
{ {
logger?.LogInformation("Query Survey"); logger?.LogInformation("Query Survey");
var survey = await surveyDbContext.Surveys.SingleOrDefaultAsync(s => s.Id == id && s.IsEnabled == true); var survey = await surveyDbContext.Surveys.SingleOrDefaultAsync(s => s.Id == id && s.IsEnabled == true);
if (survey != null) if (survey != null)
{ {
Models.MultiLanSurvey result = null; Models.MultiLanSurvey result = null;
@ -129,8 +139,7 @@ namespace DamageAssesment.Api.Surveys.Providers
EndDate = survey.EndDate, EndDate = survey.EndDate,
IsEnabled = survey.IsEnabled, IsEnabled = survey.IsEnabled,
CreatedDate = survey.CreatedDate, CreatedDate = survey.CreatedDate,
Titles = CreateMultiLanguageObject(GetSurveyTranslations(survey.Id,null, language)) Titles = CreateMultiLanguageObject(GetSurveyTranslations(survey.Id, null, language))
}; };
logger?.LogInformation($"Survey Id: {id} found"); logger?.LogInformation($"Survey Id: {id} found");
return (true, result, null); return (true, result, null);
@ -144,6 +153,7 @@ namespace DamageAssesment.Api.Surveys.Providers
} }
} }
// Method to create a new survey asynchronously with multi-language support
public async Task<(bool IsSuccess, Models.MultiLanSurvey Survey, string ErrorMessage)> PostSurveyAsync(Models.Survey survey) public async Task<(bool IsSuccess, Models.MultiLanSurvey Survey, string ErrorMessage)> PostSurveyAsync(Models.Survey survey)
{ {
try try
@ -155,14 +165,14 @@ namespace DamageAssesment.Api.Surveys.Providers
surveyDbContext.Surveys.Add(_survey); surveyDbContext.Surveys.Add(_survey);
await surveyDbContext.SaveChangesAsync(); await surveyDbContext.SaveChangesAsync();
foreach (var title in survey.Titles) foreach (var title in survey.Titles)
{ {
surveyDbContext.SurveysTranslation.Add(new Db.SurveyTranslation {SurveyId = _survey.Id, Language = title.Language, Title = title.Title }); surveyDbContext.SurveysTranslation.Add(new Db.SurveyTranslation { SurveyId = _survey.Id, Language = title.Language, Title = title.Title });
} }
await surveyDbContext.SaveChangesAsync(); await surveyDbContext.SaveChangesAsync();
var result = mapper.Map<Db.Survey, Models.MultiLanSurvey>(_survey); var result = mapper.Map<Db.Survey, Models.MultiLanSurvey>(_survey);
result.Titles = CreateMultiLanguageObject(GetSurveyTranslations(_survey.Id, survey.Titles, "")); result.Titles = CreateMultiLanguageObject(GetSurveyTranslations(_survey.Id, survey.Titles, ""));
return (true, result, "Successful"); return (true, result, "Successful");
} }
else else
@ -178,6 +188,7 @@ namespace DamageAssesment.Api.Surveys.Providers
} }
} }
// Method to update an existing survey asynchronously with multi-language support
public async Task<(bool IsSuccess, Models.MultiLanSurvey Survey, string ErrorMessage)> PutSurveyAsync(int Id, Models.Survey survey) public async Task<(bool IsSuccess, Models.MultiLanSurvey Survey, string ErrorMessage)> PutSurveyAsync(int Id, Models.Survey survey)
{ {
try try
@ -227,6 +238,7 @@ namespace DamageAssesment.Api.Surveys.Providers
} }
} }
// Method to delete a survey by ID asynchronously with multi-language support
public async Task<(bool IsSuccess, Models.MultiLanSurvey Survey, string ErrorMessage)> DeleteSurveyAsync(int Id) public async Task<(bool IsSuccess, Models.MultiLanSurvey Survey, string ErrorMessage)> DeleteSurveyAsync(int Id)
{ {
try try
@ -239,7 +251,7 @@ namespace DamageAssesment.Api.Surveys.Providers
result.Titles = CreateMultiLanguageObject(GetSurveyTranslations(survey.Id, null, "")); result.Titles = CreateMultiLanguageObject(GetSurveyTranslations(survey.Id, null, ""));
surveyDbContext.Surveys.Remove(survey); surveyDbContext.Surveys.Remove(survey);
await surveyDbContext.SaveChangesAsync(); await surveyDbContext.SaveChangesAsync();
return (true, result, $"Survey Id: {Id} deleted Successfuly"); return (true, result, $"Survey Id: {Id} deleted Successfully");
} }
else else
{ {

View File

@ -1,8 +0,0 @@
{
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft.AspNetCore": "Warning"
}
}
}