Esempio n. 1
0
        public ActionResult History()
        {
            string token = GetToken();
            List <AdjustmentModel> adjlist = new List <AdjustmentModel>();
            SupplierItemModel      supp    = new SupplierItemModel();

            try
            {
                adjlist = APIAdjustment.GetAdjustmentByStatus(token, ConAdjustment.Active.APPROVED, out string error);
                if (adjlist != null)
                {
                    foreach (AdjustmentModel ad in adjlist)
                    {
                        foreach (AdjustmentDetailModel add in ad.Adjds)
                        {
                            supp           = APISupplier.GetOneSupplierItemByItemId(add.Itemid, token, out error);
                            add.Price      = supp.Price * Math.Abs(add.Adjustedqty);
                            ad.TotalPrice += add.Price;
                        }
                    }
                }
                TempData["history"] = adjlist;
            }
            catch (Exception ex)
            {
                RedirectToAction("Index", "Error", new { error = ex.Message });
            }


            return(View(adjlist));
        }
        public static SupplierItemModel GetOneSupplierItemByItemId(int itemid, string token, out string error)
        {
            string            url = APIHelper.Baseurl + "/supplieritem/getitem/" + itemid;
            SupplierItemModel sim = APIHelper.Execute <SupplierItemModel>(token, url, out error);

            return(sim);
        }
        public static SupplierItemModel GetItemPrice(int itemid, string token, out string error)
        {
            string            url = APIHelper.Baseurl + "/itemprice/" + itemid;
            SupplierItemModel sim = APIHelper.Execute <SupplierItemModel>(token, url, out error);

            return(sim);
        }
Esempio n. 4
0
        // Get item price by itemid
        public static SupplierItemModel GetSupplierItemByItemId(int itemid, out string error)
        {
            LUSSISEntities entities = new LUSSISEntities();

            error = "";

            supplieritem      supitem = new supplieritem();
            SupplierItemModel sim     = new SupplierItemModel();

            try
            {
                double min = 0.0;
                min = entities.supplieritems
                      .Where(x => x.itemid == itemid)
                      .Min(x => x.price);
                supitem = entities.supplieritems
                          .Where(x => x.price == min && x.itemid == itemid)
                          .FirstOrDefault();
                sim = ConvertDBSupItemToAPISupItem(supitem);
            }
            catch (NullReferenceException)
            {
                error = ConError.Status.NOTFOUND;
            }
            catch (InvalidOperationException)
            {
                error = ConError.Status.BADREQUEST;
            }
            catch (Exception e)
            {
                error = e.Message;
            }
            return(sim);
        }
