예제 #1
0
        public ActionResult Approve(int?id)
        {
            if (!LoginService.IsAuthorizedRoles("manager", "supervisor"))
            {
                return(RedirectToAction("Index", "Home"));
            }

            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            PurchaseOrder purchaseOrder = uow.PurchaseOrderRepository.Get(filter: x => x.ID == id, includeProperties: "Supplier, CreatedByStaff, RepliedByStaff, PurchaseItems.Tender.Item ").FirstOrDefault();

            Staff staff = loginService.StaffFromSession;

            //ViewBag.staffrole = staff.StaffRole;

            // to change later // changed already
            purchaseOrder.Approve(staff);
            uow.PurchaseOrderRepository.Update(purchaseOrder);
            uow.Save();
            Debug.WriteLine("Purchase Order Approved");
            PurchaseOrderVM vm = new PurchaseOrderVM(purchaseOrder);

            if (purchaseOrder == null)
            {
                return(HttpNotFound());
            }
            return(RedirectToAction("Details", new { id = id }));
        }
예제 #2
0
 public PurchaseOrderPage(PurchaseOrder po, PurchaseOrderVM vm)
 {
     try
     {
         InitializeComponent();
         Indicator.WidthRequest       = Device.OS == TargetPlatform.Windows ? 200 : 80;
         BindingContext               = po;
         _purchaseOrder               = po;
         _purchaseOrderVM             = vm;
         Indicator.IsRunning          = Indicator.IsVisible = false;
         PoItemListView.ItemSelected += (sender, args) =>
         {
             var selectedItem = PoItemListView.SelectedItem as PurchaseOrderItem;
             if (selectedItem == null)
             {
                 return;
             }
             Navigation.PushAsync(new PurchaseOrderItemPage(_purchaseOrderVM, _purchaseOrder, selectedItem));
             PoItemListView.SelectedItem = null;
         };
     }
     catch (Exception ex)
     {
         DisplayAlert("Error", ex.Message, "OK");
     }
 }
예제 #3
0
        public ActionResult AddProductDetails(string submitAction, PurchaseOrderVM purchaseOrderVM)
        {
            //Remove first template record.
            purchaseOrderVM._orderDetail.RemoveAt(0);

            if (ModelState.IsValid)
            {
                purchaseorder po = new purchaseorder();
                po.SupplierID      = purchaseOrderVM.purchaseOrder.SupplierID;
                po.PurchaseOrderNo = purchaseOrderVM.purchaseOrder.PurchaseOrderNo;
                if (purchaseOrderVM.purchaseOrder.ID != 0)
                {
                    po.ID = purchaseOrderVM.purchaseOrder.ID;
                }
                po.IsPurcheseEntry = false; // set this is false for Purchase Order
                foreach (var od in purchaseOrderVM._orderDetail)
                {
                    if (od.ProductID == 0)
                    {
                        continue;
                    }
                    if (db.orderdetails.Where(x => x.PurchaseOrderID == purchaseOrderVM.purchaseOrder.ID && x.ProductID == od.ProductID).ToList().Count > 0)
                    {
                        continue;
                    }
                    po.orderdetails.Add(od);
                }
                db.purchaseorders.Add(po);
                db.SaveChanges();
                var poList = db.purchaseorders.ToList();
                return(View("Index", poList));
            }
            return(View("Create", purchaseOrderVM));
        }
예제 #4
0
        public ActionResult Cancel(int?id)
        {
            if (!LoginService.IsAuthorizedRoles("clerk"))
            {
                return(RedirectToAction("Index", "Home"));
            }

            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            PurchaseOrder purchaseOrder = uow.PurchaseOrderRepository.Get(filter: x => x.ID == id, includeProperties: "Supplier, CreatedByStaff, RepliedByStaff, PurchaseItems.Tender.Item ").FirstOrDefault();

            // to change later
            purchaseOrder.Cancelled(uow.StaffRepository.GetByID(10002));
            uow.PurchaseOrderRepository.Update(purchaseOrder);
            uow.Save();
            Debug.WriteLine("Purchase Order Cancelled");
            PurchaseOrderVM vm = new PurchaseOrderVM(purchaseOrder);

            if (purchaseOrder == null)
            {
                return(HttpNotFound());
            }
            return(RedirectToAction("Details", new { id = id }));
        }
