Exemplo n.º 1
0
        public List <CustomerGiftVoucherDTO> GetAllVouchers(VoucherRequest request)
        {
            var vouchers =
                _customerGiftVoucherRepository
                .All.Include(x => x.Customer);

            if (request.Status == VoucherStatus.Redeemed)
            {
                return(DomainDTOMapper.ToCustomerGiftVoucherDTOs(vouchers.Where(x => x.IsRedeem).ToList()));
            }
            else if (request.Status == VoucherStatus.Cancelled)
            {
                return(DomainDTOMapper.ToCustomerGiftVoucherDTOs(vouchers.Where(x => x.IsCanceled).ToList()));
            }
            else if (request.Status == VoucherStatus.Issued)
            {
                return(DomainDTOMapper.ToCustomerGiftVoucherDTOs(vouchers.Where(x => !x.IsCanceled && !x.IsRedeem).ToList()));
            }
            else if (request.Status == VoucherStatus.All)
            {
                return(DomainDTOMapper.ToCustomerGiftVoucherDTOs(vouchers.ToList()));
            }

            return(DomainDTOMapper.ToCustomerGiftVoucherDTOs(vouchers.ToList()));
        }
Exemplo n.º 2
0
        public CustomerUpdateResponse SaveCustomer(CustomerDTO customer, int userId, int branchId)
        {
            customer.CustomerId  = String.Format("C{0:d9}", (DateTime.Now.Ticks / 10) % 1000000000);
            customer.BranchId    = branchId;
            customer.EnteredBy   = userId;
            customer.EnteredDate = DateTime.Now;
            customer.IsDeleted   = false;
            customer.Gender      = customer.Gender == "Male" ? "M" : "F";

            try
            {
                //customer.DoB = customer.DoB.Value.Date;
                var imageName = string.Format(@"{0}", Guid.NewGuid());

                ImageConverter.SaveImage(customer.SignatureURL, imageName);

                customer.SignatureURL = imageName;

                _customerRepository.Add(DomainDTOMapper.ToCustomerDomain(customer));
                _customerRepository.SaveChanges();

                CustomerUpdateResponse response = new CustomerUpdateResponse();
                response.ImageName  = imageName;
                response.CustomerId = customer.CustomerId;

                return(response);
            }
            catch (Exception ex)
            {
                throw;
            }
        }
Exemplo n.º 3
0
        public List <PaymentTypeDTO> GetPaymentTypes()
        {
            var paymentTypes = _paymentTypeRepository
                               .All
                               .Where(x => !x.IsDeleted && x.DeletedBy == null)
                               .ToList();

            return(DomainDTOMapper.ToPaymentTypeDTOs(paymentTypes));
        }
Exemplo n.º 4
0
        public List <DepartmentDTO> GetDepartments()
        {
            var departments = _departmentRepository
                              .All
                              .Where(x => !x.IsDeleted && x.DeletedBy == null)
                              .ToList();

            return(DomainDTOMapper.ToDepartmentDTOs(departments));
        }
