コード例 #1
0
        public ActionResult RegisterCustomer(string fullname, string email, string number, string organizationname, string organizationaddress, string username, string password, string password2, string[] warehouses)
        {
            WarehouseBusinessLayer wbl = new WarehouseBusinessLayer();



            Customer useracc = new Customer();

            useracc.fullName            = fullname;
            useracc.email               = email;
            useracc.contact             = number;
            useracc.password            = password;
            useracc.userName            = username;
            useracc.organizationAddress = organizationaddress;
            useracc.organizationName    = organizationname;
            useracc.selectedWarehouse   = JsonConvert.SerializeObject(warehouses);

            WarehouseDBEntities wdb = new WarehouseDBEntities();

            wdb.Customers.Add(useracc);
            wdb.SaveChanges();


            Session["UserID"]   = wbl.getRecentlyId();
            Session["Username"] = username;

            return(RedirectToAction("LoggedIn"));
        }
コード例 #2
0
        public JsonResult GetSpecificItem(string id)
        {
            try
            {
                WarehouseDBEntities    wdb  = new WarehouseDBEntities();
                WarehouseBusinessLayer ware = new WarehouseBusinessLayer();
                int warehouseID             = ware.getWarehouseId(Convert.ToInt32(Session["UserID"]));

                //   Shelf shelf = wdb.Shelves.FirstOrDefault(a => a.shelfName == sname);
                Item item = wdb.Items.Find(Convert.ToInt32(id));


                List <String> sitems = new List <String>();

                sitems.Add(item.Manufacturer);
                sitems.Add(item.itemCode);
                sitems.Add(item.itemDetail.dimensions);
                sitems.Add(item.itemDetail.weight);
                sitems.Add(item.itemDetail.picture);
                sitems.Add(item.Country);


                return(new JsonResult {
                    Data = sitems, JsonRequestBehavior = JsonRequestBehavior.AllowGet
                });
            }
            catch (Exception ex)
            {
                return(null);
            }
        }
コード例 #3
0
        public ActionResult EditProfile(int id)
        {
            WarehouseDBEntities wde     = new WarehouseDBEntities();
            UserAccount         useracc = wde.UserAccounts.Find(id);

            return(View(useracc));
        }
コード例 #4
0
        public JsonResult GetAllItems(string id)
        {
            try
            {
                WarehouseDBEntities    wdb  = new WarehouseDBEntities();
                WarehouseBusinessLayer ware = new WarehouseBusinessLayer();
                int       warehouseID       = ware.getWarehouseId(Convert.ToInt32(Session["UserID"]));
                Warehouse warehouse         = wdb.Warehouses.FirstOrDefault(k => k.id == warehouseID);
                int       palletsInOneRow   = ((int)warehouse.shelfSlots / (int)warehouse.sections) / (int)warehouse.shelfRows;

                string sname = warehouseID.ToString() + id;
                Shelf  shelf = wdb.Shelves.FirstOrDefault(a => a.shelfName == sname);
                shelf.shelfName      = id;
                shelf.warehouse_id   = palletsInOneRow;
                shelf.slotsRemaining = warehouse.sections;
                List <Shelf> sitems = new List <Shelf>();

                sitems.Add(shelf);

                return(new JsonResult {
                    Data = sitems, JsonRequestBehavior = JsonRequestBehavior.AllowGet
                });
            }
            catch (Exception ex)
            {
                return(null);
            }
        }
コード例 #5
0
        /// <summary>
        /// Get and update current product quantity in warehouse
        /// </summary>
        public void GetCurrentWarehouseQuantity()
        {
            int sum = 0;

            try
            {
                using (WarehouseDBEntities context = new WarehouseDBEntities())
                {
                    List <Product> products = new List <Product>();
                    products = context.Products.ToList();

                    for (int i = 0; i < products.Count; i++)
                    {
                        if (products[i].Stored == "stored")
                        {
                            sum += products[i].Quantity;
                        }
                    }
                }
                currentWarehouseQuantity = sum;
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message.ToString());
            }
        }
