Esempio n. 1
0
        /// <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));
            }
        }
Esempio n. 3
0
        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)));
            }
        }