Exemplo n.º 5
0
        private void AddTreatment(TreatmentTypeDTO treatment, int userId, int branchId)
        {
            treatment.EnteredBy   = userId;
            treatment.BranchId    = branchId;
            treatment.EnteredDate = DateTime.Now;

            _treatmentTypeRepository.Add(DomainDTOMapper.ToTreatmentTypeDomain(treatment));
            _treatmentTypeRepository.SaveChanges();
        }
        //public IList<SchedulersResponse> GetShedules(ScheduleRequest request)
        //{
        //    var result = _customerScheduleTreatmentRepository
        //        .All
        //        .Include(c => c.CustomerSchedule).ThenInclude(x => x.Customer)
        //        .Include(c => c.Tt)
        //        .Include(c => c.Employee).ThenInclude(c => c.EmployeeRosters)
        //        .Include(c => c.Employee).ThenInclude(c => c.Designation)
        //        // .Where(x => x.Employee.EmployeeRosters.Any(l => l.WorkingDate == request.WorkingDate))
        //        .Where(x => x.CustomerSchedule.BranchId == request.BranchId &&
        //        (x.CustomerSchedule.DepartmentId == request.DepartmentId || request.DepartmentId == 0)
        //        && x.CustomerSchedule.Status == "New")
        //        .Select(v => new {
        //        Therapist = v.Employee.Name,
        //        Designation = v.Employee.Designation.Name,
        //        Schedules = v
        //    }).ToList();

        //    return result.GroupBy(p => new { p.Therapist, p.Designation }, p => p.Schedules, (key, g) => new SchedulersResponse()
        //    {
        //        EmployeeName = key.Therapist,
        //        Designation = key.Designation,
        //        Schedules = DomainDTOMapper.ToSchedule(g)
        //    }).ToList();
        //}

        public IList <SchedulersResponse> GetShedules(ScheduleRequest request)
        {
            var result = _customerScheduleTreatmentRepository
                         .All
                         .Include(c => c.CustomerSchedule).ThenInclude(x => x.Customer)
                         .Include(c => c.Tt)
                         .Include(c => c.Employee).ThenInclude(c => c.EmployeeRosters)
                         .Include(c => c.Employee).ThenInclude(c => c.Designation)
                         .Where(x => x.Employee.EmployeeRosters.Any(l => l.WorkingDate == request.WorkingDate))
                         .Where(x => x.CustomerSchedule.BranchId == request.BranchId && x.CustomerSchedule.BookedDate == request.WorkingDate &&
                                (x.CustomerSchedule.DepartmentId == request.DepartmentId || request.DepartmentId == 0) &&
                                x.CustomerSchedule.Status != AppoinmentConstant.CANCELLED)
                         .Where(c => c.CustomerSchedule.DeletedBy == null && c.CustomerSchedule.DeletedDate == null)
                         .Select(v => new {
                EmpNo       = v.Employee.Empno,
                Therapist   = v.Employee.Name,
                Designation = v.Employee.Designation.Name,
                Schedules   = v
            }).ToList();

            var allEmployees = _employeeDetailRepository.All
                               .Include(c => c.EmployeeRosters)
                               .Where(x => x.EmployeeRosters.Any(l => l.WorkingDate == request.WorkingDate) && (x.DepartmentId == request.DepartmentId || request.DepartmentId == 0))
                               .Where(c => c.DeletedBy == null && c.DeletedBy == null)
                               .Select(c => new SchedulersResponse()
            {
                EmpNo        = c.Empno,
                Designation  = c.Designation.Name,
                EmployeeName = c.Name,
            }).ToList();

            var employeesWithSchedules = result.GroupBy(p => new { p.Therapist, p.Designation, p.EmpNo }, p => p.Schedules, (key, g) => new SchedulersResponse()
            {
                EmpNo        = key.EmpNo,
                EmployeeName = key.Therapist,
                Designation  = key.Designation,
                Schedules    = DomainDTOMapper.ToSchedule(g)
            }).ToList();

            if (employeesWithSchedules.Count == 0)
            {
                return(allEmployees);
            }

            var tempEmployeesWithSchedules = employeesWithSchedules;

            foreach (var emp in allEmployees)
            {
                if (!tempEmployeesWithSchedules.Any(c => c.EmpNo == emp.EmpNo))
                {
                    employeesWithSchedules.Add(emp);
                }
            }

            return(employeesWithSchedules);
        }
        public TreatmentDailyUpdateDTO GetDailyUpdateByDate(int tduid)
        {
            TreatmentDailyUpdateDTO response = new TreatmentDailyUpdateDTO();

            response = DomainDTOMapper.ToTreatmentDailyUpdateDTO(_treatmentDailyUpdateRepository.FirstOrDefault(x => x.Tduid == tduid));

            response.TreatmentImageURLs = _treatmentDailyUpdatePhotosRepository.All.Where(p => p.Tduid == tduid && p.CustomerId == response.CustomerId).Select(p => p.FileName).ToList();

            return(response);
        }
Exemplo n.º 8
0
        public List <CustomerDTO> SearchCustomer(CustomerSearchRequest request)
        {
            var customers = _customerRepository.All.Where(x => !x.IsDeleted && x.DeletedBy == null);

            if (!string.IsNullOrWhiteSpace(request.SearchText))
            {
                customers = customers.Where(c => c.FullName.Contains(request.SearchText));
            }

            return(DomainDTOMapper.ToCustomerDTOs(customers.ToList()));
        }
        public List <EmployeeDetailDTO> GetFilteredEmployees(int departmentId)
        {
            var employees = _employeeDetailRepository.All
                            .Where(x => !x.IsDeleted && x.DeletedBy == null);

            if (departmentId != 0)
            {
                employees = employees
                            .Where(x => x.DepartmentId == departmentId && x.DeletedBy == null && x.DeletedDate == null);
            }
            return(DomainDTOMapper.ToEmployeeDetailDTOs(employees.ToList()));
        }