コード例 #6
0
        /// <summary>
        /// Method for change of product Stored status
        /// </summary>
        /// <param name="product">product for storing</param>
        public void StoreProduct(tblProduct product)
        {
            try
            {
                using (WarehouseDBEntities context = new WarehouseDBEntities())
                {
                    tblProduct        productToStore = (from x in context.tblProducts where x.ID == product.ID select x).First();
                    List <tblProduct> storedList     = GetStoredProducts();
                    int counter = 0;
                    foreach (var item in storedList)
                    {
                        counter += item.Quantity;
                    }

                    //check quantity if its less than 100 it can be stored
                    if (productToStore.Stored == "no" && (counter + productToStore.Quantity <= 100))
                    {
                        //change status to yes
                        productToStore.Stored = "yes";
                        context.SaveChanges();
                    }
                }
            }
            catch (Exception ex)
            {
                System.Diagnostics.Debug.WriteLine("Exception" + ex.Message.ToString());
            }
        }
コード例 #7
0
        /// <summary>
        /// Delete product execute
        /// </summary>
        private void DeleteProductExecute()
        {
            try
            {
                if (Product != null)
                {
                    int productID = Product.ProductID;
                    if (Product.Stored == "stored")
                    {
                        MessageBox.Show("Can't delete stored product");
                    }
                    else
                    {
                        service.DeleteProduct(productID);
                        service.Notify("Deleted " + product.ProductName + ", code " + product.ProductCode + ", quantity " + product.Quantity + ", price " + product.Price);
                        MessageBox.Show("Product has been deleted");
                    }

                    using (WarehouseDBEntities wcf = new WarehouseDBEntities())
                    {
                        ProductList = wcf.Products.ToList();
                    }
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString());
            }
        }
コード例 #8
0
 /// <summary>
 /// Constructor with one parameter
 /// </summary>
 /// <param name="mainOpen">Main window</param>
 public MainWindowViewModel(MainWindow mainOpen)
 {
     main = mainOpen;
     using (WarehouseDBEntities context = new WarehouseDBEntities())
     {
         ProductList = context.Products.ToList();
     }
 }
コード例 #9
0
        public ActionResult PlaceOrder()
        {
            WarehouseDBEntities wdb        = new WarehouseDBEntities();
            List <Warehouse>    warehouses = wdb.Warehouses.ToList();

            ViewBag.Warehouses = warehouses;

            return(View());
        }
コード例 #10
0
 /// <summary>
 /// Constructor with one parameter
 /// </summary>
 /// <param name="storeOpen">Storekeeper window</param>
 public StorekeeperViewModel(Storekeeper storeOpen)
 {
     storekeeper = storeOpen;
     using (WarehouseDBEntities context = new WarehouseDBEntities())
     {
         ProductList = context.Products.ToList();
     }
     service.GetCurrentWarehouseQuantity();
 }
コード例 #11
0
        public ActionResult ViewWorkers()
        {
            WarehouseDBEntities wdb    = new WarehouseDBEntities();
            int warehouseID            = Convert.ToInt32(Session["UserId"]);
            List <UserAccount> useracc = wdb.UserAccounts.Where(a => a.Worker.warehouseId == warehouseID && a.Role == "Worker").ToList();


            return(View(useracc));
        }
コード例 #12
0
        public ActionResult OrderInstruction()
        {
            WarehouseDBEntities    wdb = new WarehouseDBEntities();
            WarehouseBusinessLayer wbl = new WarehouseBusinessLayer();
            int          id            = wbl.getWarehouseId(Convert.ToInt32(Session["UserID"]));
            List <Order> orders        = wdb.Orders.Where(a => a.warehouseId == id && a.orderStatus == "Dispatched").ToList();


            return(View(orders));
        }
