Exemplo n.º 1
0
        public void CreateBillDetail(List <ItemInCartData> customerCart, int bill_Id)
        {
            var singleton = Singleton.Instance();
            var db        = singleton.getDatabase();

            foreach (ItemInCartData item in customerCart)
            {
                Bill_Detail billDetail     = new Bill_Detail();
                var         lastBillDetail = db.Bill_Details.OrderByDescending(c => c.Id).FirstOrDefault();
                if (lastBillDetail == null)
                {
                    billDetail.Id = 1;
                }
                else
                {
                    billDetail.Id = lastBillDetail.Id + 1;
                }

                billDetail.id_product = item.Id;
                billDetail.id_bill    = bill_Id;
                billDetail.quantity   = item.quantity;
                billDetail.price      = item.price;
                billDetail.size       = item.size;
                billDetail.id_type    = item.id_type;
                db.Bill_Details.Add(billDetail);
                db.SaveChanges();
            }
        }
        public IEnumerable <BillViewModel> getFManagerBills(string username)
        {
            EmployeeRepository   employeerepo      = new EmployeeRepository(_context);
            BillFMRepository     bfmrepo           = new BillFMRepository(_context);
            List <BillViewModel> fmanagerBillslist = new List <BillViewModel>(0);
            var fmanagerbills = bfmrepo.GetAllByBillFMID(employeerepo.GetByEmpNo(username).Emp_ID);

            foreach (var billfm in fmanagerbills)
            {
                Bill_Detail   billDetail = _context.Bill_Details.Find(billfm.Bill_ID);
                BillViewModel bvm        = new BillViewModel();
                Bill          bill       = _context.Bills.Find(billfm.Bill_ID);
                String        manager    = _context.Bill_Ms.Where(bm => bm.Bill_ID == billDetail.Bill_ID).Select(bmn => bmn.Manager.Emp_Name).Single();

                //There will always be a Entry for a Bill. Just to double Check in case of Incosistent Data
                if (billDetail != null)
                {
                    bvm.BillID        = billfm.Bill_ID;
                    bvm.BillAmount    = billDetail.Bill_Amount;
                    bvm.BillDate      = billDetail.Bill_Date;
                    bvm.BillStatus    = billfm.Bill.Bill_Status;
                    bvm.BillType      = billDetail.Bill_Type;
                    bvm.ModeOfPayment = billDetail.Bill_ModeOfPayment;
                    bvm.FManager      = billfm.FinanceManager.Emp_Name;
                    bvm.Manager       = manager;
                    bvm.BillSCopy     = (billDetail.Bill_have_SCopy) ? _context.Bill_SCopies.Find(bill.Bill_ID).SCopy : null;
                }

                fmanagerBillslist.Add(bvm);
            }

            return(fmanagerBillslist);
        }
        public ActionResult DeleteConfirmed(int id)
        {
            var         singleton   = Singleton.Instance();
            var         db          = singleton.getDatabase();
            Bill_Detail bill_Detail = db.Bill_Details.Find(id);

            bill_Detail.isDelete = true;
            foreach (Bill b in db.Bills)
            {
                if (bill_Detail.id_bill == b.Id)
                {
                    b.isDelete = true;

                    foreach (Customer c in db.Customers)
                    {
                        if (c.Id == b.id_customer)
                        {
                            c.isDelete = true;
                        }
                    }
                }
            }

            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
        public void CreateNewBill(string username, BillViewModel model)
        {
            //get Employee
            EmployeeRepository employeerepo = new EmployeeRepository(_context);
            var employee = employeerepo.GetByEmpNo(username);
            var empId    = employee.Emp_ID;

            //Create Bill
            BillRepository billrepo = new BillRepository(_context);
            Bill           bill     = new Bill();

            bill.Bill_Status = model.BillStatus;
            bill.Emp_ID      = empId;

            billrepo.AddBill(bill);

            //Create Bill Details
            BillDetailRepository billdetailrepo = new BillDetailRepository(_context);
            Bill_Detail          billdetail     = new Bill_Detail()
            {
                Bill_Amount        = model.BillAmount,
                Bill_Date          = model.BillDate,
                Bill_ModeOfPayment = model.ModeOfPayment,
                Bill_Type          = model.BillType,
                Bill_ID            = bill.Bill_ID,
                Bill_have_SCopy    = (model.BillSCopy != null) ? true : false,
            };

            billdetailrepo.AddBillDetail(billdetail);

            //Add Scanned Copy
            if (billdetail.Bill_have_SCopy)
            {
                BillSCopyRepository bscopyrepo = new BillSCopyRepository(_context);
                Bill_SCopy          billscopy  = new Bill_SCopy()
                {
                    Bill_ID = bill.Bill_ID,
                    SCopy   = model.BillSCopy
                };
                bscopyrepo.AddBillSCopy(billscopy);
            }

            //Add Bill Manager
            //get Manager's EmpID

            String[] emp_no_name = model.Manager.Split('-');
            var      ManagerId   = employeerepo.GetByEmpNo(emp_no_name[0]).Emp_ID;

            BillMRepository bmrepo = new BillMRepository(_context);

            Bill_M billm = new Bill_M();

            billm.Bill_ID = bill.Bill_ID;
            billm.Emp_ID  = ManagerId;

            bmrepo.AddBillM(billm);
        }
Exemplo n.º 5
0
        /// <summary>
        /// Update Bill Detail
        /// </summary>
        /// <param name="BillDetail">Bill Detail</param>
        /// <exception cref="">ArgumentNullException if Bill Detail is NULL</exception>
        public void UpdateBillDetails(Bill_Detail BillDetail)
        {
            if (BillDetail == null)
            {
                throw new ArgumentNullException();
            }

            _context.Entry <Bill_Detail>(BillDetail).State = System.Data.Entity.EntityState.Modified;

            _context.SaveChanges();
        }
Exemplo n.º 6
0
        /// <summary>
        /// Add Bill Details
        /// </summary>
        /// <param name="BillDetail">Bill Detail</param>
        /// <exception cref="">ArgumentNullException if Bill Detail is NULL </exception>
        public void AddBillDetail(Bill_Detail BillDetail)
        {
            if (BillDetail == null)
            {
                throw new ArgumentNullException();
            }

            _context.Bill_Details.Add(BillDetail);

            _context.SaveChanges();
        }
        public ActionResult Edit([Bind(Include = "Id,quantity,price,id_type,id_bill,id_product,size,isDelete")] Bill_Detail bill_Detail)
        {
            var singleton = Singleton.Instance();
            var db        = singleton.getDatabase();

            if (ModelState.IsValid)
            {
                db.Entry(bill_Detail).State = EntityState.Modified;
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }
            ViewBag.id_bill    = new SelectList(db.Bills, "Id", "note", bill_Detail.id_bill);
            ViewBag.id_product = new SelectList(db.Products, "Id", "title", bill_Detail.id_product);
            return(View(bill_Detail));
        }
        // GET: Bill_Detail/Details/5
        public ActionResult Details(int?id)
        {
            var singleton = Singleton.Instance();
            var db        = singleton.getDatabase();

            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Bill_Detail bill_Detail = db.Bill_Details.Find(id);

            if (bill_Detail == null)
            {
                return(HttpNotFound());
            }
            return(View(bill_Detail));
        }
        // GET: Bill_Detail/Edit/5
        public ActionResult Edit(int?id)
        {
            var singleton = Singleton.Instance();
            var db        = singleton.getDatabase();

            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Bill_Detail bill_Detail = db.Bill_Details.Find(id);

            if (bill_Detail == null)
            {
                return(HttpNotFound());
            }
            ViewBag.id_bill    = new SelectList(db.Bills, "Id", "note", bill_Detail.id_bill);
            ViewBag.id_product = new SelectList(db.Products, "Id", "title", bill_Detail.id_product);
            return(View(bill_Detail));
        }
        public IEnumerable <BillViewModel> getMyBills(String EmployeeNumber)
        {
            List <BillViewModel> myBills = new List <BillViewModel>(0);
            List <Bill>          bills   = _context.Bills.Where(b => b.Employee.Emp_No == EmployeeNumber).ToList();

            foreach (var bill in bills)
            {
                Bill_Detail billDetail = _context.Bill_Details.Find(bill.Bill_ID);
                var         manager    = _context.Bill_Ms.Where(bm => bm.Bill_ID == bill.Bill_ID).First().Manager.Emp_Name;
                String      Fmanager   = "Not Avialable";
                var         billStatus = bill.Bill_Status;

                if (billStatus == ApricotEnums.BillSatusEnum.CLOSED || billStatus == ApricotEnums.BillSatusEnum.APPROVED)
                {
                    Fmanager = _context.Bill_FMs.Where(bf => bf.Bill_ID == bill.Bill_ID).Select(b => b.FinanceManager.Emp_Name).Single();
                }

                BillViewModel bvm = new BillViewModel();

                //There will always be a Entry for a Bill. Just to double Check in case of Incosistent Data
                if (billDetail != null)
                {
                    bvm.BillID        = bill.Bill_ID;
                    bvm.BillAmount    = billDetail.Bill_Amount;
                    bvm.BillDate      = billDetail.Bill_Date;
                    bvm.BillStatus    = bill.Bill_Status;
                    bvm.BillType      = billDetail.Bill_Type;
                    bvm.ModeOfPayment = billDetail.Bill_ModeOfPayment;
                    bvm.FManager      = Fmanager;
                    bvm.Manager       = manager;
                    bvm.BillSCopy     = (billDetail.Bill_have_SCopy) ? _context.Bill_SCopies.Find(bill.Bill_ID).SCopy : null;
                }

                myBills.Add(bvm);
            }

            return(myBills);
        }
        public BillViewModel getBillDetail(Int64 id)
        {
            BillRepository       billrepo       = new BillRepository(_context);
            BillDetailRepository billdetailrepo = new BillDetailRepository(_context);
            BillMRepository      billmrepo      = new BillMRepository(_context);
            BillFMRepository     billfmrepo     = new BillFMRepository(_context);
            BillSCopyRepository  billscopyrepo  = new BillSCopyRepository(_context);
            BillViewModel        bvm            = new BillViewModel();

            Bill        bill         = billrepo.GetByBillID(id);
            Bill_Detail billdetail   = billdetailrepo.GetByBillID(id);
            Bill_M      billmanager  = billmrepo.GetByBillID(id);
            Bill_FM     billfmanager = null;
            Bill_SCopy  billscopy    = null;

            if (bill.Bill_Status == ApricotEnums.BillSatusEnum.APPROVED || bill.Bill_Status == ApricotEnums.BillSatusEnum.CLOSED)
            {
                billfmanager = billfmrepo.GetByBillId(id);
            }

            if (billdetail.Bill_have_SCopy)
            {
                billscopy = billscopyrepo.GetByBillID(id);
            }

            bvm.BillID        = bill.Bill_ID;
            bvm.BillStatus    = bill.Bill_Status;
            bvm.BillAmount    = billdetail.Bill_Amount;
            bvm.BillDate      = billdetail.Bill_Date;
            bvm.BillSCopy     = null;
            bvm.BillType      = billdetail.Bill_Type;
            bvm.FManager      = (billfmanager != null) ? billfmanager.FinanceManager.Emp_No : "Not Aviablable";
            bvm.Manager       = billmanager.Manager.Emp_Name;
            bvm.ModeOfPayment = billdetail.Bill_ModeOfPayment;

            return(bvm);
        }
        public IEnumerable <BillViewModel> getManagerBills(string username)
        {
            EmployeeRepository   employeerepo     = new EmployeeRepository(_context);
            BillMRepository      bmrepo           = new BillMRepository(_context);
            List <BillViewModel> managerBillslist = new List <BillViewModel>(0);
            var managerbills = bmrepo.GetAllByBillMID(employeerepo.GetByEmpNo(username).Emp_ID);

            foreach (var billm in managerbills)
            {
                Bill_Detail   billDetail = _context.Bill_Details.Find(billm.Bill_ID);
                BillViewModel bvm        = new BillViewModel();
                Bill          bill       = _context.Bills.Find(billm.Bill_ID);
                String        fmanager   = "Not yet Alloted";
                if (bill.Bill_Status == ApricotEnums.BillSatusEnum.CLOSED || bill.Bill_Status == ApricotEnums.BillSatusEnum.APPROVED)
                {
                    fmanager = _context.Bill_FMs.Where(bfm => bfm.Bill_ID == billDetail.Bill_ID).Select(bfmn => bfmn.FinanceManager.Emp_Name).Single();
                }
                //There will always be a Entry for a Bill. Just to double Check in case of Incosistent Data
                if (billDetail != null)
                {
                    bvm.BillID        = billm.Bill_ID;
                    bvm.BillAmount    = billDetail.Bill_Amount;
                    bvm.BillDate      = billDetail.Bill_Date;
                    bvm.BillStatus    = billm.Bill.Bill_Status;
                    bvm.BillType      = billDetail.Bill_Type;
                    bvm.ModeOfPayment = billDetail.Bill_ModeOfPayment;
                    bvm.FManager      = fmanager;
                    bvm.Manager       = billm.Manager.Emp_Name;
                    bvm.BillSCopy     = (billDetail.Bill_have_SCopy) ? _context.Bill_SCopies.Find(bill.Bill_ID).SCopy : null;
                }

                managerBillslist.Add(bvm);
            }

            return(managerBillslist);
        }