Esempio n. 5
0
        public static SupplierItemModel GetSupplierItemListByItemIdandSupid(int itemid, int supid, out string error)
        {
            LUSSISEntities entities = new LUSSISEntities();

            error = "";

            supplieritem supitems = new supplieritem();

            SupplierItemModel supim = new SupplierItemModel();

            try
            {
                supitems = entities.supplieritems
                           .Where(x => x.itemid == itemid && x.supid == supid).First();

                supim = ConvertDBSupItemToAPISupItem(supitems);
            }
            catch (NullReferenceException)
            {
                error = ConError.Status.NOTFOUND;
            }
            catch (InvalidOperationException)
            {
                error = ConError.Status.BADREQUEST;
            }
            catch (Exception e)
            {
                error = e.Message;
            }
            return(supim);
        }
        public static SupplierItemModel CreateSupplierItem(SupplierItemModel sim, string token, out string error)
        {
            error = "";
            string url          = APIHelper.Baseurl + "/supplieritem/create";
            string objectstring = JsonConvert.SerializeObject(sim);

            sim = APIHelper.Execute <SupplierItemModel>(token, objectstring, url, out error);
            return(sim);
        }
        public IHttpActionResult GetOneSupplierItemByItemId(int itemid)
        {
            string            error = "";
            SupplierItemModel sim   = SupplierItemRepo.GetSupplierItemByItemId(itemid, out error);

            if (error != "" || sim == null)
            {
                return(Content(HttpStatusCode.BadRequest, error));
            }
            return(Ok(sim));
        }
        public IHttpActionResult CreateSupplierItem(SupplierItemModel supitem)
        {
            string            error = "";
            SupplierItemModel sim   = SupplierItemRepo
                                      .AddItemOfSupplier(supitem, out error);

            if (error != "" || sim == null)
            {
                return(Content(HttpStatusCode.BadRequest, error));
            }
            return(Ok(sim));
        }
        public ActionResult Approve()
        {
            string token = GetToken();
            List <AdjustmentModel>       adjlist   = new List <AdjustmentModel>();
            List <AdjustmentDetailModel> adjdetail = new List <AdjustmentDetailModel>();
            SupplierItemModel            supp      = new SupplierItemModel();

            try
            {
                //get pending status adjustments
                adjlist = APIAdjustment.GetAdjustmentByStatus(token, ConAdjustment.Active.PENDING, out string error);
                if (adjlist != null)
                {
                    foreach (AdjustmentModel ad in adjlist)
                    {
                        //to divide according to raised to user role
                        ad.RaiseToRole = (APIUser.GetUserByUserID((int)ad.Raisedto, token, out error)).Role;
                        foreach (AdjustmentDetailModel adj in ad.Adjds)
                        {
                            try
                            {
                                //to show each item adjusted price and total pirce of adjustment form
                                supp           = APISupplier.GetOneSupplierItemByItemId(adj.Itemid, token, out error);
                                adj.Price      = supp.Price * Math.Abs(adj.Adjustedqty);
                                ad.TotalPrice += adj.Price;
                            }
                            catch (Exception)
                            {
                                if (supp == null)
                                {
                                    ad.TotalPrice += 0;
                                }
                            }
                        }
                    }
                    //separate adjustment pending list by reported to roles (supervisor/manager)
                    ViewBag.manager = adjlist.Where(x => x.RaiseToRole == ConUser.Role.MANAGER).ToList();
                    adjlist         = adjlist.Where(x => x.RaiseToRole == ConUser.Role.SUPERVISOR).ToList();
                }
                else
                {
                    adjlist         = new List <AdjustmentModel>();
                    ViewBag.manager = adjlist;
                }
            }
            catch (Exception ex)
            {
                RedirectToAction("Index", "Error", new { error = ex.Message });
            }
            return(View(adjlist));
        }
        public IHttpActionResult UpdateSupplierItem(SupplierItemModel supitem)
        {
            string            error = "";
            SupplierItemModel sim   = SupplierItemRepo
                                      .UpdateSupplierItem(supitem, out error);

            if (error != "" || sim == null)
            {
                if (error == ConError.Status.NOTFOUND)
                {
                    return(Content(HttpStatusCode.NotFound, "Supplier Not Found"));
                }
                return(Content(HttpStatusCode.BadRequest, error));
            }
            return(Ok(sim));
        }
        public IHttpActionResult GetItemPrice(int itemid)
        {
            string            error = "";
            SupplierItemModel sim   = SupplierItemRepo
                                      .GetSupplierItemByItemId(itemid, out error);

            if (error != "" || sim == null)
            {
                if (error == ConError.Status.NOTFOUND)
                {
                    return(Content(HttpStatusCode.NotFound, "Items and suppliers NOT FOUND!"));
                }
                return(Content(HttpStatusCode.BadRequest, error));
            }
            return(Ok(sim));
        }
Esempio n. 12
0
        // Update item by specific supplier
        public static SupplierItemModel UpdateSupplierItem
            (SupplierItemModel sim, out string error)
        {
            LUSSISEntities entities = new LUSSISEntities();

            error = "";
            try
            {
                supplieritem supitem = entities.supplieritems
                                       .Where(x => x.supid == sim.SupId &&
                                              x.itemid == sim.ItemId).First();
                supitem.price = sim.Price;
                entities.SaveChanges();
            }

            catch (Exception ex)
            {
                error = ex.Message;
            }
            return(sim);
        }
Esempio n. 13
0
        // Add item by specific supplier
        public static SupplierItemModel AddItemOfSupplier
            (SupplierItemModel sim, out string error)
        {
            LUSSISEntities entities = new LUSSISEntities();

            error = "";

            supplieritem supitem = new supplieritem();

            try
            {
                supitem.supid  = sim.SupId;
                supitem.itemid = sim.ItemId;
                supitem.price  = sim.Price;
                entities.supplieritems.Add(supitem);
                entities.SaveChanges();
            }
            catch (Exception ex) {
                error = ex.Message;
            }
            return(sim);
        }
