forked from MDCPS/DamageAssessment_Backend
		
	Compare commits
	
		
			6 Commits
		
	
	
		
			user-acces
			...
			docker-bra
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| e3ee2f81b4 | |||
| 2c7d4e6138 | |||
| 538580a0e0 | |||
| f7ccc89d53 | |||
| 9384a8b976 | |||
| 04de1ee366 | 
@ -20,6 +20,10 @@ namespace DamageAssesment.Api.Locations.Db
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
        [StringLength(2)]
 | 
					        [StringLength(2)]
 | 
				
			||||||
        public string SchoolType { get; set; }
 | 
					        public string SchoolType { get; set; }
 | 
				
			||||||
 | 
					        public int? DataValue { get; set; }
 | 
				
			||||||
 | 
					        public int? Enrollment { get; set; }
 | 
				
			||||||
 | 
					        public double? Longitute { get; set; }
 | 
				
			||||||
 | 
					        public double? Latitude { get; set; }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
				
			|||||||
@ -11,5 +11,9 @@ namespace DamageAssesment.Api.Locations.Models
 | 
				
			|||||||
        public string Name { get; set; }
 | 
					        public string Name { get; set; }
 | 
				
			||||||
        public string MaintenanceCenter { get; set; }
 | 
					        public string MaintenanceCenter { get; set; }
 | 
				
			||||||
        public string SchoolType { get; set; }
 | 
					        public string SchoolType { get; set; }
 | 
				
			||||||
 | 
					        public int? DataValue { get; set; }
 | 
				
			||||||
 | 
					        public int? Enrollment { get; set; }
 | 
				
			||||||
 | 
					        public double? Longitute { get; set; }
 | 
				
			||||||
 | 
					        public double? Latitude { get; set; }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
				
			|||||||
@ -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()
 | 
				
			||||||
@ -28,6 +28,8 @@ namespace DamageAssesment.Api.Locations.Providers
 | 
				
			|||||||
                var locations = await locationDbContext.Locations.AsNoTracking().ToListAsync();
 | 
					                var locations = await locationDbContext.Locations.AsNoTracking().ToListAsync();
 | 
				
			||||||
                if (locations != null)
 | 
					                if (locations != null)
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
 | 
					                    int maxenrollment = (int)locations.Max(a => a.Enrollment);
 | 
				
			||||||
 | 
					                    foreach (Db.Location item in locations) { item.DataValue = GetHeatmapdata(item.Enrollment, maxenrollment); }
 | 
				
			||||||
                    logger?.LogInformation($"{locations.Count} Locations(s) found");
 | 
					                    logger?.LogInformation($"{locations.Count} Locations(s) found");
 | 
				
			||||||
                    var result = mapper.Map<IEnumerable<Db.Location>, IEnumerable<Models.Location>>(locations);
 | 
					                    var result = mapper.Map<IEnumerable<Db.Location>, IEnumerable<Models.Location>>(locations);
 | 
				
			||||||
                    return (true, result, null);
 | 
					                    return (true, result, null);
 | 
				
			||||||