예제 #5
0
        private PurchaseOrderVM AddItemEdit(PurchaseOrderVM vm)
        {
            PurchaseOrder po = new PurchaseOrder();

            po = vm.PurchaseOrder;
            if (Session["items"] != null)
            {
                po.Items = Session["items"] as List <Item>;
            }
            vm.ItemToAdd.PurchaseOrderId = po.PurchaseOrderId;
            po.Items.Add(vm.ItemToAdd);
            po.Items = service.MergeDuplicates(po).Items;



            po.Subtotal      = service.CalculateSubtotal(vm.PurchaseOrder);
            po.Tax           = service.CalculateTaxAmount(vm.PurchaseOrder);
            po.TotalAfterTax = service.CalculateTotal(vm.PurchaseOrder);

            bool success = service.UpdatePurchaseOrder(po);

            vm.PurchaseOrder = service.GetPurchaseOrder(po.PurchaseOrderId);

            foreach (Item item in vm.PurchaseOrder.Items)
            {
                item.subtotal = item.Price * item.Quantity;
            }
            Session.Add("vm", vm);
            Session.Add("items", vm.PurchaseOrder.Items);

            return(vm);
        }
예제 #6
0
 public IActionResult OnGet(int?id)
 {
     TempOrderItem   = new OrderItem();
     PurchaseOrderVM = new PurchaseOrderVM
     {
         OrderInfo = new PurchaseOrder {
             DateOrdered      = DateTime.Now,
             StatusChangeDate = DateTime.Now,
             StatusID         = _uow.Statuses.GetFirstOrDefault(s => s.Name == "Pending").StatusId,
         },
         ItemList   = _uow.InventoryItems.GetNonAssemblyItemListForDropDown().OrderBy(i => i.Text),
         VendorList = _uow.Vendors.GetVendorListForDropDown(),
         StatusList = _uow.Statuses.GetStatusListForDropDown()
     };
     if (id != null)
     {
         PurchaseOrderVM.OrderInfo = _uow.PurchaseOrders.GetFirstOrDefault(u => u.PurchaseOrderID == id);
         if (PurchaseOrderVM == null)
         {
             return(NotFound());
         }
         PurchaseOrderVM.OrderInfo.OrderItems = _uow.OrderItems.GetAll(o => o.PurchaseOrderID == id, null, null).ToList();
         foreach (var l in PurchaseOrderVM.OrderInfo.OrderItems)
         {
             l.Item = _uow.InventoryItems.GetFirstOrDefault(i => i.InventoryItemID == l.ItemID);
         }
     }
     return(Page()); //No params refreshes the page
 }
        public async Task <string> AddUpdateUser(PurchaseOrderVM purchaseOrderVM)
        {
            PurchaseOrderDomainModel purchaseOrderDM = new PurchaseOrderDomainModel();

            AutoMapper.Mapper.Map(purchaseOrderVM, purchaseOrderDM);
            return(await purchaseOrderBusiness.AddUpdatePurchaseOrder(purchaseOrderDM));
        }
예제 #8
0
        // GET: PurchaseOrders/Details/5
        public ActionResult Details(int?id)
        {
            if (!LoginService.IsAuthorizedRoles("manager", "supervisor", "clerk"))
            {
                return(RedirectToAction("Index", "Home"));
            }


            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            Staff staff = loginService.StaffFromSession;

            ViewBag.staffrole = staff.StaffRole;

            PurchaseOrder   purchaseOrder = uow.PurchaseOrderRepository.Get(filter: x => x.ID == id, includeProperties: "Supplier, CreatedByStaff, RepliedByStaff, PurchaseItems.Tender.Item ").FirstOrDefault();
            PurchaseOrderVM vm            = new PurchaseOrderVM(purchaseOrder);

            if (vm.Status.ToString() == "InProgress" || vm.Status.ToString() == "Completed")
            {
                List <DeliveryOrder> deliveryOrders = uow.DeliveryOrderRepository.Get(x => x.PurchaseOrder.ID == vm.ID).ToList();
                vm.DeliveryOrders = deliveryOrders;
            }

            if (purchaseOrder == null)
            {
                return(HttpNotFound());
            }
            return(View(vm));
        }
