Esempio n. 1
0
        public ContractResponse <AppointmentGetResponse> Add(ContractRequest <AddUpdateAppointmentRequest> request)
        {
            try
            {
                var model = request.Data.Appointment.ToAppointment();
                model.AppointmentInSameDate(_appointmentRepository.IsAppointmentInSameDay(model));

                var brokenRules = model.GetBrokenRules().ToList();
                if (!brokenRules.Any())
                {
                    _appointmentRepository.Add(model);
                    _uow.Commit();


                    var responseModel = new AppointmentGetResponse {
                        Id = model.Id
                    };
                    return(ContractUtil.CreateResponse(request, responseModel));
                }

                return(ContractUtil.CreateInvalidResponse <AppointmentGetResponse>(brokenRules));
            }
            catch (Exception ex)
            {
                _logger.LogError(20, ex, ex.Message);
                return(ContractUtil.CreateInvalidResponse <AppointmentGetResponse>(ex));
            }
        }
Esempio n. 2
0
        public ContractResponse <PatientGetResponse> Update(ContractRequest <AddUpdatePatientRequest> request)
        {
            try
            {
                var model = request.Data.Patient.ToPatient();

                var brokenRules = model.GetBrokenRules().ToList();
                if (!brokenRules.Any())
                {
                    _patientRepository.Edit(model);
                    _uow.Commit();

                    var responseModel = new PatientGetResponse {
                        Id = model.Id
                    };
                    return(ContractUtil.CreateResponse(request, responseModel));
                }


                return(ContractUtil.CreateInvalidResponse <PatientGetResponse>(brokenRules));
            }
            catch (Exception ex)
            {
                _logger.LogError(20, ex, ex.Message);
                return(ContractUtil.CreateInvalidResponse <PatientGetResponse>(ex));
            }
        }
Esempio n. 3
0
        public ContractResponse <UserGetResponse> ValidateUser(ContractRequest <LoginRequest> request)
        {
            var user = _userRepository.First(u => u.UserName.Equals(request.Data.UserName, StringComparison.InvariantCultureIgnoreCase) &&
                                             u.UserName.Equals(request.Data.Password, StringComparison.InvariantCultureIgnoreCase));

            return(ContractUtil.CreateResponse(request, new UserGetResponse
            {
                User = user?.ToUserView()
            }));
        }
Esempio n. 4
0
        public ContractResponse <GetProductResponse> UpdateProduct(ContractRequest <AddUpdateProductRequest> request)
        {
            ContractResponse <GetProductResponse> response;

            try
            {
                var model       = request.Data.Product.ToProduct();
                var brokenRules = model.GetBrokenRules().ToList();


                if (brokenRules.Any())
                {
                    var message = new GetProductResponse
                    {
                        Product = request.Data.Product,
                    };

                    response = ContractUtil.CreateInvalidResponse <GetProductResponse>(brokenRules, message);
                }
                else
                {
                    var oldProduct = _productRepository.FindById(request.Data.Product.Id);
                    if (string.IsNullOrEmpty(request?.Data?.Product?.Image))
                    {
                        model.Image = oldProduct.Image;
                    }

                    _productRepository.Update(model);

                    var product = model.ToProductView();
                    var message = new GetProductResponse
                    {
                        Product = product
                    };

                    response = ContractUtil.CreateResponse <GetProductResponse, AddUpdateProductRequest>(request, message);
                }
            }
            catch (Exception ex)
            {
                _logger.LogError(20, ex, ex.Message);
                return(ContractUtil.CreateInvalidResponse <GetProductResponse>(ex));
            }


            return(response);
        }
Esempio n. 5
0
        public ContractResponse <UserGetResponse> GetUser(ContractRequest <UserGetRequest> request)
        {
            User user;

            if (string.IsNullOrEmpty(request.Data.UserName))
            {
                user = _userRepository.First(u => u.Id == request.Data.Id);
            }
            else
            {
                user = _userRepository.First(u => u.UserName.Equals(request.Data.UserName, StringComparison.InvariantCultureIgnoreCase));
            }
            return(ContractUtil.CreateResponse(request, new UserGetResponse
            {
                User = user?.ToUserView()
            }));
        }