@ -46,9 +48,12 @@ namespace DamageAssesment.Api.Locations.Providers
 | 
				
			|||||||
            try
 | 
					            try
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
                logger?.LogInformation("Query Location");
 | 
					                logger?.LogInformation("Query Location");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                int maxenrollment = (int)await locationDbContext.Locations.AsNoTracking().MaxAsync(a => a.Enrollment);
 | 
				
			||||||
                var location = await locationDbContext.Locations.AsNoTracking().FirstOrDefaultAsync(q => q.Id == Id);
 | 
					                var location = await locationDbContext.Locations.AsNoTracking().FirstOrDefaultAsync(q => q.Id == Id);
 | 
				
			||||||
                if (location != null)
 | 
					                if (location != null)
 | 
				
			||||||
                {
 | 
					                {if(maxenrollment>0)
 | 
				
			||||||
 | 
					                        location.DataValue = GetHeatmapdata(location.Enrollment, maxenrollment);
 | 
				
			||||||
                    logger?.LogInformation($"{location}  found");
 | 
					                    logger?.LogInformation($"{location}  found");
 | 
				
			||||||
                    var result = mapper.Map<Db.Location, Models.Location>(location);
 | 
					                    var result = mapper.Map<Db.Location, Models.Location>(location);
 | 
				
			||||||
                    return (true, result, null);
 | 
					                    return (true, result, null);
 | 
				
			||||||
@ -61,6 +66,10 @@ namespace DamageAssesment.Api.Locations.Providers
 | 
				
			|||||||
                return (false, null, ex.Message);
 | 
					                return (false, null, ex.Message);
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					        private int GetHeatmapdata(int? enrollment,int maxenrollment)
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            return (enrollment != null ? enrollment.Value : 0) * 100 / maxenrollment;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
        public async Task<(bool IsSuccess, Models.Location Location, string ErrorMessage)> PostLocationAsync(Models.Location location)
 | 
					        public async Task<(bool IsSuccess, Models.Location Location, string ErrorMessage)> PostLocationAsync(Models.Location location)
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            try
 | 
					            try
 | 
				
			||||||
@ -139,9 +148,9 @@ namespace DamageAssesment.Api.Locations.Providers
 | 
				
			|||||||
        {
 | 
					        {
 | 
				
			||||||
            if (!locationDbContext.Locations.Any())
 | 
					            if (!locationDbContext.Locations.Any())
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
                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 = "0091", RegionId = 5, Name = "BOB GRAHAM EDUCATION CENTER", MaintenanceCenter = "1", SchoolType = "K8", DataValue = 25,Enrollment=780,Latitude= 25.83604,Longitute= -80.21618 });
 | 
				
			||||||
                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 = "0092", RegionId = 1, Name = "NORMAN S. EDELCUP/SUNNY ISLES BEACH K-8", MaintenanceCenter = "1", SchoolType = "K8", DataValue = 46, Enrollment = 650, Latitude = 20.83604, Longitute = -40.21618 });
 | 
				
			||||||
                locationDbContext.Locations.Add(new Db.Location() { LocationCode = "7511", RegionId = 4, Name = "MIAMI SPRINGS SHS", MaintenanceCenter = "2", SchoolType = "S" });
 | 
					                locationDbContext.Locations.Add(new Db.Location() { LocationCode = "7511", RegionId = 4, Name = "MIAMI SPRINGS SHS", MaintenanceCenter = "2", SchoolType = "S", DataValue = 12, Enrollment = 500, Latitude = 53.83604, Longitute = -60.21618 });
 | 
				
			||||||
                //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" });
 | 
				
			||||||
 | 
				
			|||||||