예제 #9
0
        // GET: PO
        public ActionResult Create(bool isNew = true)
        {
            if (isNew)
            {
                Session["items"] = null;
            }

            if (System.Web.HttpContext.Current.Session["employeeId"] == null)
            {
                return(RedirectToAction("Index", "Login"));
            }

            PurchaseOrderVM vm = new PurchaseOrderVM();

            if (isNew == false && Session["vm"] != null)
            {
                vm = Session["vm"] as PurchaseOrderVM;
            }
            else
            {
                Session["vm"]    = null;
                vm.PurchaseOrder = new PurchaseOrder()
                {
                    CreationDate = DateTime.Today,
                    EmployeeId   = Convert.ToInt32(System.Web.HttpContext.Current.Session["employeeId"]),
                    Department   = System.Web.HttpContext.Current.Session["department"].ToString(),
                    Status       = (POStatus.Pending)
                };

                vm.EmployeeName   = service.GetEmployeeName(Convert.ToInt32(Session["employeeId"])).EmployeeName;
                vm.SupervisorName = service.GetSupervisorName(Convert.ToInt32(Session["employeeId"])).FullName;
            }

            return(View(vm));
        }
예제 #10
0
        public ActionResult EditItem(int id)
        {
            PurchaseOrderVM vm = Session["vm"] as PurchaseOrderVM;

            vm.editMode = true;
            foreach (Item item in vm.PurchaseOrder.Items)
            {
                if (item.ItemId == id)
                {
                    vm.ItemToAdd.ItemId          = id;
                    vm.ItemToAdd.Name            = item.Name;
                    vm.ItemToAdd.Description     = item.Description;
                    vm.ItemToAdd.Price           = item.Price;
                    vm.ItemToAdd.Quantity        = item.Quantity;
                    vm.ItemToAdd.Justification   = item.Justification;
                    vm.ItemToAdd.Location        = item.Location;
                    vm.ItemToAdd.Status          = item.Status;
                    vm.ItemToAdd.PurchaseOrderId = item.PurchaseOrderId;
                    vm.ItemToAdd.Reason          = item.Reason;
                }
            }

            Session.Add("vm", vm);

            return(RedirectToAction("Edit", new { id = 0 }));
        }
예제 #11
0
        public ActionResult CancelItem(int?id)
        {
            List <Item> items = Session["items"] as List <Item>;

            foreach (Item item in items.ToList())
            {
                if (item.ItemId == id)
                {
                    item.Status = ItemStatus.NoLongerRequired;
                }
            }
            Session["items"] = items;
            PurchaseOrderVM vm = Session["vm"] as PurchaseOrderVM;

            vm.PurchaseOrder.Items = items;

            if (UpdateItem(vm))
            {
                vm.PurchaseOrder = service.GetPurchaseOrder(vm.PurchaseOrder.PurchaseOrderId);
            }

            Session.Add("vm", vm);
            Session.Add("items", vm.PurchaseOrder.Items);

            return(RedirectToAction("Edit", new { id = 0 }));
        }
예제 #12
0
        public ActionResult ProcessSearch(PurchaseOrderVM vm)
        {
            if (Session["employeeId"] == null)
            {
                return(RedirectToAction("Index", "Login"));
            }

            int      employeeIdParam = Convert.ToInt32(Session["employeeId"]);
            string   searchCriteria  = vm.ProcessSearchVM.EmployeeNameSearch;
            DateTime startDateParam  = vm.ProcessSearchVM.StartDate;
            DateTime endDateParam    = vm.ProcessSearchVM.EndDate;
            POStatus?statusParam     = POStatus.Pending;

            if (vm.ProcessSearchVM.Status == "Pending")
            {
                statusParam = POStatus.Pending;
            }
            if (vm.ProcessSearchVM.Status == "Closed")
            {
                statusParam = POStatus.Closed;
            }
            if (vm.ProcessSearchVM.Status == "All")
            {
                statusParam = null;
            }

            List <PurchaseOrderDTO> pos = new List <PurchaseOrderDTO>();

            if (vm.ProcessSearchVM.SearchByPoNumber)
            {
                startDateParam = DateTime.MinValue;
                endDateParam   = DateTime.Now;
                statusParam    = null;
                searchCriteria = vm.ProcessSearchVM.PoNumberSearch;
                if (int.TryParse(searchCriteria, out int result))
                {
                    if (searchCriteria.Length == 8)
                    {
                        pos = service.SearchPurchaseOrdersProcess(employeeIdParam, searchCriteria, startDateParam, endDateParam, statusParam);
                        vm.ProcessPurchaseOrders = pos;
                    }
                    else
                    {
                        vm.PurchaseOrder.Errors.Add(new Error(1, "The PO Number must be 8 digits long", "Model"));
                    }
                }
                else
                {
                    vm.PurchaseOrder.Errors.Add(new Error(1, "The PO Number must be a number", "Model"));
                }
            }
            else
            {
                pos = service.SearchPurchaseOrdersProcess(employeeIdParam, searchCriteria, startDateParam, endDateParam, statusParam);
                vm.ProcessPurchaseOrders = pos;
            }

            return(View(vm));
        }
