/// <summary> /// Validates AddPatientInsurance sent in POST request /// </summary> /// <param name="patientInsuranceDto">patientInsuranceDto contains information of a new patient insurance to be added</param> /// <returns>Pair of {status:boolean,ApiKeyName/AddPatientInsurance} </returns> public static Pair ValidatePatientInsuranceDto(AddPatientInsurance patientInsuranceDto) { var returnSuccessValidation = new Pair { First = true, Second = patientInsuranceDto }; if (patientInsuranceDto.InsuranceId < RequestValidationConstant.MinimumId) { return new Pair { First = false, Second = ApiRequestKeys.InsuranceId } } ; if (patientInsuranceDto.PatientId < RequestValidationConstant.MinimumId) { return new Pair { First = false, Second = ApiRequestKeys.PatientId } } ; if (string.IsNullOrWhiteSpace(patientInsuranceDto.InsurancePublicId) || patientInsuranceDto.InsurancePublicId.Length > RequestValidationConstant.InsurancePublicIdLength) { return new Pair { First = false, Second = ApiRequestKeys.InsurancePublicId } } ; return(returnSuccessValidation); }
/// <summary> /// Method in business layer to modify an old patient insurance /// </summary> /// <param name="oldPatientInsurance">oldPatientInsurance contains the information required to update an old patient insurance</param> /// <param name="userId">userId is the id of the user who is creating changes to the patient insurance</param> /// <returns>ResponseModel that contains the response of modifying a patient insurance in the database</returns> public ResponseModel Update(AddPatientInsurance oldPatientInsurance, int userId) { var validationStatus = ValidateRequest.ValidatePatientInsuranceDto(oldPatientInsurance); if (!(bool)validationStatus.First) { return(ReturnStatements.BadRequestResponse(validationStatus.Second)); } oldPatientInsurance = validationStatus.Second; using (var unitOfWork = new UnitOfWork()) { var findPatientInsurance = unitOfWork.PatientInsurances.Find(m => m.Id.Equals(oldPatientInsurance.Id)); if (findPatientInsurance == null) { return(ReturnStatements.FailedResponse(Strings.NoPatientInusranceFound)); } if (!findPatientInsurance.UserId.Equals(userId)) { return(ReturnStatements.FailedResponse(Strings.Unauthorized)); } findPatientInsurance = MapForUpdate(oldPatientInsurance, findPatientInsurance); unitOfWork.PatientInsurances.Update(findPatientInsurance); var saveResponse = unitOfWork.Complete(); return(Functions.ReturnGeneric(saveResponse, Strings.SuccessfullModification, Strings.UnsuccessfullModification)); } }
public HttpResponseMessage Update(AddPatientInsurance oldPatientInsurance) { var userId = UserIdentity.GetUserId((ClaimsIdentity)User.Identity); var result = _services.Update(oldPatientInsurance, userId); return(Request.CreateResponse(HttpStatusCode.OK, result)); }
/// <summary> /// Private method to map old patient insurance to the associated Data.PatienInsurance field in database. /// </summary> /// <param name="oldPatientInsuranceDto">oldPatientInsurance contains the information required to update an old patient insurance</param> /// <param name="patientInsurance">patientInsurance is the database row of patient insurance which need to be updated by mapping from old patient insurance</param> /// <returns>PatientInsurance is the updates/mapped database row</returns> private PatientInsurance MapForUpdate(AddPatientInsurance oldPatientInsuranceDto, PatientInsurance patientInsurance) { patientInsurance.CreationDate = Functions.GetCurrentDate(); patientInsurance.CreationTime = Functions.GetCurrentTime(); patientInsurance.InsuranceId = oldPatientInsuranceDto.InsuranceId; patientInsurance.PatientId = oldPatientInsuranceDto.PatientId; return(patientInsurance); }
/// <summary> /// Method to add patient insurance to database. /// </summary> /// <param name="newpatientInsurance">newpatientInsurance containing required information of patient insurance</param> /// <param name="userId">userId is the id of the logged in user who made the request to add a patient insurance</param> /// <returns>HttpResponseMessage containing addition status of patient insurance</returns> public ResponseModel Add(AddPatientInsurance newPatientInsurance, int userId) { var validationStatus = ValidateRequest.ValidatePatientInsuranceDto(newPatientInsurance); if (!(bool)validationStatus.First) { return(ReturnStatements.BadRequestResponse(validationStatus.Second)); } newPatientInsurance = validationStatus.Second; using (var unitOfWork = new UnitOfWork()) { var dbPatientInsurance = DtoToDatabase.PatientInsurance(new Pair { First = newPatientInsurance, Second = userId }); unitOfWork.PatientInsurances.Add(dbPatientInsurance); var saveResponse = unitOfWork.Complete(); if (saveResponse.Equals(Integers.UnsuccessfullDatabaseSave)) { return(ReturnStatements.FailedResponse(DynamicListForResponse.Create(newPatientInsurance))); } return(ReturnStatements.SuccessResponse(DynamicListForResponse.Create(newPatientInsurance))); } }