Exemplo n.º 10
0
        private void AddVoucher(CustomerGiftVoucherDTO voucher, int userId, int branchId)
        {
            voucher.GvinvoiceNo = String.Format("V{0:d9}", (DateTime.Now.Ticks / 10) % 1000000000);
            voucher.EnteredDate = DateTime.Now;
            voucher.EnteredBy   = userId;
            voucher.InvDateTime = DateTime.Now;
            voucher.BranchId    = branchId;
            voucher.IsRedeem    = false;
            voucher.IsCanceled  = false;

            _customerGiftVoucherRepository.Add(DomainDTOMapper.ToCustomerGiftVoucherDomain(voucher));
            _customerGiftVoucherRepository.SaveChanges();
        }
Exemplo n.º 11
0
        public LoginReponse Login(LoginRequest request)
        {
            var test      = _userInfoRepository.GetAll();
            var loginInfo = _userInfoRepository.FirstOrDefault(x => x.UserName == request.UserName && x.Password == request.Password);

            if (loginInfo != null)
            {
                var xx = DomainDTOMapper.ToLoginReponseDTOs(loginInfo);
                return(xx);
                //return DomainDTOMapper.ToLoginReponseDTOs(loginInfo);
            }

            return(new LoginReponse());
        }
        public List <InvoiceTreatmentResponse> GetInvoiceableScheduledTreatments(InvoiceTreatmentRequest request)
        {
            var treatments = _customerScheduleTreatmentRepository
                             .All
                             .Include(c => c.CustomerSchedule)
                             .Include(c => c.Employee)
                             .Include(c => c.Tt)
                             .Where(x => x.CustomerSchedule.CustomerId == request.CustomerId &&
                                    x.CustomerSchedule.Status == AppoinmentConstant.CONFIRMED &&
                                    x.CustomerSchedule.BookedDate == DateTime.Now.Date)
                             .ToList();

            return(DomainDTOMapper.ToInvoiceTreatmentResponse(treatments));
        }
Exemplo n.º 13
0
        public List <TreatmentTypeDTO> GetFilteredTreatments(TreatmentFilterRequest request)
        {
            var treatmentTypes = _treatmentTypeRepository
                                 .All.Include(c => c.Department)
                                 .Where(c => c.DeletedBy == null && c.DeletedDate == null)
                                 .ToList();

            if (request.DepartmentId.HasValue && request.DepartmentId.Value != 0)
            {
                treatmentTypes = treatmentTypes
                                 .Where(x => x.DepartmentId == request.DepartmentId.Value)
                                 .ToList();
            }

            return(DomainDTOMapper.ToTreatmentTypesDTOs(treatmentTypes.ToList()));
        }
Exemplo n.º 14
0
        public List <TreatmentTypeDTO> GetTreatmentsForEmployee(TreatmentRequest request)
        {
            var employee = _employeeDetailRepository
                           .All
                           .Include(c => c.Department)
                           .ThenInclude(c => c.TreatmentTypes)
                           .Where(c => c.DepartmentId == request.DepartmentId && c.Empno == request.EMPNo && !c.IsDeleted && c.DeletedBy == null)
                           .FirstOrDefault();

            if (employee != null && employee.Department != null && employee.Department.TreatmentTypes != null)
            {
                return(DomainDTOMapper.ToTreatmentTypesDTOs(employee.Department.TreatmentTypes.ToList()));
            }

            return(new List <TreatmentTypeDTO>());
        }
Exemplo n.º 15
0
        public bool SaveConsentInitForm(ConsentFormInitiDTO consent, int userId)
        {
            try
            {
                consent.ConsentBy       = userId;
                consent.ConsentDatetime = DateTime.Now;

                _consentFormInitiRepository.Add(DomainDTOMapper.ToConsentFormInitiDomain(consent));
                _consentFormInitiRepository.SaveChanges();

                UpdateCustomerStatus(consent.CustomerId);
                return(true);
            }
            catch (Exception ex)
            {
                return(false);
            }
        }
Exemplo n.º 16
0
        private void AddCustomer(NewCustomerRequest request, int userId, int branchId)
        {
            var customerNo = String.Format("C{0:d9}", (DateTime.Now.Ticks / 10) % 1000000000);

            _customerRepository.Add(DomainDTOMapper.ToCustomerDomain(new CustomerDTO()
            {
                CustomerId    = customerNo,
                FullName      = request.Name,
                Address       = request.Address,
                Gender        = request.Gender,
                LoyaltyCardNo = request.LoyaltyCardNo,
                Email         = request.Email,
                MobileNo      = request.ContactNo,
                BranchId      = branchId,
                EnteredDate   = DateTime.Now,
                EnteredBy     = userId
            }));

            _customerRepository.SaveChanges();
        }