Esempio n. 14
0
        //Create new Adjustment
        public static AdjustmentModel CreateAdjustment(AdjustmentModel adjm, out string error)
        {
            error = "";
            LUSSISEntities entities = new LUSSISEntities();
            adjustment     adj      = new adjustment();

            try
            {
                adj.raisedby   = adjm.Raisedby;
                adj.issueddate = adjm.Issueddate;
                adj.status     = ConAdjustment.Active.PENDING;
                List <AdjustmentDetailModel> adjds = adjm.Adjds;

                //check item price
                foreach (AdjustmentDetailModel adjd in adjds)
                {
                    adj.raisedto = 0;
                    SupplierItemModel supp  = SupplierItemRepo.GetSupplierItemByItemId(adjd.Itemid, out error);
                    double?           price = Math.Abs((Int32)adjd.Adjustedqty) * supp.Price;

                    //Check total price of each item to consider who to report to
                    if (price >= ConAdjustment.Active.REPORTMANAGER)
                    {
                        user user = entities.users.Where(u => u.role == ConUser.Role.MANAGER).First();
                        adj.raisedto = user.userid;
                    }
                    else
                    {
                        user user = entities.users.Where(u => u.role == ConUser.Role.SUPERVISOR).First();
                        adj.raisedto = user.userid;
                    }
                }
                adj = entities.adjustments.Add(adj);
                entities.SaveChanges();

                foreach (AdjustmentDetailModel adjdm in adjds)
                {
                    adjustmentdetail adjd = new adjustmentdetail
                    {
                        adjid       = adj.adjid,
                        itemid      = adjdm.Itemid,
                        adjustedqty = adjdm.Adjustedqty,
                        reason      = adjdm.Reason
                    };
                    adjd = entities.adjustmentdetails.Add(adjd);
                    entities.SaveChanges();
                }

                adjm = GetAdjustmentByID(adj.adjid, out error);

                NotificationModel nom = new NotificationModel();
                nom.Deptid   = DepartmentRepo.GetDepartmentByUserid(adj.raisedto ?? default(int), out error).Deptid;
                nom.Role     = UserRepo.GetUserByUserID(adj.raisedto ?? default(int)).Role;
                nom.Title    = "New Adjustment";
                nom.NotiType = ConNotification.NotiType.Adjustment;
                nom.ResID    = adj.adjid;
                nom.Remark   = "A new adjustment has been raised by clerk!";
                nom          = NotificationRepo.CreatNotification(nom, out error);
            }
            catch (NullReferenceException)
            {
                error = ConError.Status.NOTFOUND;
            }
            catch (Exception e)
            {
                error = e.Message;
            }
            return(adjm);
        }
Esempio n. 15
0
        public static List <SupplierItemModel> ImportfromItemlistExcel(List <ImportSupplierItem> csp, out string error)
        {
            LUSSISEntities           entities           = new LUSSISEntities();
            List <SupplierItemModel> createdsupitemlist = new List <SupplierItemModel>();

            error = "";

            try
            {
                foreach (ImportSupplierItem sm in csp)
                {
                    SupplierModel spm = SupplierRepo.GetSupplierBySupname(sm.SupName, out string error1);

                    if (spm.SupName != "")
                    {
                        ItemModel im1 = ItemRepo.GetItemByItemDescription(sm.Description, out string error3);

                        if (im1.Description != "")
                        {
                            SupplierItemModel sim = GetSupplierItemListByItemIdandSupid(im1.Itemid, spm.SupId, out string error5);
                            if (sim.SupId != 0)
                            {
                                supplieritem supitem = entities.supplieritems
                                                       .Where(x => x.supid == spm.SupId &&
                                                              x.itemid == sim.ItemId).First();
                                supitem.price = sm.Price;
                                entities.SaveChanges();
                                createdsupitemlist.Add(GetSupplierItemListByItemIdandSupid(im1.Itemid, sim.SupId, out string error7));
                            }
                            else
                            {
                                supplieritem supitem = new supplieritem();
                                supitem.supid  = spm.SupId;
                                supitem.itemid = im1.Itemid;
                                supitem.price  = sm.Price;
                                entities.supplieritems.Add(supitem);
                                entities.SaveChanges();
                                createdsupitemlist.Add(GetSupplierItemListByItemIdandSupid(im1.Itemid, spm.SupId, out string error8));
                            }
                        }

                        else
                        {
                            item item = new item();


                            item.catid       = 21;
                            item.description = sm.Description;
                            item.uom         = sm.Uom;
                            item             = entities.items.Add(item);
                            entities.SaveChanges();

                            ItemModel im = ItemRepo.GetItemByItemid(item.itemid, out error);


                            inventory ivm = new inventory();
                            ivm.itemid       = im.Itemid;
                            ivm.stock        = 0;
                            ivm.reorderqty   = 0;
                            ivm.reorderlevel = 0;
                            ivm = entities.inventories.Add(ivm);
                            entities.SaveChanges();


                            supplieritem supitem = new supplieritem();
                            supitem.supid  = spm.SupId;
                            supitem.itemid = im.Itemid;
                            supitem.price  = sm.Price;
                            entities.supplieritems.Add(supitem);
                            entities.SaveChanges();
                            createdsupitemlist.Add(GetSupplierItemListByItemIdandSupid(im.Itemid, spm.SupId, out string error5));
                        }
                    }
                }
            }
            catch (Exception ex) {
                error = ex.Message;
            }
            return(createdsupitemlist);
        }