示例#1
0
        public ActionResult DeleteConfirmed(string id)
        {
            OutstandingList outstandingList = db.OutstandingLists.Find(id);

            db.OutstandingLists.Remove(outstandingList);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
示例#2
0
        // GET: OutstandingLists/Details/5
        public ActionResult Details(string id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            OutstandingList outstandingList = db.OutstandingLists.Find(id);

            if (outstandingList == null)
            {
                return(HttpNotFound());
            }
            return(View(outstandingList));
        }
示例#3
0
 public ActionResult Edit([Bind(Include = "OutstandingListNumber,RequisitionFormNumber,DateApproved,ItemNumber,Balance,DepartmentCode,Needed,PONumber,Status")] OutstandingList outstandingList)
 {
     if (ModelState.IsValid)
     {
         db.Entry(outstandingList).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     //ViewBag.DepartmentCode = new SelectList(db.DepartmentLists, "DepartmentCode", "DepartmentName", outstandingList.DepartmentCode);
     //ViewBag.RequisitionFormNumber = new SelectList(db.RequisitionForms, "FormNumber", "EmployeeId", outstandingList.RequisitionFormNumber);
     //ViewBag.ItemNumber = new SelectList(db.StationeryCatalogs, "ItemNumber", "Category", outstandingList.ItemNumber);
     ViewBag.PONumber = new SelectList(db.PurchaseOrders, "PONumber", "SupplierCode", outstandingList.PONumber);
     return(View(outstandingList));
 }
示例#4
0
        // GET: OutstandingLists/Edit/5
        public ActionResult Edit(string id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            OutstandingList outstandingList = db.OutstandingLists.Find(id);

            if (outstandingList == null)
            {
                return(HttpNotFound());
            }
            //ViewBag.DepartmentCode = new SelectList(db.DepartmentLists, "DepartmentCode", "DepartmentName", outstandingList.DepartmentCode);
            //ViewBag.RequisitionFormNumber = new SelectList(db.RequisitionForms, "FormNumber", "EmployeeId", outstandingList.RequisitionFormNumber);
            //ViewBag.ItemNumber = new SelectList(db.StationeryCatalogs, "ItemNumber", "Category", outstandingList.ItemNumber);
            ViewBag.PONumber = new SelectList(db.PurchaseOrders, "PONumber", "SupplierCode", outstandingList.PONumber);
            return(View(outstandingList));
        }
        public ActionResult Edit(List <RForm> commitedRetrievalForm, string sessionId)
        {
            if (sessionId == null)
            {
                return(RedirectToAction("Login", "Login"));
            }
            StoreClerk      storeclerk      = db.StoreClerks.Where(p => p.SessionId == sessionId).FirstOrDefault();
            StoreManager    storeManager    = db.StoreManagers.Where(p => p.SessionId == sessionId).FirstOrDefault();
            StoreSupervisor storeSupervisor = db.StoreSupervisors.Where(p => p.SessionId == sessionId).FirstOrDefault();

            if (ModelState.IsValid)
            {
                List <string> departmentList       = new List <string>();
                int           outstandingListCount = db.OutstandingLists.Count();

                //update retrieval form status to "Submitted"
                StationeryRetrievalForm existingStationeryRetrievalForm = db.StationeryRetrievalForms.Find(commitedRetrievalForm[0].stationeryRetrievalFormDetail.FormNumber);
                existingStationeryRetrievalForm.Status = "Submitted";

                foreach (RForm commitedFormDetail in commitedRetrievalForm)
                {
                    //Update actual values into retrieval form details
                    StationeryRetrievalFormDetail existingStationeryRetrievalFormDetail = db.StationeryRetrievalFormDetails.Find(commitedFormDetail.stationeryRetrievalFormDetail.FormDetailsNumber);
                    existingStationeryRetrievalFormDetail.Actual = commitedFormDetail.stationeryRetrievalFormDetail.Actual;

                    //update stationery catalog
                    StationeryCatalog existingCatalog = db.StationeryCatalogs.Find(commitedFormDetail.stationeryRetrievalFormDetail.ItemNumber);
                    existingCatalog.Balance -= commitedFormDetail.stationeryRetrievalFormDetail.Actual;

                    //add the department code to our department list created above, to generate disbursement list by department below
                    if (!departmentList.Contains(commitedFormDetail.stationeryRetrievalFormDetail.DepartmentCode))
                    {
                        departmentList.Add(commitedFormDetail.stationeryRetrievalFormDetail.DepartmentCode);
                    }

                    //If insufficient inventory, generate a outstanding list object for each retrieval form detail
                    if (commitedFormDetail.stationeryRetrievalFormDetail.Needed > commitedFormDetail.stationeryRetrievalFormDetail.Actual)
                    {
                        outstandingListCount++;

                        OutstandingList outstandingItem = new OutstandingList
                        {
                            OutstandingListNumber      = outstandingListCount.ToString(),
                            RetrievalFormDetailsNumber = commitedFormDetail.stationeryRetrievalFormDetail.FormDetailsNumber,
                            Status = "Outstanding"
                        };
                        db.OutstandingLists.Add(outstandingItem);
                    }

                    db.SaveChanges();
                }

                //create a single disbursement list for each department
                foreach (string deptCode in departmentList)
                {
                    DisbursementList dl = new DisbursementList
                    {
                        ListNumber     = (db.DisbursementLists.Count() + 1).ToString(),
                        DepartmentCode = deptCode,
                        Date           = DateTime.Today,
                        Status         = "Pending"
                    };
                    db.DisbursementLists.Add(dl);
                    db.SaveChanges();

                    DepartmentList  dept         = db.DepartmentLists.Where(x => x.DepartmentCode == deptCode).FirstOrDefault();
                    string          Eid          = dept.RepresentativeId;
                    Employee        repo         = db.Employees.Find(Eid);
                    string          emailAddress = repo.EmailAddress;
                    string          pointId      = dept.CollectionPoint;
                    CollectionPoint point        = db.CollectionPoints.Find(pointId);
                    string          subject      = "Your items are ready for collection";
                    string          message      = "<p>Dear " + repo.UserName + "." + "</p><br/><p>Your items are ready for collection</p><br/><p>Collection point and time: " + point.CollectionPointName + "---" + point.CollectionTime + "</p><br/><p>Stationery Management Team</p>";
                    util.SendEmail(emailAddress, subject, message);

                    int disbursementListDetailsCount = db.DisbursementListDetails.Count();

                    foreach (RForm commitedFormDetail in commitedRetrievalForm)
                    {
                        if (commitedFormDetail.stationeryRetrievalFormDetail.DepartmentCode.Equals(deptCode))
                        {
                            disbursementListDetailsCount++;

                            DisbursementListDetail dld = new DisbursementListDetail
                            {
                                ListDetailsNumber = disbursementListDetailsCount.ToString(),
                                ListNumber        = dl.ListNumber,
                                ItemNumber        = commitedFormDetail.stationeryRetrievalFormDetail.ItemNumber,
                                Quantity          = commitedFormDetail.stationeryRetrievalFormDetail.Actual
                            };

                            db.DisbursementListDetails.Add(dld);
                            db.SaveChanges();
                        }
                    }
                }
                return(RedirectToAction("Index", "StationeryRetrievalForms", new { sessionId = sessionId }));
            }

            if (storeclerk != null)
            {
                int num             = db.RequisitionForms.Where(x => x.Status == "Approved").Count();
                int numDisbuserment = db.DisbursementLists.Where(x => x.Status == "Pending").Count();
                int numOutS         = db.OutstandingLists.Where(x => x.Status == "Awaiting Goods").Count();
                int numRetrive      = db.StationeryRetrievalForms.Where(x => x.Status == "Pending").Count();
                int numPO           = db.PurchaseOrders.Where(x => x.Status == "Not Submitted").Count();
                int numStock        = db.StockAdjustmentVouchers.Where(x => x.Status == "Pending").Count();
                ViewData["sumTotal"]  = (num + numDisbuserment + numOutS + numRetrive + numPO + numStock).ToString();
                ViewData["sessionId"] = storeclerk.SessionId;
                ViewData["username"]  = storeclerk.UserName;

                return(View(commitedRetrievalForm));
            }
            else if (storeManager != null)
            {
                int num             = db.RequisitionForms.Where(x => x.Status == "Approved").Count();
                int numDisbuserment = db.DisbursementLists.Where(x => x.Status == "Pending").Count();
                int numOutS         = db.OutstandingLists.Where(x => x.Status == "Awaiting Goods").Count();
                int numRetrive      = db.StationeryRetrievalForms.Where(x => x.Status == "Pending").Count();
                int numPO           = db.PurchaseOrders.Where(x => x.Status == "Not Submitted").Count();
                int numStock        = db.StockAdjustmentVouchers.Where(x => x.Status == "Pending").Count();
                ViewData["sumTotal"]  = (num + numDisbuserment + numOutS + numRetrive + numPO + numStock).ToString();
                ViewData["sessionId"] = storeManager.SessionId;
                ViewData["username"]  = storeManager.UserName;
                return(View(commitedRetrievalForm));
            }
            else if (storeSupervisor != null)
            {
                int num             = db.RequisitionForms.Where(x => x.Status == "Approved").Count();
                int numDisbuserment = db.DisbursementLists.Where(x => x.Status == "Pending").Count();
                int numOutS         = db.OutstandingLists.Where(x => x.Status == "Awaiting Goods").Count();
                int numRetrive      = db.StationeryRetrievalForms.Where(x => x.Status == "Pending").Count();
                int numPO           = db.PurchaseOrders.Where(x => x.Status == "Not Submitted").Count();
                int numStock        = db.StockAdjustmentVouchers.Where(x => x.Status == "Pending").Count();
                ViewData["sumTotal"]  = (num + numDisbuserment + numOutS + numRetrive + numPO + numStock).ToString();
                ViewData["sessionId"] = storeSupervisor.SessionId;
                ViewData["username"]  = storeSupervisor.UserName;
                return(View(commitedRetrievalForm));
            }
            else
            {
                return(RedirectToAction("Login", "Login"));
            }
        }
        public JsonResult PostRetrieval(Retrieval Details)
        {
            List <RetrievalItem> cc = JsonConvert.DeserializeObject <List <RetrievalItem> >(Details.RetData[0]);

            if (ModelState.IsValid)
            {
                List <string> departmentList       = new List <string>();
                int           outstandingListCount = db.OutstandingLists.Count();

                //update retrieval form status to "Submitted"
                StationeryRetrievalForm existingStationeryRetrievalForm = db.StationeryRetrievalForms.Find(cc[0].FormNumber);
                existingStationeryRetrievalForm.Status = "Submitted";

                foreach (RetrievalItem commitedFormDetail in cc)
                {
                    //Update actual values into retrieval form details
                    StationeryRetrievalFormDetail existingStationeryRetrievalFormDetail = db.StationeryRetrievalFormDetails.Find(commitedFormDetail.FormDetailsnumber);
                    existingStationeryRetrievalFormDetail.Actual = Convert.ToInt32(commitedFormDetail.Actual);

                    //update stationery catalog
                    StationeryCatalog existingCatalog = db.StationeryCatalogs.Find(commitedFormDetail.ItemNumber);
                    existingCatalog.Balance -= Convert.ToInt32(commitedFormDetail.Actual);

                    //add the department code to our department list created above, to generate disbursement list by department below
                    if (!departmentList.Contains(commitedFormDetail.Dept))
                    {
                        departmentList.Add(commitedFormDetail.Dept);
                    }

                    //If insufficient inventory, add the item code to our item code list created above, so that we can generate a Outstanding List by item code
                    if (Convert.ToInt32(commitedFormDetail.Needed) > Convert.ToInt32(commitedFormDetail.Actual))
                    {
                        outstandingListCount++;

                        OutstandingList outstandingItem = new OutstandingList
                        {
                            OutstandingListNumber      = outstandingListCount.ToString(),
                            RetrievalFormDetailsNumber = commitedFormDetail.FormDetailsnumber,
                            Status = "Outstanding"
                        };
                        db.OutstandingLists.Add(outstandingItem);
                    }

                    db.SaveChanges();
                }

                //create a single disbursement list for each department
                foreach (string deptCode in departmentList)
                {
                    DisbursementList dl = new DisbursementList
                    {
                        ListNumber     = (db.DisbursementLists.Count() + 1).ToString(),
                        DepartmentCode = deptCode,
                        Date           = DateTime.Today,
                        Status         = "Pending"
                    };
                    db.DisbursementLists.Add(dl);
                    db.SaveChanges();

                    DepartmentList  dept         = db.DepartmentLists.Where(x => x.DepartmentCode == deptCode).FirstOrDefault();
                    string          Eid          = dept.RepresentativeId;
                    Employee        repo         = db.Employees.Find(Eid);
                    string          emailAddress = repo.EmailAddress;
                    string          pointId      = dept.CollectionPoint;
                    CollectionPoint point        = db.CollectionPoints.Find(pointId);
                    string          subject      = "Your items are ready for collection";
                    string          message      = "<p>Dear " + repo.UserName + "." + "</p><br/><p>Your items are ready for collection</p><br/><p>Collection point and time: " + point.CollectionPointName + "---" + point.CollectionTime + "</p><br/><p>Stationery Management Team</p>";
                    util.SendEmail(emailAddress, subject, message);

                    int disbursementListDetailsCount = db.DisbursementListDetails.Count();

                    foreach (RetrievalItem commitedFormDetail in cc)
                    {
                        if (commitedFormDetail.Dept.Equals(deptCode))
                        {
                            disbursementListDetailsCount++;

                            DisbursementListDetail dld = new DisbursementListDetail
                            {
                                ListDetailsNumber = disbursementListDetailsCount.ToString(),
                                ListNumber        = dl.ListNumber,
                                ItemNumber        = commitedFormDetail.ItemNumber,
                                Quantity          = Convert.ToInt32(commitedFormDetail.Actual)
                            };

                            db.DisbursementListDetails.Add(dld);
                            db.SaveChanges();
                        }
                    }
                }
            }
            return(Json(new { status = "success" }));
        }