Beispiel #1
0
        public ActionResult CreateLineItems2(string data)
        {
            try
            {
                //Declare variables
                Repair        repair        = (Repair)Session["repair"];
                List <string> serialNumbers = data.Split(',').ToList();
                List <PartVM> parts         = _partsManager.getAllParts();

                //Add line items to the repair
                foreach (string serialNumber in serialNumbers)
                {
                    Part part = parts.Find(x => x.SerialNumber == serialNumber);
                    repair.LineItems.Add(new RepairLineItem()
                    {
                        SerialNumber = part.SerialNumber,
                        Amount       = part.Cost,
                        Type         = part.PartType
                    });
                }

                //Create a new bill
                Bill bill = new Bill()
                {
                    CustomerID = repair.CustomerID,
                    AmountDue  = repair.getAmount(),
                    AmountPaid = 0M,
                    IssueDate  = DateTime.Now,
                    DueDate    = DateTime.Now.AddDays(30),
                    LineItems  = new List <BillingLineItem>()
                };
                bill.LineItems.Add(new BillingLineItem()
                {
                    Amount = repair.getAmount()
                });

                //Add everything to the database
                _billingManager.newBill(bill);
                repair.BillingLineItemID = _billingManager.getLastestBillingLineItem();
                _repairsManager.addNewRepair(repair);

                return(RedirectToAction("Index"));
            }
            catch (Exception ex)
            {
                return(Redirect("~/Home/Error?error=" + ex.Message));
            }
        }
Beispiel #2
0
        private void BtnNewRepair_Click(object sender, RoutedEventArgs e)
        {
            //Create a new form
            NewRepair repairForm = new NewRepair();

            repairForm.ShowDialog();

            try
            {
                //New customer
                if (repairForm.chkNewCustomer.IsChecked == true)
                {
                    _customerManager.addNewCustomer(repairForm.customer);
                }

                //New Bill
                string firstName = repairForm.customer.getFirstName();
                string lastName  = repairForm.customer.getLastName();
                int    c         = _customerManager.getCustomerIDByCustomerName(firstName, lastName);

                //New line item
                List <BillingLineItem> lineItems = new List <BillingLineItem>();
                lineItems.Add(new BillingLineItem(0, repairForm.repair.getAmount()));
                _billingManager.newBill(new Bill(0, c,
                                                 repairForm.repair.getAmount(), 0, DateTime.Now, DateTime.Now.AddDays(30), lineItems));

                //Add repair
                repairForm.repair.setEmployeeID(_employee.getEmployeeID());
                repairForm.repair.setCustomerID(_customerManager.getCustomerIDByCustomerName(
                                                    repairForm.customer.getFirstName(), repairForm.customer.getLastName()));
                repairForm.repair.setBillingLineItemID(_billingManager.getLastestBillingLineItem());
                _repairManager.addNewRepair(repairForm.repair);
            }
            catch (Exception ex)
            {
                //throw ex;
                lblStatusMessage.Content = ex.Message;
            }
        }