コード例 #13
0
        public ActionResult GetOrders()
        {
            WarehouseBusinessLayer wbl = new WarehouseBusinessLayer();
            WarehouseDBEntities    wdb = new WarehouseDBEntities();
            int warehouseIdd           = wbl.getWarehouseId(Convert.ToInt32(Session["UserID"]));

            List <Order> orderNew = wdb.Orders.Where(a => a.warehouseId == warehouseIdd).ToList();


            return(View(orderNew));
        }
コード例 #14
0
        public RedirectToRouteResult Delete(int id)
        {
            WarehouseDBEntities wdb = new WarehouseDBEntities();
            var user = (from d in wdb.UserAccounts
                        where d.UserID == id
                        select d).Single();

            wdb.UserAccounts.Remove(user);
            wdb.SaveChanges();
            return(RedirectToAction("ViewWorkers"));
        }
コード例 #15
0
        public RedirectToRouteResult CreateWorker(string fullname, string email, string number, string username, string password, string[] shelfs)
        {
            WarehouseDBEntities wde = new WarehouseDBEntities();
            UserAccount         acc = new UserAccount();

            acc.Email      = email;
            acc.Name       = fullname;
            acc.UserName   = username;
            acc.Password   = password;
            acc.Contact    = number;
            acc.Role       = "Worker";
            acc.Registered = DateTime.Now.ToShortDateString();
            wde.Workers.Add(new Worker
            {
                warehouseId    = Convert.ToInt32(Session["UserId"]),
                assignedShelfs = JsonConvert.SerializeObject(shelfs)
            });
            if (wde.UserAccounts.Where(a => a.UserName == acc.UserName).ToList().Count < 1)
            {
                try
                {
                    wde.SaveChanges();
                }
                catch (System.Data.Entity.Validation.DbEntityValidationException dbEx)
                {
                    Exception raise = dbEx;
                    foreach (var validationErrors in dbEx.EntityValidationErrors)
                    {
                        foreach (var validationError in validationErrors.ValidationErrors)
                        {
                            string message = string.Format("{0}:{1}",
                                                           validationErrors.Entry.Entity.ToString(),
                                                           validationError.ErrorMessage);
                            // raise a new exception nesting
                            // the current instance as InnerException
                            raise = new InvalidOperationException(message, raise);
                        }
                    }
                    throw raise;
                }

                // acc.workerId = Convert.ToInt32(Session["UserId"]);
                acc.workerId = wde.Workers.Max(a => a.Id);
                ConsignmentBusinessLayer cbl = new ConsignmentBusinessLayer();
                cbl.addAccount(acc);

                return(RedirectToAction("ViewWorkers"));
            }
            else
            {
                return(null);
            }
        }
コード例 #16
0
        public void UpdateOrderCancel(string status)
        {
            int orderId             = Convert.ToInt32(status);
            WarehouseDBEntities wdm = new WarehouseDBEntities();
            Order Oldorder          = wdm.Orders.FirstOrDefault(a => a.orderId == orderId);
            Order orderCopy         = Oldorder;

            orderCopy.orderStatus = "Canceled";

            wdm.Entry(Oldorder).CurrentValues.SetValues(orderCopy);
            wdm.SaveChanges();
            wdm.Dispose();
        }
コード例 #17
0
 public ActionResult StepTwoCustomer()
 {
     if (TempData["SignupStepOne"] != null)
     {
         UserAccount         useracc    = (UserAccount)TempData["SignupStepOne"];
         WarehouseDBEntities wdb        = new WarehouseDBEntities();
         List <Warehouse>    warehouses = wdb.Warehouses.ToList();
         ViewBag.Warehouses = warehouses;
         return(View(useracc));
     }
     else
     {
         return(RedirectToAction("Register"));
     }
 }
