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)); } }
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)); } }
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() })); }
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); }
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() })); }
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); }
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); }
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); }
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); }
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); }
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); }