Beispiel #1
0
        public ActionResult CustomerInvoiceReport()
        {
            CustomerInvoiceViewModel objectCustomerInvoiceViewModel = new CustomerInvoiceViewModel();

            objectCustomerInvoiceViewModel.CustomerList = new SelectList(_customerComponent.GetAllCustomer(), "CustomerId", "NameEmail");
            return(View(objectCustomerInvoiceViewModel));
        }
        public CustomerInvoiceViewModel GetCustomerHoursAndAmount(int customerId, string type, string beginDate, string endDate, int inoviceId)
        {
            CustomerInvoiceViewModel objectCustomerInvoiceViewModel = new CustomerInvoiceViewModel();

            using (SecurityAgencyEntities objContext = new SecurityAgencyEntities())
            {
                if (string.IsNullOrEmpty(type))
                {
                    //Get beginDate and endDate first
                    CustomerInvoice objectCustomerInvoice = _repository.GetAll <CustomerInvoice>().Where(x => x.CustomerId == customerId && x.IsDeleted == false && x.InvoiceId != inoviceId).OrderByDescending(i => i.EndDate).FirstOrDefault();
                    if (objectCustomerInvoice != null)
                    {
                        beginDate = objectCustomerInvoice.EndDate.AddDays(1).ToString();
                        endDate   = objectCustomerInvoice.EndDate.AddDays(7).ToString();
                    }
                }
                //////Get values from hourlog table
                List <getCustomerInvoiceAmount_Result> objectgetCustomerInvoiceAmount_Result = objContext.getCustomerInvoiceAmount(Convert.ToDateTime(beginDate), Convert.ToDateTime(endDate), customerId).ToList();

                objectCustomerInvoiceViewModel.TotalHours = Convert.ToInt32(objectgetCustomerInvoiceAmount_Result.Sum(i => i.TotHours));
                objectCustomerInvoiceViewModel.Amount     = Convert.ToInt32(objectgetCustomerInvoiceAmount_Result.Sum(i => i.Amount));
                objectCustomerInvoiceViewModel.BeginDate  = Convert.ToDateTime(beginDate);
                objectCustomerInvoiceViewModel.EndDate    = Convert.ToDateTime(endDate);
                objectCustomerInvoiceViewModel.HourlyRate = Convert.ToDecimal(objectgetCustomerInvoiceAmount_Result.FirstOrDefault().HourlyRate);
                return(objectCustomerInvoiceViewModel);
            }
        }
Beispiel #3
0
        public ActionResult CreateCustomerInvoice(CustomerInvoiceViewModel customerViewModel)
        {
            ActiveUser activeUser = new JavaScriptSerializer().Deserialize <ActiveUser>(System.Web.HttpContext.Current.User.Identity.Name);

            customerViewModel.CreatedBy  = activeUser.UserId;
            customerViewModel.ModifiedBy = activeUser.UserId;

            var result = _customerInvoiceComponent.CreateCustomerInvoice(customerViewModel);

            return(Json(result, JsonRequestBehavior.AllowGet));
        }
Beispiel #4
0
        public ActionResult CreateCustomerInvoicePopup(int id)
        {
            var customer = _customerInvoiceComponent.GetCustomerInvoice(id);

            if (customer == null)
            {
                customer = new CustomerInvoiceViewModel();
            }
            customer.CustomerList = new SelectList(_customerComponent.GetAllCustomer(), "CustomerId", "NameEmail");
            return(PartialView("/Views/Shared/Partials/_CustomerInvoice.cshtml", customer));
        }
        public ActionResult GetInvoiceAmount(int id)
        {
            CustomerInvoiceViewModel objectCustomerInvoiceViewModel = _customerInvoiceComponent.GetCustomerInvoice(id);

            return(Json(new
            {
                TotalHours = objectCustomerInvoiceViewModel.TotalHours,
                Amount = objectCustomerInvoiceViewModel.Amount
            }, JsonRequestBehavior.AllowGet));

            return(null);
        }
