public async Task <IActionResult> GetByOrderIdsAsync(int[] orderId) { if (!ModelState.IsValid || orderId == null || orderId.Length == 0) { return(Json(new FailApiResponse("Wrong query parameters format"))); } var successApiResponse = new SuccessApiResponse(); using (UnitOfWork unitOfWork = new UnitOfWork(this._databaseContext)) { var responses = unitOfWork.ResponseRepository.GetMany(orderId); List <ResponseDTO> responseDTOs = new List <ResponseDTO>(); foreach (var response in responses) { var dto = new ResponseDTO(response.Id, response.OrderId, response.Date.ToShortDateString(), response.Content, response.Type); responseDTOs.Add(dto); } successApiResponse.Responses.AddRange(responseDTOs); await unitOfWork.Save(); } return(Json(successApiResponse)); }
public async Task <IActionResult> FindByDateAndContentAsync([FromBody] IdDateAndContentDTO searchParameters) { if (!ModelState.IsValid || searchParameters.OrderIds == null || searchParameters.OrderIds.Length == 0 || searchParameters.Type == null) { return(Json(new FailApiResponse("Wrong parameters format"))); } var successApiResponse = new SuccessApiResponse(); using (UnitOfWork unitOfWork = new UnitOfWork(this._databaseContext)) { var responses = unitOfWork.ResponseRepository.GetResponseByIdDateAndContent( searchParameters.OrderIds, searchParameters.Type, searchParameters.DateAfter, searchParameters.DateBefore, searchParameters.Content); List <ResponseDTO> responseDTOs = new List <ResponseDTO>(); foreach (var response in responses) { var dto = new ResponseDTO(response.Id, response.OrderId, response.Date.ToShortDateString(), response.Content, response.Type); responseDTOs.Add(dto); } successApiResponse.Responses.AddRange(responseDTOs); await unitOfWork.Save(); } return(Json(successApiResponse)); }
public void JsonIsReadProperly() { string json = ReadDataFile("SuccessApiResponse1.json"); SuccessApiResponse sar = new SuccessApiResponse(json, false); Assert.True(sar.Success); Assert.Null(sar.Error); json = ReadDataFile("SuccessApiResponse2.json"); sar = new SuccessApiResponse(json, false); Assert.False(sar.Success); Assert.NotNull(sar.Error); Assert.Equal(404, sar.Error.Code); }