예제 #13
0
        public string InsertPurchseOrder(PurchaseOrderVM purchaseOrder, List <string> auditChanges)
        {
            Mapper.CreateMap <PurchaseItemsVM, PurchaseItemsDTO>();
            Mapper.CreateMap <PurchaseOrderVM, PurchaseOrderDTO>();
            var dto = Mapper.Map <PurchaseOrderDTO>(purchaseOrder);

            return(iOrder.InsertPurchseOrder(dto, auditChanges));
        }
예제 #14
0
        private void txtitemName_KeyUp(object sender, KeyEventArgs e)
        {
            try
            {
                if (txtitemName.Text != string.Empty)
                {
                    dgPurchaseOrderDetails.AutoGenerateColumns = false;
                    int rowNo = 1;
                    _entities = new KBBQEntities();

                    List <PurchaseOrderVM> modelList = new List <PurchaseOrderVM>();

                    var pId = _entities.purchaseProducts.Where(x => x.pName.Contains(txtitemName.Text.ToString())).FirstOrDefault();
                    if (pId != null)
                    {
                        var categoryData = _entities.tblPurchaseOrders.Where(x => x.productId == pId.id).ToList();

                        foreach (var item in categoryData)
                        {
                            PurchaseOrderVM model = new PurchaseOrderVM();
                            model.rowNo = rowNo;
                            model.id    = item.id;

                            var productName = _entities.purchaseProducts.Where(x => x.id == item.productId).FirstOrDefault().pName;

                            model.pName  = productName;
                            model.qty    = item.qty;
                            model.weight = item.weight + " " + item.unit;
                            model.date   = item.date.ToString();
                            model.cdate  = Convert.ToDateTime(item.cdate).ToString("dd-MM-yyyy  hh:mm tt");

                            if (item.udate == null)
                            {
                                model.udate = "--";
                            }
                            else
                            {
                                model.udate = Convert.ToDateTime(item.udate).ToString("dd-MM-yyyy  hh:mm tt");
                            }


                            modelList.Add(model);

                            rowNo++;
                        }
                    }
                    dgPurchaseOrderDetails.DataSource = modelList;

                    lblTotalRows.Text = modelList.Count.ToString();
                }
            }
            catch (Exception x)
            {
                MessageBox.Show(x.ToString());
            }
        }
예제 #15
0
        public string UpdatePurchseOrder(PurchaseOrderVM purchaseOrder, List <AuditDetailVM> auditChanges)
        {
            Mapper.CreateMap <PurchaseItemsVM, PurchaseItemsDTO>();
            Mapper.CreateMap <PurchaseOrderVM, PurchaseOrderDTO>();
            var dto = Mapper.Map <PurchaseOrderDTO>(purchaseOrder);

            Mapper.CreateMap <AuditDetailVM, AuditDetailDTO>();
            var auditDTO = Mapper.Map <List <AuditDetailDTO> >(auditChanges);

            return(iOrder.UpdatePurchseOrder(dto, auditDTO));
        }
예제 #16
0
        public ActionResult Edit(PurchaseOrderVM vm)
        {
            //Clear model state properties
            ModelState.Clear();
            if (Request.Form["modifyItem"] != null)
            {
                return(View(ModifyItem(vm)));
            }

            return(View(AddItemEdit(vm)));
        }