Beispiel #6
0
        public ActionResult GetCustomerHoursAndAmount(int customerId, string type, string beginDate, string endDate, int inoviceId)
        {
            CustomerInvoiceViewModel objectCustomerInvoiceViewModel = _customerInvoiceComponent.GetCustomerHoursAndAmount(customerId, type, beginDate, endDate, inoviceId);
            string beginDateDay   = (objectCustomerInvoiceViewModel.BeginDate.Day.ToString().Length == 1) ? "0" + objectCustomerInvoiceViewModel.BeginDate.Day.ToString() : objectCustomerInvoiceViewModel.BeginDate.Day.ToString();
            string beginDateMonth = (objectCustomerInvoiceViewModel.BeginDate.Month.ToString().Length == 1) ? "0" + objectCustomerInvoiceViewModel.BeginDate.Month.ToString() : objectCustomerInvoiceViewModel.BeginDate.Month.ToString();
            string endDateDay     = (objectCustomerInvoiceViewModel.EndDate.Day.ToString().Length == 1) ? "0" + objectCustomerInvoiceViewModel.EndDate.Day.ToString() : objectCustomerInvoiceViewModel.EndDate.Day.ToString();
            string endDateMonth   = (objectCustomerInvoiceViewModel.EndDate.Month.ToString().Length == 1) ? "0" + objectCustomerInvoiceViewModel.EndDate.Month.ToString() : objectCustomerInvoiceViewModel.EndDate.Month.ToString();

            return(Json(new
            {
                beginDate = objectCustomerInvoiceViewModel.BeginDate.Year + "-" + beginDateMonth + "-" + beginDateDay,
                endDate = objectCustomerInvoiceViewModel.EndDate.Year + "-" + endDateMonth + "-" + endDateDay,
                totalHours = objectCustomerInvoiceViewModel.TotalHours,
                amount = objectCustomerInvoiceViewModel.Amount,
                hourlyRate = objectCustomerInvoiceViewModel.HourlyRate
            }, JsonRequestBehavior.AllowGet));
        }
 public ResponseModel DeleteInvoice(CustomerInvoiceViewModel model)
 {
     try
     {
         var commandText = @"DELETE FROM CustomerInvoiceDetail where CustomerInvoiceId=@Id
                             DELETE FROM CustomerInvoice where Id=@Id
                             ";
         var name        = new SqlParameter("@Id", model.Id);
         var data        = DbContext.Database.SqlQuery <CustomerInvoiceViewModel>(commandText, name).ToList();
     }
     catch (Exception ex)
     {
         return(new ResponseModel {
             Success = false, Message = "Package can not be delete. Package is using on transaction."
         });
     }
     return(new ResponseModel {
         Success = true, Message = "Success"
     });
 }