コード例 #18
0
        /// <summary>
        /// Add or edit product in warehouse
        /// </summary>
        /// <param name="product">Product to add or edit</param>
        /// <returns>Added or updated product</returns>
        public Product AddProduct(Product product)
        {
            try
            {
                using (WarehouseDBEntities context = new WarehouseDBEntities())
                {
                    if (product.ProductID == 0)
                    {
                        //add product
                        Product p = new Product();
                        p.ProductName = product.ProductName;
                        p.ProductCode = product.ProductCode;
                        p.Quantity    = product.Quantity;
                        p.Price       = product.Price;
                        p.Stored      = "not stored";

                        context.Products.Add(p);
                        context.SaveChanges();

                        product.ProductID = p.ProductID;

                        action = "added";

                        return(product);
                    }
                    else
                    {
                        //edit product
                        Product productToEdit = (from x in context.Products where x.ProductID == product.ProductID select x).FirstOrDefault();
                        productToEdit.ProductName = product.ProductName;
                        productToEdit.ProductCode = product.ProductCode;
                        productToEdit.Price       = product.Price;
                        productToEdit.Quantity    = product.Quantity;
                        productToEdit.ProductID   = product.ProductID;
                        context.SaveChanges();

                        action = "updated";

                        return(product);
                    }
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message.ToString());
                return(null);
            }
        }
コード例 #19
0
 /// <summary>
 /// Delete product from warehouse
 /// </summary>
 /// <param name="id">Product id</param>
 public void DeleteProduct(int id)
 {
     try
     {
         using (WarehouseDBEntities context = new WarehouseDBEntities())
         {
             Product productToDelete = (from r in context.Products where r.ProductID == id select r).First();
             context.Products.Remove(productToDelete);
             context.SaveChanges();
         }
     }
     catch (Exception ex)
     {
         Console.WriteLine(ex.Message.ToString());
     }
 }
コード例 #20
0
 /// <summary>
 /// Method to get all stored products from table
 /// </summary>
 /// <returns>list of stored products</returns>
 public List <tblProduct> GetStoredProducts()
 {
     try
     {
         using (WarehouseDBEntities context = new WarehouseDBEntities())
         {
             List <tblProduct> stored = new List <tblProduct>();
             stored = (from x in context.tblProducts where x.Stored == "yes" select x).ToList();
             return(stored);
         }
     }
     catch (Exception ex)
     {
         System.Diagnostics.Debug.WriteLine("Exception" + ex.Message.ToString());
         return(null);
     }
 }
コード例 #21
0
 /// <summary>
 /// Method gets all products from database
 /// </summary>
 /// <returns>List of products</returns>
 public List <tblProduct> GetAllProducts()
 {
     try
     {
         using (WarehouseDBEntities context = new WarehouseDBEntities())
         {
             List <tblProduct> products = new List <tblProduct>();
             products       = (from x in context.tblProducts select x).ToList();
             OnNotification = logger.WriteToFile;
             return(products);
         }
     }
     catch (Exception ex)
     {
         System.Diagnostics.Debug.WriteLine("Exception" + ex.Message.ToString());
         return(null);
     }
 }
コード例 #22
0
        /// <summary>
        /// Store not stored product in warehpuse
        /// </summary>
        /// <param name="id"></param>
        public void StoreProduct(int id)
        {
            try
            {
                using (WarehouseDBEntities context = new WarehouseDBEntities())
                {
                    Product productToStore = (from r in context.Products where r.ProductID == id select r).First();
                    productToStore.Stored = "stored";
                    context.SaveChanges();

                    GetCurrentWarehouseQuantity();
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message.ToString());
            }
        }
コード例 #23
0
        public JsonResult GetWorkerLogs(string id)
        {
            try
            {
                WarehouseDBEntities wde = new WarehouseDBEntities();
                Worker worker           = wde.Workers.Find(Convert.ToInt32(id));

                List <WorkerLogs> logs = Newtonsoft.Json.JsonConvert.DeserializeObject <List <WorkerLogs> >(worker.workerLogs);

                return(new JsonResult {
                    Data = logs, JsonRequestBehavior = JsonRequestBehavior.AllowGet
                });
            }
            catch (Exception ex)
            {
                return(null);
            }
        }