예제 #17
0
        public int FromReOrder([FromBody] myOrderSelection Selection)
        {
            string TestId = Selection.Items[0];

            var PurchaseOrderVM = new PurchaseOrderVM
            {
                OrderInfo = new PurchaseOrder()
                {
                    StatusID         = 6,
                    DateOrdered      = DateTime.Now,
                    StatusChangeDate = DateTime.Now,
                    OrderItems       = new List <OrderItem>(),
                    VendorID         = Convert.ToInt32(Selection.Vendor)
                },
                ItemList   = _uow.InventoryItems.GetItemListForDropDown(),
                VendorList = _uow.Vendors.GetVendorListForDropDown(),
                StatusList = _uow.Statuses.GetStatusListForDropDown()
            };

            _uow.PurchaseOrders.Add(PurchaseOrderVM.OrderInfo);
            _uow.Save();
            foreach (var i in Selection.Items)
            {
                var tempOrderItem = new OrderItem()
                {
                    ItemID           = Convert.ToInt32(i),
                    QuantityReceived = 0,
                    ItemReceived     = false,
                    Price            = 0,
                    DateDelivered    = DateTime.Now,
                    QuantityOrdered  = 0,
                    LastModifiedBy   = "Order Controller",
                    LastModifiedDate = DateTime.Now,
                    PurchaseOrderID  = PurchaseOrderVM.OrderInfo.PurchaseOrderID
                };
                _uow.OrderItems.Add(tempOrderItem);
                PurchaseOrderVM.OrderInfo.OrderItems.Add(tempOrderItem);
            }
            _uow.Save();
            return(PurchaseOrderVM.OrderInfo.PurchaseOrderID);



            //Take items (and vendor soon?) to the upsert page on a NEW purchase order
            //var page = new WhoLives_CapstoneFinal.Pages.PurchaseOrders.UpsertModel(_uow);
            //return page.Page();
            //return LocalRedirect("./Pages/PurchaseOrders/Upsert");
            //return RedirectToPage("./PurchaseOrders/Upsert", "reorder", new { vendor = Selection.Vendor, items = Selection.Items });
            //return RedirectToAction("reorder", "/PurchaseOrders/Upsert");
            //return RedirectToAction("../PurchaseOrders/Index");
            //return Ok();
        }
예제 #18
0
        // GET: purchaseorders/Create
        public ActionResult Create()
        {
            ViewBag.SupplierID = new SelectList(db.suppliers, "ID", "OrganizationName");
            ViewBag.suppliers  = db.suppliers.ToList();
            ViewBag.ProductID  = new SelectList(db.products, "ID", "Name");
            var purchaseOrder = new PurchaseOrderVM();

            purchaseOrder.purchaseOrder = new purchaseorder();
            purchaseOrder._orderDetail  = new List <orderdetail> {
                new orderdetail()
            };
            return(View(purchaseOrder));
        }
예제 #19
0
        public ActionResult BrowseSearch(PurchaseOrderVM vm)
        {
            string purchaseOrderIdSearch = !string.IsNullOrEmpty(vm.BrowseVM.PurchaseOrderIdSearch) ? vm.BrowseVM.PurchaseOrderIdSearch : "";

            POStatus?poStatus = POStatus.Pending;

            if (vm.BrowseVM.POStatus == "Closed")
            {
                poStatus = POStatus.Closed;
            }
            if (vm.BrowseVM.POStatus == "Both")
            {
                poStatus = null;
            }

            DateTime startDate = vm.BrowseVM.StartDate;
            DateTime endDate   = vm.BrowseVM.EndDate;

            if (vm.BrowseVM.SearchByPoNumber)
            {
                poStatus  = null;
                startDate = DateTime.MinValue;
                endDate   = DateTime.Now;
                if (!string.IsNullOrEmpty(vm.BrowseVM.PurchaseOrderIdSearch))
                {
                    if (purchaseOrderIdSearch.Length < 8)
                    {
                        vm.BrowseVM.Errors.Add(new Error(150, "The PO number must be 8 digits long", "Model"));
                    }
                    if (!int.TryParse(purchaseOrderIdSearch, out int result))
                    {
                        vm.BrowseVM.Errors.Add(new Error(151, "The PO number must be numeric", "Model"));
                    }
                }
                else
                {
                    vm.BrowseVM.Errors.Add(new Error(156, "The PO Number is required", "Model"));
                }
            }
            else
            {
                purchaseOrderIdSearch = "";
            }

            if (!(vm.BrowseVM.Errors.Count > 0))
            {
                vm.BrowseVM.PurchaseOrders = service.BrowseSearch(Convert.ToInt32(Session["employeeId"]), purchaseOrderIdSearch, poStatus, startDate, endDate);
            }

            return(View(vm));
        }