Beispiel #8
0
        public CustomerInvoiceViewModel GetCustomerSettlementList(string customerMainC, string customerSubC)
        {
            CustomerInvoiceViewModel result = new CustomerInvoiceViewModel();

            // get invoice info
            var invoice          = _customerRepository.Query(cus => cus.CustomerMainC == customerMainC && cus.CustomerSubC == customerSubC).FirstOrDefault();
            var invoiceViewModel = Mapper.Map <Customer_M, InvoiceViewModel>(invoice);

            result.Invoice = invoiceViewModel;

            var settlementList          = _customerSettlementRepository.Query(set => set.CustomerMainC == customerMainC && set.CustomerSubC == customerSubC).OrderBy(i => i.ApplyD).ToList();
            var settlementListViewModel = Mapper.Map <List <CustomerSettlement_M>, List <CustomerSettlementViewModel> >(settlementList);

            result.SettlementList = settlementListViewModel;
            // get profit markup list
            var profitMarkupList = _customerGrossProfitRepository.Query(p => p.CustomerMainC == customerMainC && p.CustomerSubC == customerSubC).OrderBy(i => i.ApplyD).ToList();

            result.ProfitMarkupList = Mapper.Map <List <CustomerGrossProfit_M>, List <CustomerGrossProfitViewModel> >(profitMarkupList);

            return(result);
        }
        public int?CreateCustomerInvoice(CustomerInvoiceViewModel customerInvoiceViewModel)
        {
            CustomerInvoice customerInvoice = null;

            if (customerInvoiceViewModel.InvoiceId > 0)
            {
                customerInvoice = _repository.Find <CustomerInvoice>(x => x.InvoiceId == customerInvoiceViewModel.InvoiceId);
                if (customerInvoice == null)
                {
                    return(null);
                }

                customerInvoice.CustomerId       = customerInvoiceViewModel.CustomerId;
                customerInvoice.InvoiceNo        = customerInvoiceViewModel.InvoiceNo;
                customerInvoice.BeginDate        = customerInvoiceViewModel.BeginDate;
                customerInvoice.EndDate          = customerInvoiceViewModel.EndDate;
                customerInvoice.TotalHours       = customerInvoiceViewModel.TotalHours;
                customerInvoice.HourlyRate       = customerInvoiceViewModel.HourlyRate;
                customerInvoice.Amount           = customerInvoiceViewModel.Amount;
                customerInvoice.Description      = customerInvoiceViewModel.Description;
                customerInvoice.InternalComments = customerInvoiceViewModel.InternalComments;
                customerInvoice.ModifiedBy       = customerInvoiceViewModel.ModifiedBy;
                customerInvoice.ModifiedDate     = DateTime.Now;

                _repository.Modify <CustomerInvoice>(customerInvoice);
                return(customerInvoice.InvoiceId);
            }

            Mapper.CreateMap <CustomerInvoiceViewModel, CustomerInvoice>();
            customerInvoice = Mapper.Map <CustomerInvoiceViewModel, CustomerInvoice>(customerInvoiceViewModel);

            customerInvoice.CreatedDate = DateTime.Now;
            customerInvoice.CreatedBy   = customerInvoiceViewModel.CreatedBy;
            customerInvoice.IsDeleted   = false;
            return(_repository.Insert <CustomerInvoice>(customerInvoice));
        }
        public CustomerInvoiceViewModel GenerateInvoice(int invoiceId)
        {
            using (SecurityAgencyEntities objContext = new SecurityAgencyEntities())
            {
                CustomerInvoiceViewModel objectCustomerInvoiceViewModel = new CustomerInvoiceViewModel();
                objectCustomerInvoiceViewModel = (from customer in objContext.Customers
                                                  join customerInvoice in objContext.CustomerInvoices on customer.CustomerId equals customerInvoice.CustomerId
                                                  where customerInvoice.InvoiceId == invoiceId
                                                  select new CustomerInvoiceViewModel
                {
                    InvoiceNo = customerInvoice.InvoiceNo,
                    Name = customer.Name,
                    HourlyRate = customerInvoice.HourlyRate,
                    Address = customer.Address,
                    Zip = customer.Zip,
                    ContactNo = customer.ContactNo,
                    InvoiceDate = customerInvoice.InvoiceDate,
                    TotalHours = customerInvoice.TotalHours,
                    Description = customerInvoice.Description,
                    Amount = customerInvoice.Amount,
                    BeginDate = customerInvoice.BeginDate,
                    EndDate = customerInvoice.EndDate,
                    CustomerId = customerInvoice.CustomerId
                }).FirstOrDefault();

                //////Get values from hourlog table
                List <getCustomerInvoiceAmount_Result> objectgetCustomerInvoiceAmount_Result = objContext.getCustomerInvoiceAmount(objectCustomerInvoiceViewModel.BeginDate, objectCustomerInvoiceViewModel.EndDate, objectCustomerInvoiceViewModel.CustomerId).ToList();

                if (objectCustomerInvoiceViewModel == null)
                {
                    return(null);
                }

                return(objectCustomerInvoiceViewModel);
            }
        }
