forked from MDCPS/DamageAssessment_Backend
		
	Compare commits
	
		
			2 Commits
		
	
	
		
			sql-userac
			...
			6fbe2197-r
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 0c13528940 | |||
| 6fbe21979f | 
@ -12,11 +12,9 @@ namespace DamageAssesment.SurveyResponses.Test
 | 
				
			|||||||
    public class SurveyResponsesServiceTest
 | 
					    public class SurveyResponsesServiceTest
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
        Mock<ISurveysResponse> mockSurveyResponseService;
 | 
					        Mock<ISurveysResponse> mockSurveyResponseService;
 | 
				
			||||||
        Mock<IExcelExportService> mockExcelExportService;
 | 
					 | 
				
			||||||
        public SurveyResponsesServiceTest()
 | 
					        public SurveyResponsesServiceTest()
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            mockSurveyResponseService = new Mock<ISurveysResponse>();
 | 
					            mockSurveyResponseService = new Mock<ISurveysResponse>();
 | 
				
			||||||
            mockExcelExportService = new Mock<IExcelExportService>();
 | 
					 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        [Fact(DisplayName = "Get Responses - Ok case")]
 | 
					        [Fact(DisplayName = "Get Responses - Ok case")]
 | 
				
			||||||
@ -25,7 +23,7 @@ namespace DamageAssesment.SurveyResponses.Test
 | 
				
			|||||||
            SurveyResponse mockRequestObject = await MockData.getSurveyResponseObject();
 | 
					            SurveyResponse mockRequestObject = await MockData.getSurveyResponseObject();
 | 
				
			||||||
            var mockResponse = await MockData.getOkResponse(mockRequestObject);
 | 
					            var mockResponse = await MockData.getOkResponse(mockRequestObject);
 | 
				
			||||||
            mockSurveyResponseService.Setup(service => service.GetSurveyResponsesAsync(1)).ReturnsAsync(mockResponse);
 | 
					            mockSurveyResponseService.Setup(service => service.GetSurveyResponsesAsync(1)).ReturnsAsync(mockResponse);
 | 
				
			||||||
            var surveyResponseProvider = new SurveyResponsesController(mockSurveyResponseService.Object, mockExcelExportService.Object);
 | 
					            var surveyResponseProvider = new SurveyResponsesController(mockSurveyResponseService.Object);
 | 
				
			||||||
            var result = (OkObjectResult)await surveyResponseProvider.GetSurveyResponsesAsync(1);
 | 
					            var result = (OkObjectResult)await surveyResponseProvider.GetSurveyResponsesAsync(1);
 | 
				
			||||||
            Assert.Equal(200, result.StatusCode);
 | 
					            Assert.Equal(200, result.StatusCode);
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
@ -35,7 +33,7 @@ namespace DamageAssesment.SurveyResponses.Test
 | 
				
			|||||||
        {
 | 
					        {
 | 
				
			||||||
            var mockResponse = await MockData.getResponse();
 | 
					            var mockResponse = await MockData.getResponse();
 | 
				
			||||||
            mockSurveyResponseService.Setup(service => service.GetSurveyResponsesAsync(1)).ReturnsAsync(mockResponse);
 | 
					            mockSurveyResponseService.Setup(service => service.GetSurveyResponsesAsync(1)).ReturnsAsync(mockResponse);
 | 
				
			||||||
            var surveyResponseProvider = new SurveyResponsesController(mockSurveyResponseService.Object, mockExcelExportService.Object);
 | 
					            var surveyResponseProvider = new SurveyResponsesController(mockSurveyResponseService.Object);
 | 
				
			||||||
            var result = (BadRequestObjectResult)await surveyResponseProvider.GetSurveyResponsesAsync(1);
 | 
					            var result = (BadRequestObjectResult)await surveyResponseProvider.GetSurveyResponsesAsync(1);
 | 
				
			||||||
            Assert.Equal(400, result.StatusCode);
 | 
					            Assert.Equal(400, result.StatusCode);
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
@ -45,9 +43,9 @@ namespace DamageAssesment.SurveyResponses.Test
 | 
				
			|||||||
        {
 | 
					        {
 | 
				
			||||||
            SurveyResponse mockRequestObject = await MockData.getSurveyResponseObject();
 | 
					            SurveyResponse mockRequestObject = await MockData.getSurveyResponseObject();
 | 
				
			||||||
            var mockResponse = await MockData.getOkResponse();
 | 
					            var mockResponse = await MockData.getOkResponse();
 | 
				
			||||||
            mockSurveyResponseService.Setup(service => service.GetSurveyResponsesBySurveyAsync(1, 1)).ReturnsAsync(mockResponse);
 | 
					            mockSurveyResponseService.Setup(service => service.GetSurveyResponsesBySurveyAsync(1,1)).ReturnsAsync(mockResponse);
 | 
				
			||||||
            var surveyResponseProvider = new SurveyResponsesController(mockSurveyResponseService.Object, mockExcelExportService.Object);
 | 
					            var surveyResponseProvider = new SurveyResponsesController(mockSurveyResponseService.Object);
 | 
				
			||||||
            var result = (OkObjectResult)await surveyResponseProvider.GetSurveyResponsesAsync(1, 1);
 | 
					            var result = (OkObjectResult)await surveyResponseProvider.GetSurveyResponsesAsync(1,1);
 | 
				
			||||||
            Assert.Equal(200, result.StatusCode);
 | 
					            Assert.Equal(200, result.StatusCode);
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -55,9 +53,9 @@ namespace DamageAssesment.SurveyResponses.Test
 | 
				
			|||||||
        public async Task GetSurveyResponsesBySurveyAsync_ShouldReturnStatusCode204()
 | 
					        public async Task GetSurveyResponsesBySurveyAsync_ShouldReturnStatusCode204()
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            var mockResponse = await MockData.getResponse();
 | 
					            var mockResponse = await MockData.getResponse();
 | 
				
			||||||
            mockSurveyResponseService.Setup(service => service.GetSurveyResponsesBySurveyAsync(1, 1)).ReturnsAsync(mockResponse);
 | 
					            mockSurveyResponseService.Setup(service => service.GetSurveyResponsesBySurveyAsync(1,1)).ReturnsAsync(mockResponse);
 | 
				
			||||||
            var surveyResponseProvider = new SurveyResponsesController(mockSurveyResponseService.Object, mockExcelExportService.Object);
 | 
					            var surveyResponseProvider = new SurveyResponsesController(mockSurveyResponseService.Object);
 | 
				
			||||||
            var result = (NoContentResult)await surveyResponseProvider.GetSurveyResponsesAsync(1, 1);
 | 
					            var result = (NoContentResult)await surveyResponseProvider.GetSurveyResponsesAsync(1,1);
 | 
				
			||||||
            Assert.Equal(204, result.StatusCode);
 | 
					            Assert.Equal(204, result.StatusCode);
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -69,9 +67,9 @@ namespace DamageAssesment.SurveyResponses.Test
 | 
				
			|||||||
        {
 | 
					        {
 | 
				
			||||||
            SurveyResponse mockRequestObject = await MockData.getSurveyResponseObject();
 | 
					            SurveyResponse mockRequestObject = await MockData.getSurveyResponseObject();
 | 
				
			||||||
            var mockResponse = await MockData.getOkResponse();
 | 
					            var mockResponse = await MockData.getOkResponse();
 | 
				
			||||||
            mockSurveyResponseService.Setup(service => service.GetSurveyResponsesBySurveyAndLocationAsync(1, 1, 1)).ReturnsAsync(mockResponse);
 | 
					            mockSurveyResponseService.Setup(service => service.GetSurveyResponsesBySurveyAndLocationAsync(1, 1,1)).ReturnsAsync(mockResponse);
 | 
				
			||||||
            var surveyResponseProvider = new SurveyResponsesController(mockSurveyResponseService.Object, mockExcelExportService.Object);
 | 
					            var surveyResponseProvider = new SurveyResponsesController(mockSurveyResponseService.Object);
 | 
				
			||||||
            var result = (OkObjectResult)await surveyResponseProvider.GetSurveyResponsesBySurveyAndLocationAsync(1, 1, 1);
 | 
					            var result = (OkObjectResult)await surveyResponseProvider.GetSurveyResponsesBySurveyAndLocationAsync(1, 1,1);
 | 
				
			||||||
            Assert.Equal(200, result.StatusCode);
 | 
					            Assert.Equal(200, result.StatusCode);
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -80,7 +78,7 @@ namespace DamageAssesment.SurveyResponses.Test
 | 
				
			|||||||
        {
 | 
					        {
 | 
				
			||||||
            var mockResponse = await MockData.getResponse();
 | 
					            var mockResponse = await MockData.getResponse();
 | 
				
			||||||
            mockSurveyResponseService.Setup(service => service.GetSurveyResponsesBySurveyAndLocationAsync(1, 1, 1)).ReturnsAsync(mockResponse);
 | 
					            mockSurveyResponseService.Setup(service => service.GetSurveyResponsesBySurveyAndLocationAsync(1, 1, 1)).ReturnsAsync(mockResponse);
 | 
				
			||||||
            var surveyResponseProvider = new SurveyResponsesController(mockSurveyResponseService.Object, mockExcelExportService.Object);
 | 
					            var surveyResponseProvider = new SurveyResponsesController(mockSurveyResponseService.Object);
 | 
				
			||||||
            var result = (NoContentResult)await surveyResponseProvider.GetSurveyResponsesBySurveyAndLocationAsync(1, 1, 1);
 | 
					            var result = (NoContentResult)await surveyResponseProvider.GetSurveyResponsesBySurveyAndLocationAsync(1, 1, 1);
 | 
				
			||||||
            Assert.Equal(204, result.StatusCode);
 | 
					            Assert.Equal(204, result.StatusCode);
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
@ -90,9 +88,9 @@ namespace DamageAssesment.SurveyResponses.Test
 | 
				
			|||||||
        {
 | 
					        {
 | 
				
			||||||
            SurveyResponse mockRequestObject = await MockData.getSurveyResponseObject();
 | 
					            SurveyResponse mockRequestObject = await MockData.getSurveyResponseObject();
 | 
				
			||||||
            var mockResponse = await MockData.getOkResponse();
 | 
					            var mockResponse = await MockData.getOkResponse();
 | 
				
			||||||
            mockSurveyResponseService.Setup(service => service.GetResponsesByAnswerAsync(1, 1, "Yes", 1)).ReturnsAsync(mockResponse);
 | 
					            mockSurveyResponseService.Setup(service => service.GetResponsesByAnswerAsync(1, 1, "Yes",1)).ReturnsAsync(mockResponse);
 | 
				
			||||||
            var surveyResponseProvider = new SurveyResponsesController(mockSurveyResponseService.Object, mockExcelExportService.Object);
 | 
					            var surveyResponseProvider = new SurveyResponsesController(mockSurveyResponseService.Object);
 | 
				
			||||||
            var result = (OkObjectResult)await surveyResponseProvider.GetSurveyResponsesByAnswerAsyncAsync(1, 1, "Yes", 1);
 | 
					            var result = (OkObjectResult)await surveyResponseProvider.GetSurveyResponsesByAnswerAsyncAsync(1, 1, "Yes",1);
 | 
				
			||||||
            Assert.Equal(200, result.StatusCode);
 | 
					            Assert.Equal(200, result.StatusCode);
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -101,8 +99,8 @@ namespace DamageAssesment.SurveyResponses.Test
 | 
				
			|||||||
        {
 | 
					        {
 | 
				
			||||||
            var mockResponse = await MockData.getResponse();
 | 
					            var mockResponse = await MockData.getResponse();
 | 
				
			||||||
            mockSurveyResponseService.Setup(service => service.GetResponsesByAnswerAsync(1, 1, "Yes", 1)).ReturnsAsync(mockResponse);
 | 
					            mockSurveyResponseService.Setup(service => service.GetResponsesByAnswerAsync(1, 1, "Yes", 1)).ReturnsAsync(mockResponse);
 | 
				
			||||||
            var surveyResponseProvider = new SurveyResponsesController(mockSurveyResponseService.Object, mockExcelExportService.Object);
 | 
					            var surveyResponseProvider = new SurveyResponsesController(mockSurveyResponseService.Object);
 | 
				
			||||||
            var result = (NoContentResult)await surveyResponseProvider.GetSurveyResponsesByAnswerAsyncAsync(1, 1, "Yes", 1);
 | 
					            var result = (NoContentResult)await surveyResponseProvider.GetSurveyResponsesByAnswerAsyncAsync(1, 1, "Yes",1);
 | 
				
			||||||
            Assert.Equal(204, result.StatusCode);
 | 
					            Assert.Equal(204, result.StatusCode);
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -112,8 +110,8 @@ namespace DamageAssesment.SurveyResponses.Test
 | 
				
			|||||||
        {
 | 
					        {
 | 
				
			||||||
            SurveyResponse mockRequestObject = await MockData.getSurveyResponseObject();
 | 
					            SurveyResponse mockRequestObject = await MockData.getSurveyResponseObject();
 | 
				
			||||||
            var mockResponse = await MockData.getOkResponse();
 | 
					            var mockResponse = await MockData.getOkResponse();
 | 
				
			||||||
            mockSurveyResponseService.Setup(service => service.GetAnswersByRegionAsync(1, 1)).ReturnsAsync(mockResponse);
 | 
					            mockSurveyResponseService.Setup(service => service.GetAnswersByRegionAsync(1,1)).ReturnsAsync(mockResponse);
 | 
				
			||||||
            var surveyResponseProvider = new SurveyResponsesController(mockSurveyResponseService.Object, mockExcelExportService.Object);
 | 
					            var surveyResponseProvider = new SurveyResponsesController(mockSurveyResponseService.Object);
 | 
				
			||||||
            var result = (OkObjectResult)await surveyResponseProvider.GetAnswersByRegionAsync(1, 1);
 | 
					            var result = (OkObjectResult)await surveyResponseProvider.GetAnswersByRegionAsync(1, 1);
 | 
				
			||||||
            Assert.Equal(200, result.StatusCode);
 | 
					            Assert.Equal(200, result.StatusCode);
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
@ -123,7 +121,7 @@ namespace DamageAssesment.SurveyResponses.Test
 | 
				
			|||||||
        {
 | 
					        {
 | 
				
			||||||
            var mockResponse = await MockData.getResponse();
 | 
					            var mockResponse = await MockData.getResponse();
 | 
				
			||||||
            mockSurveyResponseService.Setup(service => service.GetAnswersByRegionAsync(1, 1)).ReturnsAsync(mockResponse);
 | 
					            mockSurveyResponseService.Setup(service => service.GetAnswersByRegionAsync(1, 1)).ReturnsAsync(mockResponse);
 | 
				
			||||||
            var surveyResponseProvider = new SurveyResponsesController(mockSurveyResponseService.Object, mockExcelExportService.Object);
 | 
					            var surveyResponseProvider = new SurveyResponsesController(mockSurveyResponseService.Object);
 | 
				
			||||||
            var result = (NoContentResult)await surveyResponseProvider.GetAnswersByRegionAsync(1, 1);
 | 
					            var result = (NoContentResult)await surveyResponseProvider.GetAnswersByRegionAsync(1, 1);
 | 
				
			||||||
            Assert.Equal(204, result.StatusCode);
 | 
					            Assert.Equal(204, result.StatusCode);
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
@ -134,7 +132,7 @@ namespace DamageAssesment.SurveyResponses.Test
 | 
				
			|||||||
            SurveyResponse mockRequestObject = await MockData.getSurveyResponseObject();
 | 
					            SurveyResponse mockRequestObject = await MockData.getSurveyResponseObject();
 | 
				
			||||||
            var mockResponse = await MockData.getOkResponse();
 | 
					            var mockResponse = await MockData.getOkResponse();
 | 
				
			||||||
            mockSurveyResponseService.Setup(service => service.GetSurveyResponsesByMaintenanceCenterAsync(1, 1)).ReturnsAsync(mockResponse);
 | 
					            mockSurveyResponseService.Setup(service => service.GetSurveyResponsesByMaintenanceCenterAsync(1, 1)).ReturnsAsync(mockResponse);
 | 
				
			||||||
            var surveyResponseProvider = new SurveyResponsesController(mockSurveyResponseService.Object, mockExcelExportService.Object);
 | 
					            var surveyResponseProvider = new SurveyResponsesController(mockSurveyResponseService.Object);
 | 
				
			||||||
            var result = (OkObjectResult)await surveyResponseProvider.GetAnswersByMaintenaceCentersync(1, 1);
 | 
					            var result = (OkObjectResult)await surveyResponseProvider.GetAnswersByMaintenaceCentersync(1, 1);
 | 
				
			||||||
            Assert.Equal(200, result.StatusCode);
 | 
					            Assert.Equal(200, result.StatusCode);
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
@ -144,7 +142,7 @@ namespace DamageAssesment.SurveyResponses.Test
 | 
				
			|||||||
        {
 | 
					        {
 | 
				
			||||||
            var mockResponse = await MockData.getResponse();
 | 
					            var mockResponse = await MockData.getResponse();
 | 
				
			||||||
            mockSurveyResponseService.Setup(service => service.GetSurveyResponsesByMaintenanceCenterAsync(1, 1)).ReturnsAsync(mockResponse);
 | 
					            mockSurveyResponseService.Setup(service => service.GetSurveyResponsesByMaintenanceCenterAsync(1, 1)).ReturnsAsync(mockResponse);
 | 
				
			||||||
            var surveyResponseProvider = new SurveyResponsesController(mockSurveyResponseService.Object, mockExcelExportService.Object);
 | 
					            var surveyResponseProvider = new SurveyResponsesController(mockSurveyResponseService.Object);
 | 
				
			||||||
            var result = (NoContentResult)await surveyResponseProvider.GetAnswersByMaintenaceCentersync(1, 1);
 | 
					            var result = (NoContentResult)await surveyResponseProvider.GetAnswersByMaintenaceCentersync(1, 1);
 | 
				
			||||||
            Assert.Equal(204, result.StatusCode);
 | 
					            Assert.Equal(204, result.StatusCode);
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
@ -155,7 +153,7 @@ namespace DamageAssesment.SurveyResponses.Test
 | 
				
			|||||||
            SurveyResponse mockRequestObject = await MockData.getSurveyResponseObject();
 | 
					            SurveyResponse mockRequestObject = await MockData.getSurveyResponseObject();
 | 
				
			||||||
            var mockResponse = await MockData.getOkResponse();
 | 
					            var mockResponse = await MockData.getOkResponse();
 | 
				
			||||||
            mockSurveyResponseService.Setup(service => service.GetSurveyResponseByIdAsync(1)).ReturnsAsync(mockResponse);
 | 
					            mockSurveyResponseService.Setup(service => service.GetSurveyResponseByIdAsync(1)).ReturnsAsync(mockResponse);
 | 
				
			||||||
            var surveyResponseProvider = new SurveyResponsesController(mockSurveyResponseService.Object, mockExcelExportService.Object);
 | 
					            var surveyResponseProvider = new SurveyResponsesController(mockSurveyResponseService.Object);
 | 
				
			||||||
            var result = (OkObjectResult)await surveyResponseProvider.GetSurveyResponseByIdAsync(1);
 | 
					            var result = (OkObjectResult)await surveyResponseProvider.GetSurveyResponseByIdAsync(1);
 | 
				
			||||||
            Assert.Equal(200, result.StatusCode);
 | 
					            Assert.Equal(200, result.StatusCode);
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
@ -165,7 +163,7 @@ namespace DamageAssesment.SurveyResponses.Test
 | 
				
			|||||||
        {
 | 
					        {
 | 
				
			||||||
            var mockResponse = await MockData.getResponse();
 | 
					            var mockResponse = await MockData.getResponse();
 | 
				
			||||||
            mockSurveyResponseService.Setup(service => service.GetSurveyResponseByIdAsync(1)).ReturnsAsync(mockResponse);
 | 
					            mockSurveyResponseService.Setup(service => service.GetSurveyResponseByIdAsync(1)).ReturnsAsync(mockResponse);
 | 
				
			||||||
            var surveyResponseProvider = new SurveyResponsesController(mockSurveyResponseService.Object, mockExcelExportService.Object);
 | 
					            var surveyResponseProvider = new SurveyResponsesController(mockSurveyResponseService.Object);
 | 
				
			||||||
            var result = (NoContentResult)await surveyResponseProvider.GetSurveyResponseByIdAsync(1);
 | 
					            var result = (NoContentResult)await surveyResponseProvider.GetSurveyResponseByIdAsync(1);
 | 
				
			||||||
            Assert.Equal(204, result.StatusCode);
 | 
					            Assert.Equal(204, result.StatusCode);
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
@ -177,7 +175,7 @@ namespace DamageAssesment.SurveyResponses.Test
 | 
				
			|||||||
            SurveyResponse mockRequestObject = await MockData.getSurveyResponseObject();
 | 
					            SurveyResponse mockRequestObject = await MockData.getSurveyResponseObject();
 | 
				
			||||||
            var mockResponse = await MockData.getOkResponse(mockRequestObject);
 | 
					            var mockResponse = await MockData.getOkResponse(mockRequestObject);
 | 
				
			||||||
            mockSurveyResponseService.Setup(service => service.PostSurveyResponseAsync(mockRequestObject)).ReturnsAsync(mockResponse);
 | 
					            mockSurveyResponseService.Setup(service => service.PostSurveyResponseAsync(mockRequestObject)).ReturnsAsync(mockResponse);
 | 
				
			||||||
            var surveyResponseController = new SurveyResponsesController(mockSurveyResponseService.Object, mockExcelExportService.Object);
 | 
					            var surveyResponseController = new SurveyResponsesController(mockSurveyResponseService.Object);
 | 
				
			||||||
            var result = (OkObjectResult)await surveyResponseController.PostSurveysAsync(mockRequestObject);
 | 
					            var result = (OkObjectResult)await surveyResponseController.PostSurveysAsync(mockRequestObject);
 | 
				
			||||||
            Assert.Equal(200, result.StatusCode);
 | 
					            Assert.Equal(200, result.StatusCode);
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
@ -188,7 +186,7 @@ namespace DamageAssesment.SurveyResponses.Test
 | 
				
			|||||||
            SurveyResponse mockRequestObject = await MockData.getSurveyResponseObject();
 | 
					            SurveyResponse mockRequestObject = await MockData.getSurveyResponseObject();
 | 
				
			||||||
            var mockResponse = await MockData.getResponse();
 | 
					            var mockResponse = await MockData.getResponse();
 | 
				
			||||||
            mockSurveyResponseService.Setup(service => service.PostSurveyResponseAsync(mockRequestObject)).ReturnsAsync(mockResponse);
 | 
					            mockSurveyResponseService.Setup(service => service.PostSurveyResponseAsync(mockRequestObject)).ReturnsAsync(mockResponse);
 | 
				
			||||||
            var surveyResponseController = new SurveyResponsesController(mockSurveyResponseService.Object, mockExcelExportService.Object);
 | 
					            var surveyResponseController = new SurveyResponsesController(mockSurveyResponseService.Object);
 | 
				
			||||||
            var result = (BadRequestObjectResult)await surveyResponseController.PostSurveysAsync(mockRequestObject);
 | 
					            var result = (BadRequestObjectResult)await surveyResponseController.PostSurveysAsync(mockRequestObject);
 | 
				
			||||||
            Assert.Equal(400, result.StatusCode);
 | 
					            Assert.Equal(400, result.StatusCode);
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
@ -199,7 +197,7 @@ namespace DamageAssesment.SurveyResponses.Test
 | 
				
			|||||||
            SurveyResponse mockRequestObject = await MockData.getSurveyResponseObject();
 | 
					            SurveyResponse mockRequestObject = await MockData.getSurveyResponseObject();
 | 
				
			||||||
            var mockResponse = await MockData.getOkResponse(mockRequestObject);
 | 
					            var mockResponse = await MockData.getOkResponse(mockRequestObject);
 | 
				
			||||||
            mockSurveyResponseService.Setup(service => service.PutSurveyResponseAsync(1, mockRequestObject)).ReturnsAsync(mockResponse);
 | 
					            mockSurveyResponseService.Setup(service => service.PutSurveyResponseAsync(1, mockRequestObject)).ReturnsAsync(mockResponse);
 | 
				
			||||||
            var surveyResponseController = new SurveyResponsesController(mockSurveyResponseService.Object, mockExcelExportService.Object);
 | 
					            var surveyResponseController = new SurveyResponsesController(mockSurveyResponseService.Object);
 | 
				
			||||||
            var result = (OkObjectResult)await surveyResponseController.PutSurveyResponseAsync(1, mockRequestObject);
 | 
					            var result = (OkObjectResult)await surveyResponseController.PutSurveyResponseAsync(1, mockRequestObject);
 | 
				
			||||||
            Assert.Equal(200, result.StatusCode);
 | 
					            Assert.Equal(200, result.StatusCode);
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
@ -210,7 +208,7 @@ namespace DamageAssesment.SurveyResponses.Test
 | 
				
			|||||||
            SurveyResponse mockRequestObject = await MockData.getSurveyResponseObject();
 | 
					            SurveyResponse mockRequestObject = await MockData.getSurveyResponseObject();
 | 
				
			||||||
            var mockResponse = await MockData.getResponse();
 | 
					            var mockResponse = await MockData.getResponse();
 | 
				
			||||||
            mockSurveyResponseService.Setup(service => service.PutSurveyResponseAsync(1, mockRequestObject)).ReturnsAsync(mockResponse); ;
 | 
					            mockSurveyResponseService.Setup(service => service.PutSurveyResponseAsync(1, mockRequestObject)).ReturnsAsync(mockResponse); ;
 | 
				
			||||||
            var surveyResponseController = new SurveyResponsesController(mockSurveyResponseService.Object, mockExcelExportService.Object);
 | 
					            var surveyResponseController = new SurveyResponsesController(mockSurveyResponseService.Object);
 | 
				
			||||||
            var result = (BadRequestObjectResult)await surveyResponseController.PutSurveyResponseAsync(1, mockRequestObject);
 | 
					            var result = (BadRequestObjectResult)await surveyResponseController.PutSurveyResponseAsync(1, mockRequestObject);
 | 
				
			||||||
            Assert.Equal(400, result.StatusCode);
 | 
					            Assert.Equal(400, result.StatusCode);
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
@ -221,7 +219,7 @@ namespace DamageAssesment.SurveyResponses.Test
 | 
				
			|||||||
            SurveyResponse mockRequestObject = await MockData.getSurveyResponseObject();
 | 
					            SurveyResponse mockRequestObject = await MockData.getSurveyResponseObject();
 | 
				
			||||||
            var mockResponse = await MockData.getOkResponse(mockRequestObject);
 | 
					            var mockResponse = await MockData.getOkResponse(mockRequestObject);
 | 
				
			||||||
            mockSurveyResponseService.Setup(service => service.DeleteSurveyResponseAsync(1)).ReturnsAsync(mockResponse);
 | 
					            mockSurveyResponseService.Setup(service => service.DeleteSurveyResponseAsync(1)).ReturnsAsync(mockResponse);
 | 
				
			||||||
            var surveyResponseController = new SurveyResponsesController(mockSurveyResponseService.Object, mockExcelExportService.Object);
 | 
					            var surveyResponseController = new SurveyResponsesController(mockSurveyResponseService.Object);
 | 
				
			||||||
            var result = (OkObjectResult)await surveyResponseController.DeleteSurveyResponseAsync(1);
 | 
					            var result = (OkObjectResult)await surveyResponseController.DeleteSurveyResponseAsync(1);
 | 
				
			||||||
            Assert.Equal(200, result.StatusCode);
 | 
					            Assert.Equal(200, result.StatusCode);
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
@ -231,7 +229,7 @@ namespace DamageAssesment.SurveyResponses.Test
 | 
				
			|||||||
        {
 | 
					        {
 | 
				
			||||||
            var mockResponse = await MockData.getResponse();
 | 
					            var mockResponse = await MockData.getResponse();
 | 
				
			||||||
            mockSurveyResponseService.Setup(service => service.DeleteSurveyResponseAsync(1)).ReturnsAsync(mockResponse); ;
 | 
					            mockSurveyResponseService.Setup(service => service.DeleteSurveyResponseAsync(1)).ReturnsAsync(mockResponse); ;
 | 
				
			||||||
            var surveyResponseController = new SurveyResponsesController(mockSurveyResponseService.Object, mockExcelExportService.Object);
 | 
					            var surveyResponseController = new SurveyResponsesController(mockSurveyResponseService.Object);
 | 
				
			||||||
            var result = (NotFoundResult)await surveyResponseController.DeleteSurveyResponseAsync(1);
 | 
					            var result = (NotFoundResult)await surveyResponseController.DeleteSurveyResponseAsync(1);
 | 
				
			||||||
            Assert.Equal(404, result.StatusCode);
 | 
					            Assert.Equal(404, result.StatusCode);
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
				
			|||||||
@ -8,12 +8,10 @@ namespace DamageAssesment.Api.Responses.Controllers
 | 
				
			|||||||
    public class SurveyResponsesController : ControllerBase
 | 
					    public class SurveyResponsesController : ControllerBase
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
        private readonly ISurveysResponse surveyResponseProvider;
 | 
					        private readonly ISurveysResponse surveyResponseProvider;
 | 
				
			||||||
        private readonly IExcelExportService excelExportService;
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
        public SurveyResponsesController(ISurveysResponse surveyResponseProvider, IExcelExportService excelExportService)
 | 
					        public SurveyResponsesController(ISurveysResponse surveyResponseProvider)
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            this.surveyResponseProvider = surveyResponseProvider;
 | 
					            this.surveyResponseProvider = surveyResponseProvider;
 | 
				
			||||||
            this.excelExportService = excelExportService;
 | 
					 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        /// <summary>
 | 
					        /// <summary>
 | 
				
			||||||
        /// GET request for retrieving survey responses.
 | 
					        /// GET request for retrieving survey responses.
 | 
				
			||||||
@ -59,9 +57,9 @@ namespace DamageAssesment.Api.Responses.Controllers
 | 
				
			|||||||
        [Route("responses/{surveyid:int}/{locationid:int}/{employeeid:int}")]
 | 
					        [Route("responses/{surveyid:int}/{locationid:int}/{employeeid:int}")]
 | 
				
			||||||
        [Route("responses/{surveyid:int}/{locationid:int}")]
 | 
					        [Route("responses/{surveyid:int}/{locationid:int}")]
 | 
				
			||||||
        [HttpGet]
 | 
					        [HttpGet]
 | 
				
			||||||
        public async Task<ActionResult> GetSurveyResponsesBySurveyAndLocationAsync(int surveyid, int locationid, int? employeeid)
 | 
					        public async Task<ActionResult> GetSurveyResponsesBySurveyAndLocationAsync(int surveyid, int locationid,int? employeeid)
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            var result = await this.surveyResponseProvider.GetSurveyResponsesBySurveyAndLocationAsync(surveyid, locationid, employeeid ?? 0);
 | 
					            var result = await this.surveyResponseProvider.GetSurveyResponsesBySurveyAndLocationAsync(surveyid, locationid,employeeid ?? 0);
 | 
				
			||||||
            if (result.IsSuccess)
 | 
					            if (result.IsSuccess)
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
                return Ok(result.SurveyResponses);
 | 
					                return Ok(result.SurveyResponses);
 | 
				
			||||||
@ -200,9 +198,7 @@ namespace DamageAssesment.Api.Responses.Controllers
 | 
				
			|||||||
            else
 | 
					            else
 | 
				
			||||||
                return BadRequest(result.ErrorMessage);
 | 
					                return BadRequest(result.ErrorMessage);
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        /// <summary>
 | 
					
 | 
				
			||||||
        /// Get All active surveys .
 | 
					 | 
				
			||||||
        /// </summary>
 | 
					 | 
				
			||||||
        [Route("responses/surveys/active")]
 | 
					        [Route("responses/surveys/active")]
 | 
				
			||||||
        [Route("responses/surveys/active/{language:alpha}")]
 | 
					        [Route("responses/surveys/active/{language:alpha}")]
 | 
				
			||||||
        [Route("responses/surveys/active/{employeeid:int}")]
 | 
					        [Route("responses/surveys/active/{employeeid:int}")]
 | 
				
			||||||
@ -217,39 +213,7 @@ namespace DamageAssesment.Api.Responses.Controllers
 | 
				
			|||||||
            }
 | 
					            }
 | 
				
			||||||
            return NoContent();
 | 
					            return NoContent();
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        /// <summary>
 | 
					 | 
				
			||||||
        /// Export surveys based on role .
 | 
					 | 
				
			||||||
        /// </summary>
 | 
					 | 
				
			||||||
        [HttpGet]
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
        [Route("responses/surveys/export")]
 | 
					 | 
				
			||||||
        public async Task<ActionResult> GetExcelSurveysAsync(string language,bool IsAdmin=false)
 | 
					 | 
				
			||||||
        {
 | 
					 | 
				
			||||||
            var result = await this.surveyResponseProvider.ExportSurveyResponsesAsync(language, IsAdmin);
 | 
					 | 
				
			||||||
            if (result.IsSuccess)
 | 
					 | 
				
			||||||
            {
 | 
					 | 
				
			||||||
                byte[] fileContents = excelExportService.ExportToExcel<object>(result.surveyResponses);
 | 
					 | 
				
			||||||
                return File(fileContents, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", "data.xlsx");
 | 
					 | 
				
			||||||
                //return Ok(result.Surveys);
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
            return NoContent();
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
        //[Route("responses/surveys/active")]
 | 
					 | 
				
			||||||
        //[Route("responses/surveys/active/{language:alpha}")]
 | 
					 | 
				
			||||||
        //[HttpGet]
 | 
					 | 
				
			||||||
        //public async Task<ActionResult> GetActiveSurveysAsync( string? language)
 | 
					 | 
				
			||||||
        //{
 | 
					 | 
				
			||||||
        //    var result = await this.surveyResponseProvider.GetActiveSurveysAsync(null, language);
 | 
					 | 
				
			||||||
        //    if (result.IsSuccess)
 | 
					 | 
				
			||||||
        //    {
 | 
					 | 
				
			||||||
        //        return Ok(result.Surveys);
 | 
					 | 
				
			||||||
        //    }
 | 
					 | 
				
			||||||
        //    return NoContent();
 | 
					 | 
				
			||||||
        //}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        /// <summary>
 | 
					 | 
				
			||||||
        /// Get all historical surveys .
 | 
					 | 
				
			||||||
        /// </summary>
 | 
					 | 
				
			||||||
        [Route("responses/surveys/historic")]
 | 
					        [Route("responses/surveys/historic")]
 | 
				
			||||||
        [Route("responses/surveys/historic/{language:alpha}")]
 | 
					        [Route("responses/surveys/historic/{language:alpha}")]
 | 
				
			||||||
        [Route("responses/surveys/historic/{employeeid:int}")]
 | 
					        [Route("responses/surveys/historic/{employeeid:int}")]
 | 
				
			||||||
 | 
				
			|||||||
@ -11,8 +11,6 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
  <ItemGroup>
 | 
					  <ItemGroup>
 | 
				
			||||||
    <PackageReference Include="AutoMapper.Extensions.Microsoft.DependencyInjection" Version="12.0.1" />
 | 
					    <PackageReference Include="AutoMapper.Extensions.Microsoft.DependencyInjection" Version="12.0.1" />
 | 
				
			||||||
    <PackageReference Include="ClosedXML" Version="0.102.1" />
 | 
					 | 
				
			||||||
    <PackageReference Include="EPPlus" Version="6.2.10" />
 | 
					 | 
				
			||||||
    <PackageReference Include="Microsoft.EntityFrameworkCore" Version="7.0.9" />
 | 
					    <PackageReference Include="Microsoft.EntityFrameworkCore" Version="7.0.9" />
 | 
				
			||||||
    <PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="7.0.9">
 | 
					    <PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="7.0.9">
 | 
				
			||||||
      <PrivateAssets>all</PrivateAssets>
 | 
					      <PrivateAssets>all</PrivateAssets>
 | 
				
			||||||
 | 
				
			|||||||
@ -1,7 +0,0 @@
 | 
				
			|||||||
namespace DamageAssesment.Api.Responses.Interfaces
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
    public interface IExcelExportService
 | 
					 | 
				
			||||||
    {
 | 
					 | 
				
			||||||
        public byte[] ExportToExcel<T1>(List<object> responses);
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
@ -4,9 +4,8 @@ namespace DamageAssesment.Api.Responses.Interfaces
 | 
				
			|||||||
{
 | 
					{
 | 
				
			||||||
    public interface IQuestionServiceProvider
 | 
					    public interface IQuestionServiceProvider
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
        Task<List<Question>> getQuestionsAsync(string language);
 | 
					        Task<List<Question>> getQuestionsAsync();
 | 
				
			||||||
        Task<List<SurveyQuestions>> getSurveyQuestionsAsync(int surveyId);
 | 
					        Task<List<SurveyQuestions>> getSurveyQuestionsAsync(int surveyId);
 | 
				
			||||||
        Task<Question> getQuestionsAsync(int questionId);
 | 
					        Task<Question> getQuestionsAsync(int questionId);
 | 
				
			||||||
        Task<List<QuestionCategory>> GetQuestionCategoriesAsync(string? language);
 | 
					 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
				
			|||||||
@ -7,9 +7,8 @@ namespace DamageAssesment.Api.Responses.Interfaces
 | 
				
			|||||||
    {
 | 
					    {
 | 
				
			||||||
        Task<(bool IsSuccess, dynamic Answers, string ErrorMessage)> GetAnswersByRegionAsync(int surveyId, int employeeid);
 | 
					        Task<(bool IsSuccess, dynamic Answers, string ErrorMessage)> GetAnswersByRegionAsync(int surveyId, int employeeid);
 | 
				
			||||||
        Task<(bool IsSuccess, Models.SurveyResponse SurveyResponse, string ErrorMessage)> PostSurveyResponseAsync(Models.SurveyResponse surveyResponse);
 | 
					        Task<(bool IsSuccess, Models.SurveyResponse SurveyResponse, string ErrorMessage)> PostSurveyResponseAsync(Models.SurveyResponse surveyResponse);
 | 
				
			||||||
        // Task<(bool IsSuccess,dynamic surveyResponses, string ErrorMessage)> GetSurveyResponseAsync(int responseId);
 | 
					       // Task<(bool IsSuccess,dynamic surveyResponses, string ErrorMessage)> GetSurveyResponseAsync(int responseId);
 | 
				
			||||||
        Task<(bool IsSuccess, dynamic surveyResponses, string ErrorMessage)> GetSurveyResponsesAsync(int employeeid);
 | 
					        Task<(bool IsSuccess, dynamic surveyResponses, string ErrorMessage)> GetSurveyResponsesAsync(int employeeid);
 | 
				
			||||||
        Task<(bool IsSuccess, List<object> surveyResponses, string ErrorMessage)> ExportSurveyResponsesAsync(string language,bool IsAdmin);
 | 
					 | 
				
			||||||
        Task<(bool IsSuccess, dynamic Surveys, string ErrorMessage)> GetActiveSurveysAsync(int? employeeid, string language);
 | 
					        Task<(bool IsSuccess, dynamic Surveys, string ErrorMessage)> GetActiveSurveysAsync(int? employeeid, string language);
 | 
				
			||||||
        Task<(bool IsSuccess, dynamic Surveys, string ErrorMessage)> GetHistoricSurveysAsync(int? employeeid, string language);
 | 
					        Task<(bool IsSuccess, dynamic Surveys, string ErrorMessage)> GetHistoricSurveysAsync(int? employeeid, string language);
 | 
				
			||||||
        Task<(bool IsSuccess, Models.SurveyResponse SurveyResponse, string ErrorMessage)> PutSurveyResponseAsync(int Id, Models.SurveyResponse surveyResponse);
 | 
					        Task<(bool IsSuccess, Models.SurveyResponse SurveyResponse, string ErrorMessage)> PutSurveyResponseAsync(int Id, Models.SurveyResponse surveyResponse);
 | 
				
			||||||
 | 
				
			|||||||
@ -11,7 +11,6 @@ namespace DamageAssesment.Api.Responses.Models
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
        public int? AnswerId { get; set; }
 | 
					        public int? AnswerId { get; set; }
 | 
				
			||||||
        public bool IsDeleted { get; set; }
 | 
					        public bool IsDeleted { get; set; }
 | 
				
			||||||
        public string FileName { get; set; }
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
        public Attachment(int answerId, string uri)
 | 
					        public Attachment(int answerId, string uri)
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
 | 
				
			|||||||
@ -4,7 +4,6 @@
 | 
				
			|||||||
    {
 | 
					    {
 | 
				
			||||||
        public int Id { get; set; }
 | 
					        public int Id { get; set; }
 | 
				
			||||||
        public int RegionId { get; set; }
 | 
					        public int RegionId { get; set; }
 | 
				
			||||||
        public string LocationCode { get; set; }
 | 
					 | 
				
			||||||
        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; }
 | 
				
			||||||
 | 
				
			|||||||
@ -1,10 +0,0 @@
 | 
				
			|||||||
namespace DamageAssesment.Api.Responses.Models
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
    public class QuestionCategory
 | 
					 | 
				
			||||||
    {
 | 
					 | 
				
			||||||
        public int Id { get; set; }
 | 
					 | 
				
			||||||
        public string IconName { get; set; }
 | 
					 | 
				
			||||||
        public string IconLibrary { get; set; }
 | 
					 | 
				
			||||||
        public object Titles { get; set; }
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
@ -1,24 +0,0 @@
 | 
				
			|||||||
namespace DamageAssesment.Api.Responses.Models
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
    public class SurveyExport
 | 
					 | 
				
			||||||
    {
 | 
					 | 
				
			||||||
        public int Id { get; set; }
 | 
					 | 
				
			||||||
        public string SurveyQuestion { get; set; }  
 | 
					 | 
				
			||||||
        public string Answer { get; set; }
 | 
					 | 
				
			||||||
        public string Category { get; set; }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        public string School { get; set; }
 | 
					 | 
				
			||||||
        public string Location { get; set; }
 | 
					 | 
				
			||||||
        public string Region { get; set; }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        public string MC { get; set; }
 | 
					 | 
				
			||||||
        public string ResponseDate { get; set; }
 | 
					 | 
				
			||||||
        public string Notes { get; set; }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        public string Attachment1 { get; set; }
 | 
					 | 
				
			||||||
        public string Attachment2 { get; set; }
 | 
					 | 
				
			||||||
        public string Attachment3 { get; set; }
 | 
					 | 
				
			||||||
        public string Attachment4 { get; set; }
 | 
					 | 
				
			||||||
        public string Attachment5 { get; set; }
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
@ -26,7 +26,6 @@ builder.Services.AddScoped<IQuestionServiceProvider, QuestionServiceProvider>();
 | 
				
			|||||||
builder.Services.AddScoped<IEmployeeServiceProvider, EmployeeServiceProvider>();
 | 
					builder.Services.AddScoped<IEmployeeServiceProvider, EmployeeServiceProvider>();
 | 
				
			||||||
builder.Services.AddScoped<IAttachmentServiceProvider, AttachmentServiceProvider>();
 | 
					builder.Services.AddScoped<IAttachmentServiceProvider, AttachmentServiceProvider>();
 | 
				
			||||||
builder.Services.AddScoped<ISurveyServiceProvider, SurveyServiceProvider>();
 | 
					builder.Services.AddScoped<ISurveyServiceProvider, SurveyServiceProvider>();
 | 
				
			||||||
builder.Services.AddScoped<IExcelExportService, ExcelExportService>();
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
builder.Services.AddHttpClient<IHttpUtil, HttpUtil>().
 | 
					builder.Services.AddHttpClient<IHttpUtil, HttpUtil>().
 | 
				
			||||||
    AddTransientHttpErrorPolicy(policy => policy.WaitAndRetryAsync(maxApiCallRetries, _ => TimeSpan.FromSeconds(intervalToRetry))).
 | 
					    AddTransientHttpErrorPolicy(policy => policy.WaitAndRetryAsync(maxApiCallRetries, _ => TimeSpan.FromSeconds(intervalToRetry))).
 | 
				
			||||||
 | 
				
			|||||||
@ -1,57 +0,0 @@
 | 
				
			|||||||
using ClosedXML.Excel;
 | 
					 | 
				
			||||||
using DamageAssesment.Api.Responses.Interfaces;
 | 
					 | 
				
			||||||
using DamageAssesment.Api.Responses.Models;
 | 
					 | 
				
			||||||
using OfficeOpenXml;
 | 
					 | 
				
			||||||
using System.Collections.Generic;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
namespace DamageAssesment.Api.Responses.Providers
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
    public class ExcelExportService: IExcelExportService
 | 
					 | 
				
			||||||
    {
 | 
					 | 
				
			||||||
        public byte[] ExportToExcel<T1>(List<object> responses)
 | 
					 | 
				
			||||||
        { 
 | 
					 | 
				
			||||||
            ExcelPackage.LicenseContext = LicenseContext.NonCommercial;
 | 
					 | 
				
			||||||
            using (var package = new ExcelPackage())
 | 
					 | 
				
			||||||
            {
 | 
					 | 
				
			||||||
                // Create the first worksheet and populate it with responses
 | 
					 | 
				
			||||||
                var workSheet1 = package.Workbook.Worksheets.Add("responses");
 | 
					 | 
				
			||||||
                PopulateWorksheet(workSheet1, responses);
 | 
					 | 
				
			||||||
                return package.GetAsByteArray();
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
        private void PopulateWorksheet(ExcelWorksheet worksheet, List<object> data)
 | 
					 | 
				
			||||||
        {
 | 
					 | 
				
			||||||
            if (data.Count > 0)
 | 
					 | 
				
			||||||
            {
 | 
					 | 
				
			||||||
                var properties = data[0].GetType().GetProperties();
 | 
					 | 
				
			||||||
                List<int> IsAttchments = new List<int>();
 | 
					 | 
				
			||||||
                // Add column headers
 | 
					 | 
				
			||||||
                for (int col = 1; col <= properties.Length; col++)
 | 
					 | 
				
			||||||
                {
 | 
					 | 
				
			||||||
                    worksheet.Cells[1, col].Value = properties[col - 1].Name;
 | 
					 | 
				
			||||||
                    if(properties[col - 1].Name.ToLower().Contains("attachment"))
 | 
					 | 
				
			||||||
                        IsAttchments.Add(col);
 | 
					 | 
				
			||||||
                }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
                // Add data
 | 
					 | 
				
			||||||
                for (int row = 2; row <= data.Count + 1; row++)
 | 
					 | 
				
			||||||
                {
 | 
					 | 
				
			||||||
                    for (int col = 1; col <= properties.Length; col++)
 | 
					 | 
				
			||||||
                    {
 | 
					 | 
				
			||||||
                        string value = Convert.ToString(properties[col - 1].GetValue(data[row - 2]));
 | 
					 | 
				
			||||||
                        if (IsAttchments.Where(a => a == col).Count()>0&& !string.IsNullOrEmpty(value))
 | 
					 | 
				
			||||||
                        {
 | 
					 | 
				
			||||||
                            List<string> attachments = value.Split("##").ToList();
 | 
					 | 
				
			||||||
                            Uri linkUri = new Uri(attachments[1]);
 | 
					 | 
				
			||||||
                            worksheet.Cells[row, col].Hyperlink = linkUri;
 | 
					 | 
				
			||||||
                            worksheet.Cells[row, col].Value = attachments[0];
 | 
					 | 
				
			||||||
                            worksheet.Cells[row, col].Style.Font.UnderLine = true;
 | 
					 | 
				
			||||||
                        }
 | 
					 | 
				
			||||||
                        else
 | 
					 | 
				
			||||||
                            worksheet.Cells[row, col].Value = value;
 | 
					 | 
				
			||||||
                    }
 | 
					 | 
				
			||||||
                }
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
@ -3,9 +3,6 @@ using DamageAssesment.Api.Responses.Db;
 | 
				
			|||||||
using DamageAssesment.Api.Responses.Interfaces;
 | 
					using DamageAssesment.Api.Responses.Interfaces;
 | 
				
			||||||
using DamageAssesment.Api.Responses.Models;
 | 
					using DamageAssesment.Api.Responses.Models;
 | 
				
			||||||
using Microsoft.EntityFrameworkCore;
 | 
					using Microsoft.EntityFrameworkCore;
 | 
				
			||||||
using Microsoft.EntityFrameworkCore.Metadata.Internal;
 | 
					 | 
				
			||||||
using System.Reflection;
 | 
					 | 
				
			||||||
using System.Text.Json;
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
namespace DamageAssesment.Api.Responses.Providers
 | 
					namespace DamageAssesment.Api.Responses.Providers
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
@ -46,6 +43,7 @@ namespace DamageAssesment.Api.Responses.Providers
 | 
				
			|||||||
                // Create and save SurveyResponse records with references to existing Employee and Location records
 | 
					                // 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 = "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 = "Mobile", Latitude = 98.8767, Longitute = -129.9897, KeyAnswerResult = "true", CreatedDate = DateTime.Now });
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                surveyResponseDbContext.SaveChanges();
 | 
					                surveyResponseDbContext.SaveChanges();
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
@ -309,26 +307,6 @@ namespace DamageAssesment.Api.Responses.Providers
 | 
				
			|||||||
                return (false, null, ex.Message);
 | 
					                return (false, null, ex.Message);
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        public async Task<(bool IsSuccess, List<object> surveyResponses, string ErrorMessage)> ExportSurveyResponsesAsync(string language,bool isadmin)
 | 
					 | 
				
			||||||
        {
 | 
					 | 
				
			||||||
            try
 | 
					 | 
				
			||||||
            {
 | 
					 | 
				
			||||||
                var responses = await getAllSurveyResponsesExcelAsync(language, isadmin);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
                if (responses != null)
 | 
					 | 
				
			||||||
                    return (true, responses, "Request Successful.");
 | 
					 | 
				
			||||||
                else
 | 
					 | 
				
			||||||
                {
 | 
					 | 
				
			||||||
                    responses = null;
 | 
					 | 
				
			||||||
                    return (true, responses, "Empty object returned");
 | 
					 | 
				
			||||||
                }
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
            catch (Exception ex)
 | 
					 | 
				
			||||||
            {
 | 
					 | 
				
			||||||
                logger?.LogError(ex.ToString());
 | 
					 | 
				
			||||||
                return (false, null, ex.Message);
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
        public async Task<(bool IsSuccess, Models.SurveyResponse SurveyResponse, string ErrorMessage)> PostSurveyResponseAsync(Models.SurveyResponse surveyResponse)
 | 
					        public async Task<(bool IsSuccess, Models.SurveyResponse SurveyResponse, string ErrorMessage)> PostSurveyResponseAsync(Models.SurveyResponse surveyResponse)
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
@ -509,7 +487,7 @@ namespace DamageAssesment.Api.Responses.Providers
 | 
				
			|||||||
            {
 | 
					            {
 | 
				
			||||||
                var employee = await employeeServiceProvider.getEmployeeAsync(surveyResponse.EmployeeId);
 | 
					                var employee = await employeeServiceProvider.getEmployeeAsync(surveyResponse.EmployeeId);
 | 
				
			||||||
                var answers = await answerServiceProvider.GetAnswersByResponseIdAsync(surveyResponse.Id);
 | 
					                var answers = await answerServiceProvider.GetAnswersByResponseIdAsync(surveyResponse.Id);
 | 
				
			||||||
                var allQuestions = await questionServiceProvider.getQuestionsAsync(null);
 | 
					                var allQuestions = await questionServiceProvider.getQuestionsAsync();
 | 
				
			||||||
                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();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -565,7 +543,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();
 | 
				
			||||||
                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);
 | 
				
			||||||
@ -671,7 +649,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();
 | 
				
			||||||
                var attachments = await attachmentServiceProvider.getAttachmentsAsync();
 | 
					                var attachments = await attachmentServiceProvider.getAttachmentsAsync();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                var result = from r in surveyResonses
 | 
					                var result = from r in surveyResonses
 | 
				
			||||||
@ -708,136 +686,7 @@ namespace DamageAssesment.Api.Responses.Providers
 | 
				
			|||||||
                return null;
 | 
					                return null;
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        //Method to get All Survey Responses for excel export
 | 
					 | 
				
			||||||
        private async Task<List<object>> getAllSurveyResponsesExcelAsync(string language,bool isadmin)
 | 
					 | 
				
			||||||
        {
 | 
					 | 
				
			||||||
            try
 | 
					 | 
				
			||||||
            {
 | 
					 | 
				
			||||||
                if (string.IsNullOrEmpty(language)) language = "en";
 | 
					 | 
				
			||||||
                List<Db.SurveyResponse> surveyResonses;
 | 
					 | 
				
			||||||
                surveyResonses = await surveyResponseDbContext.SurveyResponses.ToListAsync();
 | 
					 | 
				
			||||||
                var answers = await answerServiceProvider.getAnswersAsync();
 | 
					 | 
				
			||||||
                var Locations = await locationServiceProvider.getLocationsAsync();
 | 
					 | 
				
			||||||
                var regions = await regionServiceProvider.getRegionsAsync();
 | 
					 | 
				
			||||||
                var questions = await questionServiceProvider.getQuestionsAsync(language);
 | 
					 | 
				
			||||||
                var categories = await questionServiceProvider.GetQuestionCategoriesAsync(language);
 | 
					 | 
				
			||||||
                var attachments = await attachmentServiceProvider.getAttachmentsAsync();
 | 
					 | 
				
			||||||
                List<object> questionLists = new List<object>();
 | 
					 | 
				
			||||||
                var allques = from res in surveyResonses
 | 
					 | 
				
			||||||
                              join loc in Locations on res.LocationId equals loc.Id
 | 
					 | 
				
			||||||
                              join reg in regions on loc.RegionId equals reg.Id
 | 
					 | 
				
			||||||
                              join ans in answers  on res.Id equals ans.SurveyResponseId
 | 
					 | 
				
			||||||
                              join q in questions on ans.QuestionId equals q.Id
 | 
					 | 
				
			||||||
                              join qc in categories on q.CategoryId equals qc.Id
 | 
					 | 
				
			||||||
                           select new
 | 
					 | 
				
			||||||
                           {
 | 
					 | 
				
			||||||
                               responseId = res.Id,
 | 
					 | 
				
			||||||
                               questionId = q.Id,
 | 
					 | 
				
			||||||
                               QuestionNumber = q.QuestionNumber,
 | 
					 | 
				
			||||||
                               Category = JsonSerializer.Deserialize<Dictionary<string, string>>(qc.Titles.ToString())[language],
 | 
					 | 
				
			||||||
                               question = q.Text[language],
 | 
					 | 
				
			||||||
                               answerId = ans.Id,
 | 
					 | 
				
			||||||
                               AnswerText = ans.AnswerText,
 | 
					 | 
				
			||||||
                               Comment = ans.Comment,
 | 
					 | 
				
			||||||
                               Location=loc.LocationCode,
 | 
					 | 
				
			||||||
                               school=loc.Name,
 | 
					 | 
				
			||||||
                               Region=reg.Name,
 | 
					 | 
				
			||||||
                               MC=loc.MaintenanceCenter,
 | 
					 | 
				
			||||||
                               ResponseDate=res.CreatedDate,
 | 
					 | 
				
			||||||
                               EmployeeId=res.EmployeeId, 
 | 
					 | 
				
			||||||
                               ClientDevice=res.ClientDevice,
 | 
					 | 
				
			||||||
                               Attachments = attachments.Where(a=>a.AnswerId==ans.Id).Select(a=>a.FileName+"##"+a.URI).ToList()
 | 
					 | 
				
			||||||
                           };
 | 
					 | 
				
			||||||
                List<object> allresoponses = new List<object>();
 | 
					 | 
				
			||||||
                foreach (var item in allques)
 | 
					 | 
				
			||||||
                {
 | 
					 | 
				
			||||||
                    
 | 
					 | 
				
			||||||
                    List<string> ansattachments=item.Attachments.ToList();
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
                    //// Initialize the attachment dictionary
 | 
					 | 
				
			||||||
                    //var attachmentsobject = new Dictionary<string, string>();
 | 
					 | 
				
			||||||
                    //for (int i = 0; i < ansattachments.Count; i++)
 | 
					 | 
				
			||||||
                    //{
 | 
					 | 
				
			||||||
                    //    attachmentsobject["Attachment"+(i+1).ToString()] = ansattachments[i];
 | 
					 | 
				
			||||||
                    //}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
                    string[] variables = new string[5];
 | 
					 | 
				
			||||||
                    for (int i = 0; i < 5; i++) // Assuming you want to assign 5 values
 | 
					 | 
				
			||||||
                    {
 | 
					 | 
				
			||||||
                        if (i < ansattachments.Count())
 | 
					 | 
				
			||||||
                        {
 | 
					 | 
				
			||||||
                            variables[i] = ansattachments[i];
 | 
					 | 
				
			||||||
                        }
 | 
					 | 
				
			||||||
                        else
 | 
					 | 
				
			||||||
                        {
 | 
					 | 
				
			||||||
                            variables[i] = string.Empty; // or null, or any other default value
 | 
					 | 
				
			||||||
                        }
 | 
					 | 
				
			||||||
                    }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
                    // Now, you can access the values using the variables
 | 
					 | 
				
			||||||
                    string att1 = variables[0],att2 = variables[1],att3 = variables[2],att4 = variables[3],att5 = variables[4];
 | 
					 | 
				
			||||||
                    object response;
 | 
					 | 
				
			||||||
                    if (isadmin)
 | 
					 | 
				
			||||||
                    {
 | 
					 | 
				
			||||||
                         response = new
 | 
					 | 
				
			||||||
                        {
 | 
					 | 
				
			||||||
                            SurveyQuestion = item.question,
 | 
					 | 
				
			||||||
                            Answer = item.AnswerText,
 | 
					 | 
				
			||||||
                            Category = item.Category,
 | 
					 | 
				
			||||||
                            School = item.school,
 | 
					 | 
				
			||||||
                            Location = item.Location,
 | 
					 | 
				
			||||||
                            Region = item.Region,
 | 
					 | 
				
			||||||
                            MC = item.MC,
 | 
					 | 
				
			||||||
                            ResponseDate = item.ResponseDate.ToString(),
 | 
					 | 
				
			||||||
                            Notes = item.Comment,
 | 
					 | 
				
			||||||
                             Attachment1 = att1,
 | 
					 | 
				
			||||||
                             Attachment2 = att2,
 | 
					 | 
				
			||||||
                             Attachment3 = att3,
 | 
					 | 
				
			||||||
                             Attachment4 = att4,
 | 
					 | 
				
			||||||
                             Attachment5 = att5,
 | 
					 | 
				
			||||||
                             User = item.EmployeeId,
 | 
					 | 
				
			||||||
                            DeviceType = item.ClientDevice,
 | 
					 | 
				
			||||||
                            Reference = item.responseId
 | 
					 | 
				
			||||||
                        };
 | 
					 | 
				
			||||||
                        // Add the attachment dictionary to the response object
 | 
					 | 
				
			||||||
                        // response = new { response, Attachments = attachments };
 | 
					 | 
				
			||||||
                    }
 | 
					 | 
				
			||||||
                    else
 | 
					 | 
				
			||||||
                    {
 | 
					 | 
				
			||||||
                        response = new
 | 
					 | 
				
			||||||
                        {
 | 
					 | 
				
			||||||
                            SurveyQuestion = item.question,
 | 
					 | 
				
			||||||
                            Answer = item.AnswerText,
 | 
					 | 
				
			||||||
                            Category = item.Category,
 | 
					 | 
				
			||||||
                            School = item.school,
 | 
					 | 
				
			||||||
                            Location=item.Location,
 | 
					 | 
				
			||||||
                            Region = item.Region,
 | 
					 | 
				
			||||||
                            MC = item.MC,
 | 
					 | 
				
			||||||
                            ResponseDate = item.ResponseDate.ToString(),
 | 
					 | 
				
			||||||
                            Notes = item.Comment,
 | 
					 | 
				
			||||||
                            Attachment1 = att1,
 | 
					 | 
				
			||||||
                            Attachment2 = att2,
 | 
					 | 
				
			||||||
                            Attachment3 = att3,
 | 
					 | 
				
			||||||
                            Attachment4 = att4,
 | 
					 | 
				
			||||||
                            Attachment5 = att5
 | 
					 | 
				
			||||||
                        };
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
                        // Add the attachment dictionary to the response object
 | 
					 | 
				
			||||||
                      //  response = new { response, Attachments = attachments };
 | 
					 | 
				
			||||||
                    }
 | 
					 | 
				
			||||||
                    allresoponses.Add(response);
 | 
					 | 
				
			||||||
                }
 | 
					 | 
				
			||||||
                return allresoponses;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
            catch (Exception ex)
 | 
					 | 
				
			||||||
            {
 | 
					 | 
				
			||||||
                logger?.LogError($"Exception Found : {ex.Message} - Ref: SurveyResponsesProvider.getSurveyResponseBySurveyIdAsync()");
 | 
					 | 
				
			||||||
                return null;
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
        //Method to get Answers By Maintenance Center by surveyId
 | 
					        //Method to get Answers By Maintenance Center by surveyId
 | 
				
			||||||
        private async Task<dynamic> getResultsByMaintenanceCenterAsync(int surveyId, int employeeid)
 | 
					        private async Task<dynamic> getResultsByMaintenanceCenterAsync(int surveyId, int employeeid)
 | 
				
			||||||
@ -934,7 +783,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();
 | 
				
			||||||
                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();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -10,12 +10,10 @@ namespace DamageAssesment.Api.Responses.Services
 | 
				
			|||||||
        {
 | 
					        {
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        public async Task<List<Question>> getQuestionsAsync(string language)
 | 
					        public async Task<List<Question>> getQuestionsAsync()
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            try
 | 
					            try
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
                if (!string.IsNullOrEmpty(language))
 | 
					 | 
				
			||||||
                    url = url + "/" + language;
 | 
					 | 
				
			||||||
                var responseJsonString = await httpUtil.SendAsync(HttpMethod.Get, url, null);
 | 
					                var responseJsonString = await httpUtil.SendAsync(HttpMethod.Get, url, null);
 | 
				
			||||||
                var questions = JsonConvert.DeserializeObject<List<Question>>(responseJsonString);
 | 
					                var questions = JsonConvert.DeserializeObject<List<Question>>(responseJsonString);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -29,28 +27,7 @@ namespace DamageAssesment.Api.Responses.Services
 | 
				
			|||||||
                return new List<Question>();
 | 
					                return new List<Question>();
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        public async Task<List<QuestionCategory>> GetQuestionCategoriesAsync(string? language)
 | 
					 | 
				
			||||||
        {
 | 
					 | 
				
			||||||
            try
 | 
					 | 
				
			||||||
            {
 | 
					 | 
				
			||||||
                url = urlBase + configuration.GetValue<string>("RessourceSettings:QuestionCategory");
 | 
					 | 
				
			||||||
                
 | 
					 | 
				
			||||||
                if (!string.IsNullOrEmpty(language))
 | 
					 | 
				
			||||||
                    url = url + "/" + language;
 | 
					 | 
				
			||||||
                var responseJsonString = await httpUtil.SendAsync(HttpMethod.Get, url, null);
 | 
					 | 
				
			||||||
                var questions = JsonConvert.DeserializeObject<List<QuestionCategory>>(responseJsonString);
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
                if (questions == null || !questions.Any())
 | 
					 | 
				
			||||||
                    return new List<QuestionCategory>();
 | 
					 | 
				
			||||||
                else return questions;
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
            catch (Exception ex)
 | 
					 | 
				
			||||||
            {
 | 
					 | 
				
			||||||
                logger?.LogError($"Exception Found : {ex.Message} - Ref: QuestionServiceProvider.GetQuestionCategoriesAsync()");
 | 
					 | 
				
			||||||
                return new List<QuestionCategory>();
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
        
 | 
					 | 
				
			||||||
        public async Task<List<SurveyQuestions>> getSurveyQuestionsAsync(int surveyId)
 | 
					        public async Task<List<SurveyQuestions>> getSurveyQuestionsAsync(int surveyId)
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            try
 | 
					            try
 | 
				
			||||||
@ -60,7 +37,7 @@ namespace DamageAssesment.Api.Responses.Services
 | 
				
			|||||||
                var questions = JsonConvert.DeserializeObject<List<SurveyQuestions>>(responseJsonString);
 | 
					                var questions = JsonConvert.DeserializeObject<List<SurveyQuestions>>(responseJsonString);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                if (questions == null || !questions.Any())
 | 
					                if (questions == null || !questions.Any())
 | 
				
			||||||
                    return new List<SurveyQuestions>();
 | 
					                    return new List<SurveyQuestions>() ;
 | 
				
			||||||
                else return questions;
 | 
					                else return questions;
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
            catch (Exception ex)
 | 
					            catch (Exception ex)
 | 
				
			||||||
 | 
				
			|||||||
@ -31,7 +31,6 @@
 | 
				
			|||||||
    "EmployeeById": "/employees/{0}",
 | 
					    "EmployeeById": "/employees/{0}",
 | 
				
			||||||
    "Question": "/questions",
 | 
					    "Question": "/questions",
 | 
				
			||||||
    "QuestionById": "/questions/{0}",
 | 
					    "QuestionById": "/questions/{0}",
 | 
				
			||||||
    "QuestionCategory": "/questions/categories",
 | 
					 | 
				
			||||||
    "SurveyQuestion": "/questions/bysurvey/{0}",
 | 
					    "SurveyQuestion": "/questions/bysurvey/{0}",
 | 
				
			||||||
    "Survey": "/surveys",
 | 
					    "Survey": "/surveys",
 | 
				
			||||||
    "SurveyById": "/surveys/{0}",
 | 
					    "SurveyById": "/surveys/{0}",
 | 
				
			||||||
@ -43,7 +42,7 @@
 | 
				
			|||||||
  },
 | 
					  },
 | 
				
			||||||
  "ConnectionStrings": {
 | 
					  "ConnectionStrings": {
 | 
				
			||||||
    //"SurveyResponseConnection": "Server=DESKTOP-OF5DPLQ\\SQLEXPRESS;Database=da_survey_dev;Trusted_Connection=True;TrustServerCertificate=True;"
 | 
					    //"SurveyResponseConnection": "Server=DESKTOP-OF5DPLQ\\SQLEXPRESS;Database=da_survey_dev;Trusted_Connection=True;TrustServerCertificate=True;"
 | 
				
			||||||
     //"ResponsesConnection": "Server=DESKTOP-OF5DPLQ\\SQLEXPRESS;Database=da_survey_dev;Trusted_Connection=True;TrustServerCertificate=True;"
 | 
					    // "ResponsesConnection": "Server=localhost,1433;Database=da_survey_dev;User Id=sa;Password=Password123;TrustServerCertificate=True;",
 | 
				
			||||||
    "ResponsesConnection": "Server=207.180.248.35;Database=da_survey_dev;User Id=sa;Password=YourStrongPassw0rd;TrustServerCertificate=True;"
 | 
					    "ResponsesConnection": "Server=207.180.248.35;Database=da_survey_dev;User Id=sa;Password=YourStrongPassw0rd;TrustServerCertificate=True;"
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
				
			|||||||
@ -217,10 +217,12 @@ namespace DamageAssesment.Api.Surveys.Providers
 | 
				
			|||||||
                        _survey = mapper.Map<Models.Survey, Db.Survey>(survey);
 | 
					                        _survey = mapper.Map<Models.Survey, Db.Survey>(survey);
 | 
				
			||||||
                        surveyDbContext.Surveys.Update(_survey);
 | 
					                        surveyDbContext.Surveys.Update(_survey);
 | 
				
			||||||
                        await surveyDbContext.SaveChangesAsync();
 | 
					                        await surveyDbContext.SaveChangesAsync();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                        List<Db.SurveyTranslation> listSurveyTranslation = new List<Db.SurveyTranslation>();
 | 
					                        List<Db.SurveyTranslation> listSurveyTranslation = new List<Db.SurveyTranslation>();
 | 
				
			||||||
 | 
					                        Random random = new Random();
 | 
				
			||||||
                        foreach (var title in survey.Titles)
 | 
					                        foreach (var title in survey.Titles)
 | 
				
			||||||
                        {
 | 
					                        {
 | 
				
			||||||
                            listSurveyTranslation.Add(new Db.SurveyTranslation { SurveyId = _survey.Id, Language = title.Language, Title = title.Title });
 | 
					                            listSurveyTranslation.Add(new Db.SurveyTranslation { Id = random.Next(), SurveyId = _survey.Id, Language = title.Language, Title = title.Title });
 | 
				
			||||||
                        }
 | 
					                        }
 | 
				
			||||||
                        surveyDbContext.SurveysTranslation.AddRange(listSurveyTranslation);
 | 
					                        surveyDbContext.SurveysTranslation.AddRange(listSurveyTranslation);
 | 
				
			||||||
                        await surveyDbContext.SaveChangesAsync();
 | 
					                        await surveyDbContext.SaveChangesAsync();
 | 
				
			||||||
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user