예제 #20
0
        private void dataGridBind()
        {
            try
            {
                dgPurchaseOrderDetails.AutoGenerateColumns = false;
                int rowNo = 1;
                _entities = new KBBQEntities();

                List <PurchaseOrderVM> modelList = new List <PurchaseOrderVM>();

                var categoryData = _entities.tblPurchaseOrders.Where(x => x.date == dateTimePicker1.Value.Date).ToList();

                foreach (var item in categoryData)
                {
                    PurchaseOrderVM model = new PurchaseOrderVM();
                    model.rowNo = rowNo;
                    model.id    = item.id;

                    var productName = _entities.purchaseProducts.Where(x => x.id == item.productId).FirstOrDefault().pName;

                    model.pName  = productName;
                    model.qty    = item.qty;
                    model.weight = item.weight + " " + item.unit;
                    model.date   = item.date.ToString();
                    model.cdate  = Convert.ToDateTime(item.cdate).ToString("dd-MM-yyyy  hh:mm tt");

                    if (item.udate == null)
                    {
                        model.udate = "--";
                    }
                    else
                    {
                        model.udate = Convert.ToDateTime(item.udate).ToString("dd-MM-yyyy  hh:mm tt");
                    }


                    modelList.Add(model);

                    rowNo++;
                }

                dgPurchaseOrderDetails.DataSource = modelList;

                lblTotalRows.Text = modelList.Count.ToString();
            }
            catch (Exception x)
            {
                MessageBox.Show(x.ToString());
            }
        }
예제 #21
0
        public ActionResult Process(int id, int?itemId = null, bool allItemsProcessed = false)
        {
            if (Session["employeeId"] == null)
            {
                return(RedirectToAction("Index", "Login"));
            }

            PurchaseOrderVM vm = new PurchaseOrderVM();

            vm.PurchaseOrder = service.GetPurchaseOrder(id);
            foreach (Item item in vm.PurchaseOrder.Items)
            {
                item.subtotal = item.Quantity * item.Price;
            }
            vm.ProcessPurchaseOrder = new PurchaseOrderDTO();
            vm.ProcessPurchaseOrder.PurchaseOrderId = vm.PurchaseOrder.PurchaseOrderId;
            vm.ProcessPurchaseOrder.EmployeeName    = service.GetEmployeeName(vm.PurchaseOrder.EmployeeId).EmployeeName;
            vm.ProcessPurchaseOrder.CreationDate    = vm.PurchaseOrder.CreationDate;
            vm.ProcessPurchaseOrder.Total           = vm.PurchaseOrder.TotalAfterTax;
            vm.Item = new Item();

            if (itemId != null)
            {
                foreach (Item i in vm.PurchaseOrder.Items)
                {
                    if (i.ItemId == itemId)
                    {
                        vm.Item = i;
                    }
                }
            }

            if (allItemsProcessed)
            {
                vm.ShowPromptToClose = true;
            }

            vm.ShowButtonToClose = true;
            foreach (Item item in vm.PurchaseOrder.Items)
            {
                if (item.Status != ItemStatus.Approved && item.Status != ItemStatus.Denied)
                {
                    vm.ShowButtonToClose = false;
                }
            }

            Session.Add("vm", vm);

            return(View(vm));
        }
예제 #22
0
 public PurchaseOrderListPage()
 {
     try
     {
         InitializeComponent();
         Indicator.WidthRequest  = Device.OS == TargetPlatform.Windows ? 200 : 80;
         BindingContext          = new PurchaseOrderVM();
         RefreshButton.IsVisible = Device.OS == TargetPlatform.Windows;
     }
     catch (Exception ex)
     {
         DisplayAlert("Error", ex.Message, "OK");
     }
 }
예제 #23
0
        public ActionResult SavePurchaseOrder(PurchaseOrderVM purchaseOrder)
        {
            List <SessionListnew> list = Session["SesDet"] as List <SessionListnew>;

            if (list == null)
            {
                return(Redirect("Login/InLogin"));
            }
            else
            {
                purchaseOrder.CmpyCode = list[0].CmpyCode;
                return(Json(_purchaseService.SavePurchaseOrder(purchaseOrder), JsonRequestBehavior.AllowGet));
            }
        }