@ -89,6 +89,26 @@ namespace DamageAssesment.Api.Questions.Controllers
 | 
				
			|||||||
            return CreatedAtRoute("DefaultApi", new { id = question.Id }, question);
 | 
					            return CreatedAtRoute("DefaultApi", new { id = question.Id }, question);
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        /// <summary>
 | 
					        /// <summary>
 | 
				
			||||||
 | 
					        /// POST request for creating a multiple question (multilingual).
 | 
				
			||||||
 | 
					        /// </summary>
 | 
				
			||||||
 | 
					        [HttpPost("questions/multiple")]
 | 
				
			||||||
 | 
					        public async Task<IActionResult> CreateQuestions(List<Models.Question> questions)
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            if (questions != null)
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                var result = await this.questionsProvider.PostQuestionsAsync(questions);
 | 
				
			||||||
 | 
					                if (result.IsSuccess)
 | 
				
			||||||
 | 
					                {
 | 
				
			||||||
 | 
					                    return Ok(result.Question);
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					                if (result.ErrorMessage == "Not Found")
 | 
				
			||||||
 | 
					                    return NotFound(result.ErrorMessage);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                return BadRequest(result.ErrorMessage);
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					            return CreatedAtRoute("DefaultApi",questions);
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        /// <summary>
 | 
				
			||||||
        /// POST request for creating a new question (multilingual).
 | 
					        /// POST request for creating a new question (multilingual).
 | 
				
			||||||
        /// </summary>
 | 
					        /// </summary>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -8,6 +8,7 @@ namespace DamageAssesment.Api.Questions.Interfaces
 | 
				
			|||||||
        Task<(bool IsSuccess, IEnumerable<Models.MultiLanguage> Questions, string ErrorMessage)> GetQuestionsAsync(string language);
 | 
					        Task<(bool IsSuccess, IEnumerable<Models.MultiLanguage> Questions, string ErrorMessage)> GetQuestionsAsync(string language);
 | 
				
			||||||
        Task<(bool IsSuccess, List<SurveyQuestions> SurveyQuestions, string ErrorMessage)> GetSurveyQuestionAsync(int surveyId,string language);
 | 
					        Task<(bool IsSuccess, List<SurveyQuestions> SurveyQuestions, string ErrorMessage)> GetSurveyQuestionAsync(int surveyId,string language);
 | 
				
			||||||
        Task<(bool IsSuccess, Models.MultiLanguage Question, string ErrorMessage)> PostQuestionAsync(Models.Question Question);
 | 
					        Task<(bool IsSuccess, Models.MultiLanguage Question, string ErrorMessage)> PostQuestionAsync(Models.Question Question);
 | 
				
			||||||
 | 
					        Task<(bool IsSuccess, IEnumerable<Models.MultiLanguage> Question, string ErrorMessage)> PostQuestionsAsync(List<Models.Question> Questions);
 | 
				
			||||||
        Task<(bool IsSuccess, Models.MultiLanguage Question, string ErrorMessage)> UpdateQuestionAsync(Models.Question Question);
 | 
					        Task<(bool IsSuccess, Models.MultiLanguage Question, string ErrorMessage)> UpdateQuestionAsync(Models.Question Question);
 | 
				
			||||||
        Task<(bool IsSuccess, Models.MultiLanguage Question, string ErrorMessage)> DeleteQuestionAsync(int id);
 | 
					        Task<(bool IsSuccess, Models.MultiLanguage Question, string ErrorMessage)> DeleteQuestionAsync(int id);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -239,16 +239,7 @@ namespace DamageAssesment.Api.Questions.Providers
 | 
				
			|||||||
            try
 | 
					            try
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
                logger?.LogInformation("Query Question");
 | 
					                logger?.LogInformation("Query Question");
 | 
				
			||||||
                var dbquestion = mapper.Map<Models.Question, Db.Question>(Question);
 | 
					                var result = InsertQuestion(Question);
 | 
				
			||||||
                var dbquestiontranslation = mapper.Map<List<Models.QuestionsTranslation>, List<Db.QuestionsTranslation>>(Question.Questions);
 | 
					 | 
				
			||||||
                dbquestion.QuestionTypeId = questionDbContext.QuestionTypes.Where(a => a.TypeText == Question.TypeText).Select(a => a.Id).FirstOrDefault();
 | 
					 | 
				
			||||||
                questionDbContext.Questions.Add(dbquestion);
 | 
					 | 
				
			||||||
                dbquestiontranslation.ForEach(i => i.QuestionId = dbquestion.Id);
 | 
					 | 
				
			||||||
                questionDbContext.QuestionsTranslations.AddRange(dbquestiontranslation);
 | 
					 | 
				
			||||||
                questionDbContext.SaveChanges();
 | 
					 | 
				
			||||||
                Question.Id = dbquestion.Id;
 | 
					 | 
				
			||||||
                var result = mapper.Map<Db.Question, Models.MultiLanguage>(dbquestion);
 | 
					 | 
				
			||||||
                result.Text = CreateMultiLanguageObject(GetQuestionsTranslations(result.Id,""));
 | 
					 | 
				
			||||||
                return (true, result, null);
 | 
					                return (true, result, null);
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
            catch (Exception ex)
 | 
					            catch (Exception ex)
 | 
				
			||||||
@ -257,6 +248,38 @@ namespace DamageAssesment.Api.Questions.Providers
 | 
				
			|||||||
                return (false, null, ex.Message);
 | 
					                return (false, null, ex.Message);
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					        private Models.MultiLanguage InsertQuestion(Models.Question Question)
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            var dbquestion = mapper.Map<Models.Question, Db.Question>(Question);
 | 
				
			||||||
 | 
					            var dbquestiontranslation = mapper.Map<List<Models.QuestionsTranslation>, List<Db.QuestionsTranslation>>(Question.Questions);
 | 
				
			||||||
 | 
					            dbquestion.QuestionTypeId = questionDbContext.QuestionTypes.Where(a => a.TypeText == Question.TypeText).Select(a => a.Id).FirstOrDefault();
 | 
				
			||||||
 | 
					            questionDbContext.Questions.Add(dbquestion);
 | 
				
			||||||
 | 
					            dbquestiontranslation.ForEach(i => i.QuestionId = dbquestion.Id);
 | 
				
			||||||
 | 
					            questionDbContext.QuestionsTranslations.AddRange(dbquestiontranslation);
 | 
				
			||||||
 | 
					            questionDbContext.SaveChanges();
 | 
				
			||||||
 | 
					            Question.Id = dbquestion.Id;
 | 
				
			||||||
 | 
					            var result = mapper.Map<Db.Question, Models.MultiLanguage>(dbquestion);
 | 
				
			||||||
 | 
					            result.Text = CreateMultiLanguageObject(GetQuestionsTranslations(result.Id, ""));
 | 
				
			||||||
 | 
					            return result;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        public async Task<(bool IsSuccess, IEnumerable<Models.MultiLanguage> Question, string ErrorMessage)> PostQuestionsAsync(List<Models.Question> Questions)
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            try
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                List<Models.MultiLanguage> results = new List<MultiLanguage>();
 | 
				
			||||||
 | 
					               logger?.LogInformation("Query Question");
 | 
				
			||||||
 | 
					                foreach (Models.Question Question in Questions)
 | 
				
			||||||
 | 
					                {
 | 
				
			||||||
 | 
					                    results.Add(InsertQuestion(Question));
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					                return (true, results, null);
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					            catch (Exception ex)
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                logger?.LogError(ex.ToString());
 | 
				
			||||||
 | 
					                return (false, null, ex.Message);
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
        public async Task<(bool IsSuccess, Models.MultiLanguage Question, string ErrorMessage)> UpdateQuestionAsync(Models.Question Question)
 | 
					        public async Task<(bool IsSuccess, Models.MultiLanguage Question, string ErrorMessage)> UpdateQuestionAsync(Models.Question Question)
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            try
 | 
					            try
 | 
				
			||||||
 | 
				
			|||||||
@ -75,8 +75,19 @@ namespace DamageAssesment.Api.Questions.Test
 | 
				
			|||||||
            return new Questions.Models.Question { Id = 1, Questions=QuestionsTranslations, TypeText = "Text 1", SurveyId = 1, QuestionNumber = 1, IsRequired = true, Comment = false, Key = true, CategoryId=1};
 | 
					            return new Questions.Models.Question { Id = 1, Questions=QuestionsTranslations, TypeText = "Text 1", SurveyId = 1, QuestionNumber = 1, IsRequired = true, Comment = false, Key = true, CategoryId=1};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					        public static async Task<List<Questions.Models.Question>> getInputQuestionsData()
 | 
				
			||||||
   
 | 
					        {
 | 
				
			||||||
 | 
					            Models.QuestionsTranslation QuestionsTranslation = new Models.QuestionsTranslation()
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                Language = "en",
 | 
				
			||||||
 | 
					                QuestionText = "Sample question"
 | 
				
			||||||
 | 
					            };
 | 
				
			||||||
 | 
					            List<Models.QuestionsTranslation> QuestionsTranslations = new List<Models.QuestionsTranslation>();
 | 
				
			||||||
 | 
					            List<Models.Question> Questions = new List<Models.Question>();
 | 
				
			||||||
 | 
					            QuestionsTranslations.Add(QuestionsTranslation);
 | 
				
			||||||
 | 
					            Questions.Models.Question question = new Questions.Models.Question() { Id = 1, Questions = QuestionsTranslations, TypeText = "Text 1", SurveyId = 1, QuestionNumber = 1, IsRequired = true, Comment = false, Key = true, CategoryId = 1 };
 | 
				
			||||||
 | 
					              Questions.Add(question);
 | 
				
			||||||
 | 
					            return Questions;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
				
			|||||||
@ -110,6 +110,33 @@ namespace DamageAssesment.Api.Questions.Test
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
            Assert.Equal(400, result.StatusCode);
 | 
					            Assert.Equal(400, result.StatusCode);
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					        [Fact(DisplayName = "Post Questions - Ok case")]
 | 
				
			||||||
 | 
					        public async Task PostQuestionsAsync_ShouldReturnStatusCode200()
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            var mockQuestionService = new Mock<IQuestionsProvider>();
 | 
				
			||||||
 | 
					            var mockResponse = await MockData.getOkResponse();
 | 
				
			||||||
 | 
					            var mockInputQuestion = await MockData.getInputQuestionsData();
 | 
				
			||||||
 | 
					            mockQuestionService.Setup(service => service.PostQuestionsAsync(mockInputQuestion)).ReturnsAsync(mockResponse);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            var QuestionProvider = new QuestionsController(mockQuestionService.Object);
 | 
				
			||||||
 | 
					            var result = (OkObjectResult)await QuestionProvider.CreateQuestions(mockInputQuestion);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            Assert.Equal(200, result.StatusCode);
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        [Fact(DisplayName = "Post Questions - BadRequest case")]
 | 
				
			||||||
 | 
					        public async Task PostQuestionsAsync_ShouldReturnStatusCode400()
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            var mockQuestionService = new Mock<IQuestionsProvider>();
 | 
				
			||||||
 | 
					            var mockInputQuestion = await MockData.getInputQuestionData();
 | 
				
			||||||
 | 
					            var mockResponse = await MockData.getBadRequestResponse();
 | 
				
			||||||
 | 
					            mockQuestionService.Setup(service => service.UpdateQuestionAsync(mockInputQuestion)).ReturnsAsync(mockResponse);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            var QuestionProvider = new QuestionsController(mockQuestionService.Object);
 | 
				
			||||||
 | 
					            var result = (BadRequestObjectResult)await QuestionProvider.UpdateQuestion(mockInputQuestion);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            Assert.Equal(400, result.StatusCode);
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        [Fact(DisplayName = "Put Question - Ok case")]
 | 
					        [Fact(DisplayName = "Put Question - Ok case")]
 | 
				
			||||||
        public async Task PutQuestionAsync_ShouldReturnStatusCode200()
 | 
					        public async Task PutQuestionAsync_ShouldReturnStatusCode200()
 | 
				
			||||||
 | 
				
			|||||||
@ -8,5 +8,9 @@
 | 
				
			|||||||
        public string Name { get; set; }
 | 
					        public string Name { get; set; }
 | 
				
			||||||
        public string MaintenanceCenter { get; set; }
 | 
					        public string MaintenanceCenter { get; set; }
 | 
				
			||||||
        public string SchoolType { get; set; }
 | 
					        public string SchoolType { get; set; }
 | 
				
			||||||
 | 
					        public int? DataValue { get; set; }
 | 
				
			||||||
 | 
					        public int? Enrollment { get; set; }
 | 
				
			||||||
 | 
					        public double? Longitute { get; set; }
 | 
				
			||||||
 | 
					        public double? Latitude { get; set; }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
				
			|||||||
@ -512,17 +512,19 @@ namespace DamageAssesment.Api.Responses.Providers
 | 
				
			|||||||
                var allQuestions = await questionServiceProvider.getQuestionsAsync(null);
 | 
					                var allQuestions = await questionServiceProvider.getQuestionsAsync(null);
 | 
				
			||||||
                var questions = allQuestions.Where(s => s.SurveyId == surveyResponse.SurveyId);
 | 
					                var questions = allQuestions.Where(s => s.SurveyId == surveyResponse.SurveyId);
 | 
				
			||||||
                var attachments = await attachmentServiceProvider.getAttachmentsAsync();
 | 
					                var attachments = await attachmentServiceProvider.getAttachmentsAsync();
 | 
				
			||||||
 | 
					                var Locations = await locationServiceProvider.getLocationsAsync();
 | 
				
			||||||
                var result = new
 | 
					                var location = Locations.Where(a => a.Id == surveyResponse.LocationId).FirstOrDefault();
 | 
				
			||||||
                {
 | 
					                var result = new{
 | 
				
			||||||
                    surveyResponse.Id,
 | 
					                    surveyResponse.Id,
 | 
				
			||||||
                    surveyResponse.SurveyId,
 | 
					                    surveyResponse.SurveyId,
 | 
				
			||||||
                    surveyResponse.LocationId,
 | 
					                    surveyResponse.LocationId,
 | 
				
			||||||
                    surveyResponse.EmployeeId,
 | 
					                    surveyResponse.EmployeeId,
 | 
				
			||||||
                    surveyResponse.ClientDevice,
 | 
					                    surveyResponse.ClientDevice,
 | 
				
			||||||
                    surveyResponse.KeyAnswerResult,
 | 
					                    surveyResponse.KeyAnswerResult,
 | 
				
			||||||
                    surveyResponse.Longitute,
 | 
					                    DataValue=(location!=null?location.DataValue:0),
 | 
				
			||||||
                    surveyResponse.Latitude,
 | 
					                    Enrollment= (location != null ? location.Enrollment : 0),
 | 
				
			||||||
 | 
					                    Longitute = (location != null ? location.Longitute : surveyResponse.Longitute),
 | 
				
			||||||
 | 
					                    Latitude=(location != null ? location.Latitude : surveyResponse.Latitude),
 | 
				
			||||||
                    Employee = employee,
 | 
					                    Employee = employee,
 | 
				
			||||||
                    answers = from ans in answers
 | 
					                    answers = from ans in answers
 | 
				
			||||||
                              select new
 | 
					                              select new
 | 
				
			||||||
@ -566,6 +568,7 @@ namespace DamageAssesment.Api.Responses.Providers
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
                var answers = await answerServiceProvider.getAnswersAsync();
 | 
					                var answers = await answerServiceProvider.getAnswersAsync();
 | 
				
			||||||
                var questions = await questionServiceProvider.getQuestionsAsync(null);
 | 
					                var questions = await questionServiceProvider.getQuestionsAsync(null);
 | 
				
			||||||
 | 
					                var Locations = await locationServiceProvider.getLocationsAsync();
 | 
				
			||||||
                var surveyQuestions = from q in questions where q.SurveyId == surveyId select q;
 | 
					                var surveyQuestions = from q in questions where q.SurveyId == surveyId select q;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                //var surveyQuestions = await questionServiceProvider.getSurveyQuestionsAsync(surveyId);
 | 
					                //var surveyQuestions = await questionServiceProvider.getSurveyQuestionsAsync(surveyId);
 | 
				
			||||||
@ -575,6 +578,7 @@ namespace DamageAssesment.Api.Responses.Providers
 | 
				
			|||||||
                if (employeeid == 0)
 | 
					                if (employeeid == 0)
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                    var result = from r in surveyResonses
 | 
					                    var result = from r in surveyResonses
 | 
				
			||||||
 | 
					                                 join loc in Locations on r.LocationId equals loc.Id
 | 
				
			||||||
                                 select new
 | 
					                                 select new
 | 
				
			||||||
                                 {
 | 
					                                 {
 | 
				
			||||||
                                     r.Id,
 | 
					                                     r.Id,
 | 
				
			||||||
@ -583,8 +587,10 @@ namespace DamageAssesment.Api.Responses.Providers
 | 
				
			|||||||
                                     r.EmployeeId,
 | 
					                                     r.EmployeeId,
 | 
				
			||||||
                                     r.ClientDevice,
 | 
					                                     r.ClientDevice,
 | 
				
			||||||
                                     r.KeyAnswerResult,
 | 
					                                     r.KeyAnswerResult,
 | 
				
			||||||
                                     r.Longitute,
 | 
					                                     loc.DataValue,
 | 
				
			||||||
                                     r.Latitude,
 | 
					                                     loc.Enrollment,
 | 
				
			||||||
 | 
					                                     loc.Longitute,
 | 
				
			||||||
 | 
					                                     loc.Latitude,
 | 
				
			||||||
                                     Employee = (from e in employees where e.Id == r.EmployeeId select new { e.Id, e.Name, e.BirthDate, e.Email, e.OfficePhoneNumber }).SingleOrDefault(),
 | 
					                                     Employee = (from e in employees where e.Id == r.EmployeeId select new { e.Id, e.Name, e.BirthDate, e.Email, e.OfficePhoneNumber }).SingleOrDefault(),
 | 
				
			||||||
                                     answers = from ans in answers
 | 
					                                     answers = from ans in answers
 | 
				
			||||||
                                               where ans.SurveyResponseId == r.Id
 | 
					                                               where ans.SurveyResponseId == r.Id
 | 
				
			||||||
@ -609,6 +615,7 @@ namespace DamageAssesment.Api.Responses.Providers
 | 
				
			|||||||
                        _employee = new { employee.Id, employee.Name, employee.BirthDate, employee.Email, employee.OfficePhoneNumber };
 | 
					                        _employee = new { employee.Id, employee.Name, employee.BirthDate, employee.Email, employee.OfficePhoneNumber };
 | 
				
			||||||
                    }
 | 
					                    }
 | 
				
			||||||
                    var result = from r in surveyResonses
 | 
					                    var result = from r in surveyResonses
 | 
				
			||||||
 | 
					                                 join loc in Locations on r.LocationId equals loc.Id
 | 
				
			||||||
                                 select new
 | 
					                                 select new
 | 
				
			||||||
                                 {
 | 
					                                 {
 | 
				
			||||||
                                     r.Id,
 | 
					                                     r.Id,
 | 
				
			||||||
@ -617,8 +624,10 @@ namespace DamageAssesment.Api.Responses.Providers
 | 
				
			|||||||
                                     r.EmployeeId,
 | 
					                                     r.EmployeeId,
 | 
				
			||||||
                                     r.ClientDevice,
 | 
					                                     r.ClientDevice,
 | 
				
			||||||
                                     r.KeyAnswerResult,
 | 
					                                     r.KeyAnswerResult,
 | 
				
			||||||
                                     r.Longitute,
 | 
					                                     loc.DataValue,
 | 
				
			||||||
                                     r.Latitude,
 | 
					                                     loc.Enrollment,
 | 
				
			||||||
 | 
					                                     loc.Longitute,
 | 
				
			||||||
 | 
					                                     loc.Latitude,
 | 
				
			||||||
                                     Employee = _employee,
 | 
					                                     Employee = _employee,
 | 
				
			||||||
                                     answers = from ans in answers
 | 
					                                     answers = from ans in answers
 | 
				
			||||||
                                               where ans.SurveyResponseId == r.Id
 | 
					                                               where ans.SurveyResponseId == r.Id
 | 
				
			||||||
@ -674,7 +683,9 @@ namespace DamageAssesment.Api.Responses.Providers
 | 
				
			|||||||
                var questions = await questionServiceProvider.getQuestionsAsync(null);
 | 
					                var questions = await questionServiceProvider.getQuestionsAsync(null);
 | 
				
			||||||
                var attachments = await attachmentServiceProvider.getAttachmentsAsync();
 | 
					                var attachments = await attachmentServiceProvider.getAttachmentsAsync();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                var Locations = await locationServiceProvider.getLocationsAsync();
 | 
				
			||||||
                var result = from r in surveyResonses
 | 
					                var result = from r in surveyResonses
 | 
				
			||||||
 | 
					                             join loc in Locations on r.LocationId equals loc.Id
 | 
				
			||||||
                             select new
 | 
					                             select new
 | 
				
			||||||
                             {
 | 
					                             {
 | 
				
			||||||
                                 r.Id,
 | 
					                                 r.Id,
 | 
				
			||||||
@ -683,8 +694,10 @@ namespace DamageAssesment.Api.Responses.Providers
 | 
				
			|||||||
                                 r.EmployeeId,
 | 
					                                 r.EmployeeId,
 | 
				
			||||||
                                 r.ClientDevice,
 | 
					                                 r.ClientDevice,
 | 
				
			||||||
                                 r.KeyAnswerResult,
 | 
					                                 r.KeyAnswerResult,
 | 
				
			||||||
                                 r.Longitute,
 | 
					                                 loc.DataValue,
 | 
				
			||||||
                                 r.Latitude,
 | 
					                                 loc.Enrollment,
 | 
				
			||||||
 | 
					                                 loc.Longitute,
 | 
				
			||||||
 | 
					                                 loc.Latitude,
 | 
				
			||||||
                                 Employee = employeeid != 0 ? _employee : (from e in employees where r.EmployeeId == e.Id select new { e.Id, e.Name, e.BirthDate, e.Email, e.OfficePhoneNumber }).SingleOrDefault(),
 | 
					                                 Employee = employeeid != 0 ? _employee : (from e in employees where r.EmployeeId == e.Id select new { e.Id, e.Name, e.BirthDate, e.Email, e.OfficePhoneNumber }).SingleOrDefault(),
 | 
				
			||||||
                                 answers = from ans in answers
 | 
					                                 answers = from ans in answers
 | 
				
			||||||
                                           where ans.SurveyResponseId == r.Id
 | 
					                                           where ans.SurveyResponseId == r.Id
 | 
				
			||||||
@ -938,7 +951,9 @@ namespace DamageAssesment.Api.Responses.Providers
 | 
				
			|||||||
                var surveyQuestions = from q in questions where q.SurveyId == surveyId select q;
 | 
					                var surveyQuestions = from q in questions where q.SurveyId == surveyId select q;
 | 
				
			||||||
                var attachments = await attachmentServiceProvider.getAttachmentsAsync();
 | 
					                var attachments = await attachmentServiceProvider.getAttachmentsAsync();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                var Locations = await locationServiceProvider.getLocationsAsync();
 | 
				
			||||||
                var result = from r in surveyResonses
 | 
					                var result = from r in surveyResonses
 | 
				
			||||||
 | 
					                             join loc in Locations on r.LocationId equals loc.Id
 | 
				
			||||||
                             select new
 | 
					                             select new
 | 
				
			||||||
                             {
 | 
					                             {
 | 
				
			||||||
                                 r.Id,
 | 
					                                 r.Id,
 | 
				
			||||||
@ -947,8 +962,10 @@ namespace DamageAssesment.Api.Responses.Providers
 | 
				
			|||||||
                                 r.EmployeeId,
 | 
					                                 r.EmployeeId,
 | 
				
			||||||
                                 r.ClientDevice,
 | 
					                                 r.ClientDevice,
 | 
				
			||||||
                                 r.KeyAnswerResult,
 | 
					                                 r.KeyAnswerResult,
 | 
				
			||||||
                                 r.Longitute,
 | 
					                                 loc.DataValue,
 | 
				
			||||||
                                 r.Latitude,
 | 
					                                 loc.Enrollment,
 | 
				
			||||||
 | 
					                                 loc.Longitute,
 | 
				
			||||||
 | 
					                                 loc.Latitude,
 | 
				
			||||||
                                 Employee = employeeid != 0 ? _employee : (from e in employees where r.EmployeeId == e.Id select new { e.Id, e.Name, e.BirthDate, e.Email, e.OfficePhoneNumber }).SingleOrDefault(),
 | 
					                                 Employee = employeeid != 0 ? _employee : (from e in employees where r.EmployeeId == e.Id select new { e.Id, e.Name, e.BirthDate, e.Email, e.OfficePhoneNumber }).SingleOrDefault(),
 | 
				
			||||||
                                 answers = from ans in answers
 | 
					                                 answers = from ans in answers
 | 
				
			||||||
                                           where ans.SurveyResponseId == r.Id
 | 
					                                           where ans.SurveyResponseId == r.Id
 | 
				
			||||||
@ -1004,8 +1021,9 @@ namespace DamageAssesment.Api.Responses.Providers
 | 
				
			|||||||
                // 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();
 | 
				
			||||||
 | 
					                var Locations = await locationServiceProvider.getLocationsAsync();
 | 
				
			||||||
                var result = from r in surveyResponses
 | 
					                var result = from r in surveyResponses
 | 
				
			||||||
 | 
					                             join loc in Locations on r.LocationId equals loc.Id
 | 
				
			||||||
                             select new
 | 
					                             select new
 | 
				
			||||||
                             {
 | 
					                             {
 | 
				
			||||||
                                 r.Id,
 | 
					                                 r.Id,
 | 
				
			||||||
@ -1014,8 +1032,10 @@ namespace DamageAssesment.Api.Responses.Providers
 | 
				
			|||||||
                                 r.EmployeeId,
 | 
					                                 r.EmployeeId,
 | 
				
			||||||
                                 r.ClientDevice,
 | 
					                                 r.ClientDevice,
 | 
				
			||||||
                                 r.KeyAnswerResult,
 | 
					                                 r.KeyAnswerResult,
 | 
				
			||||||
                                 r.Longitute,
 | 
					                                 loc.DataValue,
 | 
				
			||||||
                                 r.Latitude,
 | 
					                                 loc.Enrollment,
 | 
				
			||||||
 | 
					                                 loc.Longitute,
 | 
				
			||||||
 | 
					                                 loc.Latitude,
 | 
				
			||||||
                                 Employee = employeeid != 0 ? _employee : (from e in employees where r.EmployeeId == e.Id select new { e.Id, e.Name, e.BirthDate, e.Email, e.OfficePhoneNumber }).SingleOrDefault(),
 | 
					                                 Employee = employeeid != 0 ? _employee : (from e in employees where r.EmployeeId == e.Id select new { e.Id, e.Name, e.BirthDate, e.Email, e.OfficePhoneNumber }).SingleOrDefault(),
 | 
				
			||||||
                                 answers = from ans in answers
 | 
					                                 answers = from ans in answers
 | 
				
			||||||
                                           where ans.SurveyResponseId == r.Id
 | 
					                                           where ans.SurveyResponseId == r.Id
 | 
				
			||||||
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user