private Validation ValidateData(TrainingDetailsRequest request) { Validation objValidation = new Validation() { ValidationMessage = new List <string>() }; if (string.IsNullOrEmpty(request.TrainingName)) { objValidation.IsValidationFailed = true; objValidation.ValidationMessage.Add(CommonConstants.RequiredTrainingNameMessage); } if (request.StartDate == null || request.StartDate == DateTime.MinValue) { objValidation.IsValidationFailed = true; objValidation.ValidationMessage.Add(CommonConstants.InValidStartDateMessage); } if (request.EndDate == null || request.EndDate == DateTime.MinValue) { objValidation.IsValidationFailed = true; objValidation.ValidationMessage.Add(CommonConstants.InValidEndDateMessage); } if (request.EndDate < request.StartDate) { objValidation.IsValidationFailed = true; objValidation.ValidationMessage.Add(CommonConstants.InvalidDateRangeMessage); } return(objValidation); }
public ApiResponseWrapper <TrainingResponse> SaveTrainingData(TrainingDetailsRequest request) { ApiResponseWrapper <TrainingResponse> response = new ApiResponseWrapper <TrainingResponse>(); Validation validation = ValidateData(request); if (validation.IsValidationFailed) { response.SetFailure(new TrainingResponse(), validation); } else { TrainingDetails newTrainingDetails = _mapper.Map <TrainingDetailsRequest, TrainingDetails>(request); int TrainingId = _TrainingAppModule.Save(newTrainingDetails); if (TrainingId > 0) { TrainingResponse responseData = new TrainingResponse() { TrainingId = TrainingId, TrainingDays = DateDifference(request) }; response.SetSuccess(responseData); } else { response.SetException(new TrainingResponse()); } } return(response); }
public void TrainingPost_MissingDataTest() { TrainingDetailsRequest request = new TrainingDetailsRequest() { StartDate = new DateTime(2019, 08, 10), EndDate = new DateTime(2019, 07, 10) }; ApiResponseWrapper <TrainingResponse> response = _controller.Post(request); Assert.IsNotNull(response); Assert.AreEqual(response.Status, Status.Failure); Assert.AreEqual(response.validation.IsValidationFailed, true); Assert.AreNotEqual(response.validation.ValidationMessage.Count, 0); }
public void TrainingPost_PositiveTest() { TrainingDetailsRequest request = new TrainingDetailsRequest() { TrainingName = "Training 1", StartDate = new DateTime(2019, 06, 10), EndDate = new DateTime(2019, 07, 10) }; ApiResponseWrapper <TrainingResponse> response = _controller.Post(request); Assert.IsNotNull(response); Assert.IsNotNull(response.Data); Assert.AreEqual(response.Status, Status.Success); Assert.AreNotEqual(response.Data.TrainingId, 0); Assert.AreNotEqual(response.Data.TrainingDays, 0); }
private int DateDifference(TrainingDetailsRequest request) { return(Convert.ToInt32((request.EndDate.Value - request.StartDate.Value).TotalDays) + 1); }
public ApiResponseWrapper <TrainingResponse> Post(TrainingDetailsRequest request) { return(_TrainingAppService.SaveTrainingData(request)); }