Exemplo n.º 17
0
        public bool SaveDailyConcentForm(ConsentFormDailyDTO concentForm, int userId)
        {
            try
            {
                concentForm.ConsentBy = userId;
                _consentFormDailyRepository.Add(DomainDTOMapper.ToConcentFormDailyDomain(concentForm));
                _consentFormDailyRepository.SaveChanges();

                if (!String.IsNullOrEmpty(concentForm.NIC))
                {
                    UpdateCustomer(concentForm.CustomerId, concentForm.NIC);
                }

                return(true);
            }
            catch (Exception ex)
            {
                return(false);
            }
        }
        public bool SaveTreatmentDailyUpdate(TreatmentDailyUpdateDTO dailyUpdate)
        {
            try
            {
                _treatmentDailyUpdateRepository.Add(DomainDTOMapper.ToTreatmentDailyUpdateDomain(dailyUpdate));
                _treatmentDailyUpdateRepository.SaveChanges();

                var lastDailyUpdate = _treatmentDailyUpdateRepository.All.OrderByDescending(x => x.Date).FirstOrDefault();

                if (dailyUpdate?.TreatmentImageURLs != null)
                {
                    foreach (var url in dailyUpdate.TreatmentImageURLs)
                    {
                        var imageName = string.Format(@"{0}", Guid.NewGuid());

                        ImageConverter.SaveImage(url, imageName);

                        Tbl_TreatmentDailyUpdatePhotos model = new Tbl_TreatmentDailyUpdatePhotos()
                        {
                            Tduid      = lastDailyUpdate.Tduid,
                            CustomerId = lastDailyUpdate.CustomerId,
                            FileName   = imageName
                        };

                        _treatmentDailyUpdatePhotosRepository.Add(model);
                        _treatmentDailyUpdatePhotosRepository.SaveChanges();
                    }
                }


                return(true);
            }
            catch (Exception ex)
            {
                return(false);
            }
        }
Exemplo n.º 19
0
        public List <CustomerDTO> SearchCustomer(CustomerSearchRequest request)
        {
            var customers = new List <CustomerDTO>();

            if (!string.IsNullOrWhiteSpace(request.CustomerName))
            {
                customers.AddRange(DomainDTOMapper.ToCustomerDTOs(_customerRepository
                                                                  .Where(c => c.FullName.Contains(request.CustomerName)).ToList()));
            }

            if (!string.IsNullOrWhiteSpace(request.CustomerId))
            {
                customers.AddRange(DomainDTOMapper.ToCustomerDTOs(_customerRepository
                                                                  .Where(c => c.CustomerId.Contains(request.CustomerId)).ToList()));
            }

            if (!string.IsNullOrWhiteSpace(request.MobileNo))
            {
                customers.AddRange(DomainDTOMapper.ToCustomerDTOs(_customerRepository
                                                                  .Where(c => c.MobileNo.Contains(request.MobileNo)).ToList()));
            }

            return(customers);
        }
 public List <TreatmentDailyUpdateDTO> GetTreatmentDailyUpdates(string customerId)
 {
     return(DomainDTOMapper.ToTreatmentDailyUpdateDTOs(_treatmentDailyUpdateRepository.Where(x => x.CustomerId == customerId).ToList()));
 }
Exemplo n.º 21
0
 public List <CustomerDTO> GetAllCustomers()
 {
     return(DomainDTOMapper.ToCustomerDTOs(_customerRepository.GetAll().ToList()));
 }
Exemplo n.º 22
0
 public List <ProductDTO> GetAllProducts(int branchId)
 {
     return(DomainDTOMapper.ToProductDTOs(_productRepository.All
                                          .Where(c => !c.IsDeleted && c.BranchId == branchId).ToList()));
 }
Exemplo n.º 23
0
 public IActionResult GetAllTreatments()
 {
     return(Ok(DomainDTOMapper.ToTreatmentTypesDTOs(_treatmentTypeRepository.GetAll().ToList())));
 }
Exemplo n.º 24
0
 public CustomerDTO GetCustomer(string customerId)
 {
     return(DomainDTOMapper.ToCustomerDTO(_customerRepository.FirstOrDefault(c => c.CustomerId == customerId)));
 }