예제 #24
0
        private void addPurchaseOrder()
        {
            try
            {
                int rowNo = 1;
                _entities = new KBBQEntities();

                List <PurchaseOrderVM> modelList = new List <PurchaseOrderVM>();

                var categoryData = _entities.tblPurchaseOrders.Where(x => x.date == datePassed).ToList();

                foreach (var item in categoryData)
                {
                    PurchaseOrderVM model = new PurchaseOrderVM();
                    model.rowNo = rowNo;
                    model.id    = item.id;

                    var productName = _entities.purchaseProducts.Where(x => x.id == item.productId).FirstOrDefault().pName;

                    model.pName  = productName;
                    model.qty    = item.qty;
                    model.weight = item.weight + " " + item.unit;

                    model.cdate = Convert.ToDateTime(item.cdate).ToString("dd-MM-yyyy  hh:mm tt");

                    if (item.udate == null)
                    {
                        model.udate = "--";
                    }
                    else
                    {
                        model.udate = Convert.ToDateTime(item.udate).ToString("dd-MM-yyyy  hh:mm tt");
                    }

                    modelList.Add(model);

                    rowNo++;
                }
                ReportDataSource datasource = new ReportDataSource("DataSet1", modelList);

                this.reportViewer1.LocalReport.DataSources.Clear();
                this.reportViewer1.LocalReport.DataSources.Add(datasource);
            }
            catch (Exception x)
            {
                MessageBox.Show(x.ToString());
            }
        }
예제 #25
0
        public JsonResult InsertOrder(string FullName, DateTime DateOfDeliver, string Status, PurchaseItemsVM[] purchaseItem, double amountDue)
        {
            var             customer      = iCustomer.GetCustomerList().Where(x => x.FullName == FullName).FirstOrDefault();
            PurchaseOrderVM purchaseOrder = new PurchaseOrderVM();

            if (customer == null)
            {
                return(Json("Customer does not exist", JsonRequestBehavior.AllowGet));
            }
            else
            {
                if (customer.IsActive)
                {
                    purchaseOrder.CustomerID     = customer.ID;
                    purchaseOrder.CustomerName   = customer.FullName;
                    purchaseOrder.DateOfDelivery = DateOfDeliver;
                    purchaseOrder.AmountDue      = amountDue;
                    purchaseOrder.Status         = Status;
                }
                else
                {
                    return(Json("Customer is not active", JsonRequestBehavior.AllowGet));
                }
            }

            List <string> auditChanges = new List <string>();

            auditChanges.Add("Customer ID=\"" + purchaseOrder.CustomerID.ToString() + "\"");
            auditChanges.Add("Customer Name=\"" + purchaseOrder.CustomerName + "\"");
            auditChanges.Add("Date of Deliver=\"" + purchaseOrder.DateOfDelivery.ToString() + "\"");
            auditChanges.Add("Status=\"" + purchaseOrder.Status + "\"");

            List <PurchaseItemsVM> PurchaseItem = new List <PurchaseItemsVM>();

            foreach (var item in purchaseItem)
            {
                PurchaseItem.Add(item);
                auditChanges.Add("SKU ID=\"" + item.SKUID + "\", Quantity=\"" + item.Quantity + "\"");
            }

            purchaseOrder.PurchaseItems = PurchaseItem;


            string result = iOrder.InsertPurchseOrder(purchaseOrder, auditChanges);

            return(Json(result, JsonRequestBehavior.AllowGet));
        }
예제 #26
0
        public ActionResult Edit(string poNo)
        {
            PurchaseOrderVM poVM = new PurchaseOrderVM();

            poVM.PurchaseOrder = poRepo.GetByNo(poNo);
            int companyId = poVM.PurchaseOrder.ShipTo;

            poVM.SelectedCompany = companyRepo.GetById(companyId);

            ViewBag.PoNumber = poNo;
            ViewBag.Vendors  = new SelectList(context.Vendors.Where(p => p.Active), "Id", "Name", poVM.PurchaseOrder.VendorId.ToString());
            ViewBag.User     = poVM.PurchaseOrder.PreparedByObj.FullName;
            ViewBag.Update   = "1";
            InitViewBags();

            return(View("Create", poVM));
        }