コード例 #24
0
 /// <summary>
 /// Add product execute
 /// </summary>
 private void AddProductExecute()
 {
     try
     {
         AddProduct addProduct = new AddProduct();
         addProduct.ShowDialog();
         if ((addProduct.DataContext as AddProductViewModel).IsUpdateProduct == true)
         {
             using (WarehouseDBEntities wcf = new WarehouseDBEntities())
             {
                 ProductList = wcf.Products.ToList();
             }
         }
     }
     catch (Exception ex)
     {
         MessageBox.Show(ex.ToString());
     }
 }
コード例 #25
0
        public JsonResult GetItems(int warehouseId)
        {
            List <Item>              items = new List <Item>();
            WarehouseDBEntities      wdb   = new WarehouseDBEntities();
            List <Item_Warehouse>    iw    = wdb.Item_Warehouse.Where(i => i.warehouseId == warehouseId).ToList();
            ConsignmentBusinessLayer cbl   = new ConsignmentBusinessLayer();

            foreach (Item_Warehouse i in iw)
            {
                //Item it = wdb.Items.First(k=>k.id==i.itemId);
                items.Add(cbl.getItem(i.itemId, (int)i.quantity));
            }

            wdb.Dispose();


            return(new JsonResult {
                Data = items, JsonRequestBehavior = JsonRequestBehavior.AllowGet
            });
        }
コード例 #26
0
        public ActionResult PlaceOrderRegister(string fullname, string email, string number, string organizationname, string organizationaddress, string orderCountries, string orderWarehouse)
        {
            WarehouseDBEntities wdb      = new WarehouseDBEntities();
            Customer            customer = new Customer();

            customer.fullName            = fullname;
            customer.email               = email;
            customer.contact             = number;
            customer.organizationName    = organizationname;
            customer.organizationAddress = organizationaddress;
            customer.selectedWarehouse   = orderWarehouse;
            Session["warehouseKey"]      = orderWarehouse;
            int       warehouseID = Convert.ToInt32(orderWarehouse);
            Warehouse w           = wdb.Warehouses.FirstOrDefault(a => a.id == warehouseID);

            Session["warehouseName"]  = w.warehouseName;
            Session["customerRecord"] = customer;


            return(RedirectToAction("PlaceOrderComplete"));
        }
コード例 #27
0
 /// <summary>
 /// Method for add or edit products in database
 /// </summary>
 /// <param name="product"></param>
 /// <returns>new or edited product</returns>
 public tblProduct AddEditProduct(tblProduct product)
 {
     try
     {
         using (WarehouseDBEntities context = new WarehouseDBEntities())
         {
             if (product.ID == 0)
             {
                 tblProduct newProduct = new tblProduct();
                 newProduct.ProductName = product.ProductName;
                 newProduct.ProductCode = product.ProductCode;
                 newProduct.Quantity    = product.Quantity;
                 newProduct.Price       = product.Price;
                 newProduct.Stored      = "no";
                 context.tblProducts.Add(newProduct);
                 context.SaveChanges();
                 product.ID = newProduct.ID;
                 action     = "added";
                 return(product);
             }
             else
             {
                 tblProduct productForEdit = (from x in context.tblProducts where x.ID == product.ID select x).FirstOrDefault();
                 productForEdit.ProductName = product.ProductName;
                 productForEdit.ProductCode = product.ProductCode;
                 productForEdit.Quantity    = product.Quantity;
                 productForEdit.Price       = product.Price;
                 productForEdit.Stored      = product.Stored;
                 context.SaveChanges();
                 action = "edited";
                 return(product);
             }
         }
     }
     catch (Exception ex)
     {
         System.Diagnostics.Debug.WriteLine("Exception: " + ex.Message.ToString());
         return(null);
     }
 }
