예제 #1
0
        private CustomerEntity ValidateCustomerEntity(string custName)
        {
            CustomerValidation customerValidation = new CustomerValidation(new PharmacySystemDataAccess.Repository.RepositoryFactory.RepositoryFactory <CustomerEntity>(), ConnString);
            var customerName = custName.Split(' ');

            return(customerValidation.CheckDoesTheCustomerExist(customerName[0], customerName[1]).CustomerEntity);
        }
        public CustomerResponse Post([FromBody] CustomerRequest customerRequest)
        {
            CustomerValidation     customerValidation     = new CustomerValidation(new RepositoryFactory <CustomerEntity>(), _appSettings.Value.MongoConnectionString);
            PrescriptionValidation prescriptionValidation = new PrescriptionValidation(new RepositoryFactory <PrescriptionEntity>(), _appSettings.Value.MongoConnectionString);

            try
            {
                var customerValidationStatus =
                    customerValidation.CheckDoesTheCustomerExist(customerRequest.FirstName, customerRequest.LastName);
                var returnMessage = customerValidationStatus.IsValid ? $@"{customerValidationStatus.CustomerEntity.CustomerName} has been found" : $@"{customerValidationStatus.CustomerEntity.CustomerName} Not Found";

                var prescriptionValidationStatus =
                    prescriptionValidation.CheckForCustomerOrGpName(
                        customerValidationStatus.CustomerEntity.CustomerName);

                returnMessage = prescriptionValidationStatus.IsValid ? returnMessage + $@"\nPrescription for {prescriptionValidationStatus.Prescription.CustomerName} has been found" :
                                returnMessage + $@"\nPrescription for {prescriptionValidationStatus.Prescription.CustomerName} Not Found";

                if (prescriptionValidationStatus.IsValid)
                {
                    return(new CustomerResponse()
                    {
                        IsValid = customerValidationStatus.IsValid,
                        Message = returnMessage,
                        CustomerEntity = customerValidationStatus.CustomerEntity,
                        PrescriptionEntity = prescriptionValidationStatus.Prescription
                    });
                }
                return(new CustomerResponse()
                {
                    IsValid = customerValidationStatus.IsValid,
                    Message = returnMessage,
                    CustomerEntity = customerValidationStatus.CustomerEntity
                });
            }
            catch (KeyNotFoundException keyNotFound)
            {
                return(new CustomerResponse()
                {
                    IsValid = false,
                    Message = keyNotFound.Message
                });
            }
        }