Beispiel #11
0
        public CustomerInvoiceViewModel GetCustomersByMainCodeSubCode(string mainCode, string subCode)
        {
            var custInvoice = new CustomerInvoiceViewModel();
            var customer    = _customerRepository.Query(cus => cus.CustomerMainC == mainCode && cus.CustomerSubC == subCode).FirstOrDefault();

            if (customer != null)
            {
                var custViewModel = Mapper.Map <Customer_M, CustomerViewModel>(customer);
                var custIndex     = FindIndex(customer.CustomerMainC, customer.CustomerSubC);
                custViewModel.CustomerIndex = custIndex;
                custInvoice.Customer        = custViewModel;

                if (!string.IsNullOrEmpty(custViewModel.InvoiceMainC) && !string.IsNullOrEmpty(custViewModel.InvoiceSubC))
                {
                    var invoice =
                        _customerRepository.Query(cus => cus.CustomerMainC == custViewModel.InvoiceMainC && cus.CustomerSubC == custViewModel.InvoiceSubC).FirstOrDefault();
                    var invoiceViewModel = Mapper.Map <Customer_M, InvoiceViewModel>(invoice);
                    custInvoice.Invoice = invoiceViewModel;

                    // get init customer payment
                    var initCustomerPayment =
                        _customerBalanceRepository.Get(
                            p => p.CustomerMainC == mainCode & p.CustomerSubC == "000" & p.CustomerBalanceD == new DateTime(1900, 1, 1));
                    if (initCustomerPayment != null)
                    {
                        custInvoice.Invoice.InitCustomerPayment = initCustomerPayment.TotalAmount;
                    }

                    // get settlement list
                    var settlementList = _customerSettlementRepository.Query(set => set.CustomerMainC == custViewModel.InvoiceMainC && set.CustomerSubC == custViewModel.InvoiceSubC).OrderBy(i => i.ApplyD).ToList();
                    custInvoice.SettlementList = Mapper.Map <List <CustomerSettlement_M>, List <CustomerSettlementViewModel> >(settlementList);

                    // get profit markup list
                    var profitMarkupList = _customerGrossProfitRepository.Query(p => p.CustomerMainC == custViewModel.InvoiceMainC && p.CustomerSubC == custViewModel.InvoiceSubC).OrderBy(i => i.ApplyD).ToList();
                    custInvoice.ProfitMarkupList = Mapper.Map <List <CustomerGrossProfit_M>, List <CustomerGrossProfitViewModel> >(profitMarkupList);
                }

                custInvoice.Status = Convert.ToInt32(CustomerStatus.Edit);
            }
            else
            {
                customer = _customerRepository.Query(cus => cus.CustomerMainC == mainCode && cus.CustomerSubC == "000").FirstOrDefault();
                if (customer != null)
                {
                    var custViewModel = Mapper.Map <Customer_M, CustomerViewModel>(customer);
                    custInvoice.Customer = custViewModel;
                    custInvoice.Customer.CustomerSubC = subCode;

                    if (!string.IsNullOrEmpty(custViewModel.InvoiceMainC) && !string.IsNullOrEmpty(custViewModel.InvoiceSubC))
                    {
                        var invoice =
                            _customerRepository.Query(cus => cus.CustomerMainC == custViewModel.InvoiceMainC && cus.CustomerSubC == custViewModel.InvoiceSubC).FirstOrDefault();
                        var invoiceViewModel = Mapper.Map <Customer_M, InvoiceViewModel>(invoice);
                        custInvoice.Invoice = invoiceViewModel;

                        // get init customer payment
                        var initCustomerPayment =
                            _customerBalanceRepository.Get(
                                p => p.CustomerMainC == mainCode & p.CustomerSubC == "000" & p.CustomerBalanceD == new DateTime(1900, 1, 1));
                        if (initCustomerPayment != null)
                        {
                            custInvoice.Invoice.InitCustomerPayment = initCustomerPayment.TotalAmount;
                        }

                        // get settlement list
                        var settlementList = _customerSettlementRepository.Query(set => set.CustomerMainC == custViewModel.InvoiceMainC && set.CustomerSubC == custViewModel.InvoiceSubC).OrderBy(i => i.ApplyD).ToList();
                        custInvoice.SettlementList = Mapper.Map <List <CustomerSettlement_M>, List <CustomerSettlementViewModel> >(settlementList);

                        // get profit markup list
                        var profitMarkupList = _customerGrossProfitRepository.Query(p => p.CustomerMainC == custViewModel.InvoiceMainC && p.CustomerSubC == custViewModel.InvoiceSubC).OrderBy(i => i.ApplyD).ToList();
                        custInvoice.ProfitMarkupList = Mapper.Map <List <CustomerGrossProfit_M>, List <CustomerGrossProfitViewModel> >(profitMarkupList);
                    }
                    custInvoice.Status = Convert.ToInt32(CustomerStatus.Add);
                }
                else
                {
                    custInvoice.Status = Convert.ToInt32(CustomerStatus.Add);
                }
            }
            return(custInvoice);
        }
Beispiel #12
0
        public ActionResult PrintInvoice()
        {
            CustomerInvoiceViewModel objectCustomerInvoiceViewModel = _customerInvoiceComponent.GenerateInvoice(Convert.ToInt32(Request.QueryString["invoiceId"]));

            return(View(objectCustomerInvoiceViewModel));
        }
Beispiel #13
0
 public IHttpActionResult Delete([FromBody] CustomerInvoiceViewModel model)
 {
     return(Ok(_customerInvoiceRepository.DeleteInvoice(model)));
 }