Esempio n. 6
0
        public ContractResponse <GetProductResponse> AddProduct(ContractRequest <AddUpdateProductRequest> request)
        {
            ContractResponse <GetProductResponse> response;

            try
            {
                var model       = request.Data.Product.ToProduct();
                var brokenRules = model.GetBrokenRules().ToList();


                if (brokenRules.Any())
                {
                    var message = new GetProductResponse
                    {
                        Product = request.Data.Product,
                    };

                    response = ContractUtil.CreateInvalidResponse <GetProductResponse>(brokenRules, message);
                }
                else
                {
                    _productRepository.Add(model);


                    var product = model.ToProductView();
                    var message = new GetProductResponse
                    {
                        Product = product
                    };

                    response = ContractUtil.CreateResponse <GetProductResponse, AddUpdateProductRequest>(request, message);
                }
            }
            catch (Exception ex)
            {
                _logger.LogError(20, ex, ex.Message);
                return(ContractUtil.CreateInvalidResponse <GetProductResponse>(ex));
            }


            return(response);
        }
Esempio n. 7
0
        public ContractResponse <PatientListGetResponse> Get(ContractRequest <PatientGetRequest> request)
        {
            ContractResponse <PatientListGetResponse> response;

            try
            {
                var model             = _patientRepository.FindBy(e => e.Id == request.Data.Id);
                var modelListResponse = model.ToPatientViewList();

                response = ContractUtil.CreateResponse(request, new PatientListGetResponse {
                    Patients = modelListResponse.ToList()
                });
            }
            catch (Exception ex)
            {
                _logger.LogError(20, ex, ex.Message);
                response = ContractUtil.CreateInvalidResponse <PatientListGetResponse>(ex);
            }

            return(response);
        }
Esempio n. 8
0
        public ContractResponse <AppointmentListGetResponse> GetAll(ContractRequest <BaseRequest> request)
        {
            ContractResponse <AppointmentListGetResponse> response;

            try
            {
                var modelList         = _appointmentRepository.GetAll();
                var modelListResponse = modelList.ToAppointmentViewList();

                response = ContractUtil.CreateResponse(request, new AppointmentListGetResponse {
                    Appointments = modelListResponse.ToList()
                });
            }
            catch (Exception ex)
            {
                _logger.LogError(20, ex, ex.Message);

                response = ContractUtil.CreateInvalidResponse <AppointmentListGetResponse>(ex);
            }

            return(response);
        }
Esempio n. 9
0
        public ContractResponse <GetProductResponse> GetProduct(ContractRequest <GetProductRequest> request)
        {
            ContractResponse <GetProductResponse> response;

            try
            {
                var model         = _productRepository.FindById(request.Data.Id);
                var modelResponse = model?.ToProductView();

                response = ContractUtil.CreateResponse(request, new GetProductResponse {
                    Product = modelResponse
                });
            }
            catch (Exception ex)
            {
                _logger.LogError(20, ex, ex.Message);

                response = ContractUtil.CreateInvalidResponse <GetProductResponse>(ex);
            }

            return(response);
        }
Esempio n. 10
0
        public ContractResponse <GetAllProductsResponse> GetAllProducts(ContractRequest <BaseRequest> request)
        {
            ContractResponse <GetAllProductsResponse> response;

            try
            {
                var userList      = _productRepository.FindAll();
                var modelResponse = userList.ToProductViewList();

                response = ContractUtil.CreateResponse(request, new GetAllProductsResponse {
                    Products = modelResponse
                });
            }
            catch (Exception ex)
            {
                _logger.LogError(20, ex, ex.Message);

                response = ContractUtil.CreateInvalidResponse <GetAllProductsResponse>(ex);
            }

            return(response);
        }
Esempio n. 11
0
        public ContractResponse <BaseResponse> RemoveProduct(ContractRequest <GetProductRequest> request)
        {
            ContractResponse <BaseResponse> response;

            try
            {
                var model = new Product {
                    Id = request.Data.Id
                };
                _productRepository.Remove(model);


                response = ContractUtil.CreateResponse(request, new BaseResponse());
            }
            catch (Exception ex)
            {
                _logger.LogError(20, ex, ex.Message);

                response = ContractUtil.CreateInvalidResponse <BaseResponse>(ex);
            }

            return(response);
        }