コード例 #28
0
        public RedirectToRouteResult SaveEditWorker(string userid, string fullname, string email, string number, string username, string password, string[] shelfs)
        {
            WarehouseDBEntities wde     = new WarehouseDBEntities();
            UserAccount         useracc = wde.UserAccounts.Find(Convert.ToInt32(userid));


            useracc.Name                  = fullname;
            useracc.Email                 = email;
            useracc.UserName              = username;
            useracc.Contact               = number;
            useracc.Password              = password;
            useracc.ConfirmPassword       = password;
            useracc.Worker.assignedShelfs = JsonConvert.SerializeObject(shelfs);

            wde.Entry(useracc).State = EntityState.Modified;

            try
            {
                wde.SaveChanges();
            }
            catch (System.Data.Entity.Validation.DbEntityValidationException dbEx)
            {
                Exception raise = dbEx;
                foreach (var validationErrors in dbEx.EntityValidationErrors)
                {
                    foreach (var validationError in validationErrors.ValidationErrors)
                    {
                        string message = string.Format("{0}:{1}",
                                                       validationErrors.Entry.Entity.ToString(),
                                                       validationError.ErrorMessage);
                        // raise a new exception nesting
                        // the current instance as InnerException
                        raise = new InvalidOperationException(message, raise);
                    }
                }
                throw raise;
            }

            return(RedirectToAction("ViewWorkers"));
        }
コード例 #29
0
        public void DispatchOrders(string id)
        {
            WarehouseBusinessLayer wbl = new WarehouseBusinessLayer();
            int warehouseId            = wbl.getWarehouseId(Convert.ToInt32(Session["UserID"]));
            int oid = Convert.ToInt32(id);
            WarehouseDBEntities wde    = new WarehouseDBEntities();
            List <Order>        orders = wde.Orders.Where(a => a.warehouseId == warehouseId && a.orderId == oid && (a.orderStatus == "Unseen" || a.orderStatus == "Seen")).OrderBy(a => a.totalOrderQuanitity).ToList();
            int i = 0;

            //Sorting items according to quantity
            foreach (var order in orders)
            {
                var neworder = order.item_Order;
                neworder = neworder.OrderBy(a => a.quantity).ToList();
                orders.ElementAt(i).item_Order = neworder;
                i++;
            }
            Slotting slotting = new Slotting();
            List <Item_Warehouse> itemWarehouse = wde.Item_Warehouse.Where(a => a.warehouseId == warehouseId).ToList();

            List <Shelf> shelfs = wde.Shelves.Where(a => a.warehouse_id == warehouseId).ToList();
            Dictionary <int, List <ShelfItems> > shelfItems = new Dictionary <int, List <ShelfItems> >();

            foreach (Shelf shelf in shelfs)
            {
                List <ShelfItems> shelves = slotting.covert_to_object(shelf.shelfItems);
                shelfItems.Add(shelf.id, shelves);
            }

            List <Item> items = new List <Item>();

            foreach (Item_Warehouse item_Warehouse in itemWarehouse)
            {
                items.Add(item_Warehouse.Item);
            }

            OrderPicking orderPick = new OrderPicking();

            orderPick.getFirstOrder(orders, shelfItems);
        }
コード例 #30
0
        /// <summary>
        /// delete order execute
        /// </summary>
        private void DeleteExecute()
        {
            var result = MessageBox.Show("Are you sure you want to delete the product?", "Confirmation",
                                         MessageBoxButton.YesNo, MessageBoxImage.Question);

            if (result == MessageBoxResult.Yes)
            {
                try
                {
                    if (Product != null)
                    {
                        int productId = Product.ID;
                        if (Product.Stored == "yes")
                        {
                            MessageBox.Show("Product is stored and cannot be deleted from database.");
                            service.Notify("Could not delete Product: " + Product.ProductName + " with code: " + Product.ProductCode + " since its stored.");
                        }
                        else
                        {
                            service.DeleteProduct(productId);
                            MessageBox.Show("Product " + Product.ProductName + " with code:" + Product.ProductCode + " removed from database.");
                            service.Notify("Product " + Product.ProductName + " with code:" + Product.ProductCode + " removed from database.");
                        }
                        using (WarehouseDBEntities context = new WarehouseDBEntities())
                        {
                            ProductList = context.tblProducts.ToList();
                        }
                    }
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.ToString());
                }
            }
            else
            {
                return;
            }
        }