예제 #27
0
        public ActionResult Edit(int?id, bool reset = false)
        {
            if (Session["employeeId"] == null)
            {
                return(RedirectToAction("Index", "Login"));
            }

            ModelState.Clear();
            // If the ID is 0 it means that we don't retrieve anew we just return the current purchase order under edit
            if (id == 0)
            {
                PurchaseOrderVM vm = Session["vm"] as PurchaseOrderVM;
                vm.PurchaseOrder.Items = Session["items"] as List <Item>;
                foreach (Item item in vm.PurchaseOrder.Items)
                {
                    item.subtotal = item.Price * item.Quantity;
                }
                vm.PurchaseOrder.Subtotal      = service.CalculateSubtotal(vm.PurchaseOrder);
                vm.PurchaseOrder.Tax           = service.CalculateTaxAmount(vm.PurchaseOrder);
                vm.PurchaseOrder.TotalAfterTax = service.CalculateTotal(vm.PurchaseOrder);
                if (reset == true)
                {
                    vm.editMode = false;
                }
                return(View(vm));
            }
            else
            {
                PurchaseOrderService purchaseOrderService = new PurchaseOrderService();

                PurchaseOrderVM vm = new PurchaseOrderVM();

                vm.PurchaseOrder = purchaseOrderService.GetPurchaseOrder(id.Value);

                vm.EmployeeName   = service.GetEmployeeName(vm.PurchaseOrder.EmployeeId).EmployeeName;
                vm.SupervisorName = service.GetSupervisorName(vm.PurchaseOrder.EmployeeId).FullName;
                foreach (Item item in vm.PurchaseOrder.Items)
                {
                    item.subtotal = item.Quantity * item.Price;
                }

                Session["vm"]    = vm;
                Session["items"] = vm.PurchaseOrder.Items;
                return(View(vm));
            }
        }
        private async Task SetSectListAsync(PurchaseOrderVM vm)
        {
            await SetCurrencySelectLists(vm);
            await SetFreightTermSelectListAsync(vm.FreightTermId);

            //await SetProductSelectListAsync(poVM.Product);
            await SetSizingStandardSelectListAsync(vm);
            await SetCustomerDepartmentSelectListAsync(vm.CustomerId, vm.CustomerDepartmentId ?? 0);

            var designers = await DataContext.GetDesignerDtoList();

            ViewBag.DesignerId = new SelectList(designers, "Id", "FullName", vm.DesignerId ?? 0);
            var merchandisers = await DataContext.GetMerchandiserDtoList();

            ViewBag.Merchandiser1Id = new SelectList(merchandisers, "Id", "FullName", vm.Merchandiser1Id ?? 0);
            ViewBag.Merchandiser2Id = new SelectList(merchandisers, "Id", "FullName", vm.Merchandiser2Id ?? 0);
        }
예제 #29
0
        public ActionResult Browse(int purchaseOrderId)
        {
            if (Session["employeeId"] == null)
            {
                Session.Add("browsePoId", purchaseOrderId);
                return(RedirectToAction("Index", "Login"));
            }

            PurchaseOrderVM vm = new PurchaseOrderVM();

            vm.PurchaseOrder  = service.GetPurchaseOrder(purchaseOrderId);
            vm.EmployeeName   = service.GetEmployeeName(vm.PurchaseOrder.EmployeeId).EmployeeName;
            vm.SupervisorName = service.GetSupervisorName(vm.PurchaseOrder.EmployeeId).FullName;
            foreach (Item item in vm.PurchaseOrder.Items)
            {
                item.subtotal = item.Price * item.Quantity;
            }
            return(View(vm));
        }
        public dynamic PostPurchaseOrder(PurchaseOrderVM p)
        {
            var purchaseOrder = db.purchaseOrders.Add(new purchaseOrder
            {
                UserId     = p.userId,
                BranchId   = p.branchId,
                SupplierId = p.supplierId,
                SupplierRepresentativeId = p.supplierRepresentativeId,
                IsApprovFinancialManag   = null,
                OrderDate = p.orderDate
            });
            var result = db.SaveChanges() > 0 ? true : false;

            return(new
            {
                result = result,
                id = purchaseOrder.Id
            });
        }