Exemple #1
0
        public ActionResult DisbursementAdjustments(DisbursementViewModel model)
        {
            AdjustmentBusinessLogic adjustmentBusinessLogic = new AdjustmentBusinessLogic();
            DisbursementViewModel   newmodel = adjustmentBusinessLogic.CreateDisbursementAdjustmentVoucher(model, Session);

            return(View("DisbursementDetail", newmodel));
        }
        public DisbursementViewModel GenerateSingleDisbursementViewModel(string disburseID, HttpSessionStateBase session)
        {
            Dictionary <string, string> empList = (Dictionary <string, string>)session["EmployeeList"];
            Requisition           req           = db.Requisitions.Where(x => x.disbursementId == disburseID).First();
            DisbursementViewModel dvm           = new DisbursementViewModel();

            dvm.dvmdList = new List <DisbursementViewModelDetail>();
            //Initialise dvm
            dvm.disbursementID  = req.disbursementId;
            dvm.requestorDeptID = req.departmentId;
            dvm.deptID          = req.departmentId;
            dvm.repName         = session["EmployeeID"].ToString();
            dvm.requestorName   = req.employee;
            dvm.status          = db.Disbursements.Where(x => x.disbursementId == req.disbursementId).First().status;
            dvm.collectionPoint = db.DeptCollectionDetails.Where(x => x.departmentId == req.departmentId).First().collectionPoint;
            dvm.collectionTime  = db.CollectionPoints.Where(x => x.locationName == dvm.collectionPoint).First().collectTime;
            dvm.disburseDate    = db.Disbursements.Where(x => x.disbursementId == req.disbursementId).First().disburseDate;

            //pack reqdet into dvmd
            foreach (RequisitionDetail reqdet in req.RequisitionDetails)
            {
                DisbursementViewModelDetail dvmd = new DisbursementViewModelDetail();
                dvmd.requestorID     = req.employee;
                dvmd.requestorName   = empList[req.employee].ToString();
                dvmd.requisitionID   = req.requisitionId;
                dvmd.itemID          = reqdet.itemId;
                dvmd.itemDescription = db.Catalogues.Find(reqdet.itemId).description;
                dvmd.retrievalID     = req.retrievalId;
                dvmd.requestQty      = reqdet.requestQty;
                dvmd.retrieveQty     = reqdet.retrieveQty;
                dvm.dvmdList.Add(dvmd);
            }
            return(dvm);
        }
Exemple #3
0
        public ActionResult DisbursementDetail(string disburseID)
        {
            List <DisbursementViewModel> dvmList    = (List <DisbursementViewModel>)Session["dvmList"];
            DisbursementViewModel        disburseVM = dvmList.Find(x => x.disbursementID == disburseID);

            ViewBag.EmpList = (Dictionary <string, string>)Session["EmployeeList"];
            return(View(disburseVM));
        }
Exemple #4
0
        public ActionResult WelcomeDisburseIDRedirection(string disburseID, string retID)
        {
            List <DisbursementViewModel> dvmList    = disburseBizLogic.GenerateDisbursementViewModels(retID, Session);
            DisbursementViewModel        disburseVM = dvmList.Find(x => x.disbursementID == disburseID);

            ViewBag.EmpList = (Dictionary <string, string>)Session["EmployeeList"];
            return(View("DisbursementDetail", disburseVM));
        }
Exemple #5
0
        public async Task <ActionResult> DisbursementUserConfirm(string disburseID)
        {
            await disburseBizLogic.UserConfirmDisbursement(disburseID);

            DisbursementViewModel dvmList = disburseBizLogic.GenerateSingleDisbursementViewModel(disburseID, Session);

            return(RedirectToAction("DisbursementDetailForRep", new { disburseID = disburseID }));
        }
Exemple #6
0
        public IActionResult GetDisbursementFormFullDetailsByDFCode(string dfCode)
        {
            DisbursementViewModel disbursementViewModel = new DisbursementViewModel();

            disbursementViewModel.disbursementForm = disbursementFormService.FindDisbursementFormByDFCode(dfCode);
            disbursementViewModel.DisbursementFormRequisitionForms = disbursementFormRequisitionFormService.FindDisbursementFormRequisitionFormsByDFCode(dfCode);
            disbursementViewModel.DisbursementFormProducts         = disbursementFormProductService.FindDisbursementFormProductsByDFCode(dfCode);
            return(Ok(disbursementViewModel));
        }
        public DisbursementViewModel CreateDisbursementAdjustmentVoucher(DisbursementViewModel model, HttpSessionStateBase session)
        {
            Adjustment adjustment = new Adjustment();
            DateTime   date       = DateTime.Now;

            adjustment.date = date.Date;
            string timestamp = date.ToString("yyyyMMddhhmmss");

            adjustment.clerk      = session["EmployeeID"].ToString();
            adjustment.status     = "Submitted";
            adjustment.supervisor = session["HeadID"].ToString();
            adjustment.voucherId  = "ADJ" + adjustment.clerk + timestamp;
            string  disburseID = model.disbursementID;
            decimal totalvalue = 0;
            Dictionary <string, string> storeEmpList = GetStoreEmployeeList(session["Username"].ToString(), session["Password"].ToString());
            string managerIDName = storeEmpList["manager"];

            foreach (DisbursementViewModelDetail dvmd in model.dvmdList)
            {
                if (dvmd.adjQty == 0 || dvmd.adjQty == null)
                {
                    continue;
                }
                AdjustmentDetail adjDetail = new AdjustmentDetail();
                adjDetail.itemId    = dvmd.itemID;
                adjDetail.quantity  = (int)dvmd.adjQty;
                adjDetail.remark    = "Disbursement (" + disburseID + ") Adjustment";
                adjDetail.voucherId = adjustment.voucherId;
                string  supplier  = db.Catalogues.Find(dvmd.itemID).firstSupplier;
                decimal itemPrice = db.SupplierQuotations.Where(x => x.itemId == dvmd.itemID && x.supplierId == supplier).First().price;
                totalvalue += (itemPrice * adjDetail.quantity);
                db.AdjustmentDetails.Add(adjDetail);
            }
            //Set need authority (Logic - if need manager approval, set manager id - else null)
            bool needAuthority = totalvalue > 250M ? true : false;;

            adjustment.needAuthority   = needAuthority == true ? new string(managerIDName.Where(Char.IsDigit).ToArray()) : null;
            adjustment.adjustmentValue = totalvalue;
            db.Adjustments.Add(adjustment);
            Disbursement disbursement = db.Disbursements.Find(disburseID);

            disbursement.adjustmentID = adjustment.voucherId;
            db.SaveChanges();

            model.status       = "Adjustment Performed";
            model.adjustmentID = adjustment.voucherId;

            EmailBusinessLogic emailBizLogic = new EmailBusinessLogic();
            string             receipient    = needAuthority ? adjustment.needAuthority : adjustment.supervisor;
            string             sender        = adjustment.clerk;
            string             linkref       = "http://" + ConstantsConfig.linkrefURLPartial + "/Adjustment/AdjustmentDetail?adjustmentID=" + adjustment.voucherId;

            emailBizLogic.SendEmail("submitAdj", receipient, sender, null, null, linkref);

            return(model);
        }
Exemple #8
0
        public IActionResult CreateDisbursement()
        {
            emp = JsonConvert.DeserializeObject <Employee>(HttpContext.Session.GetString("employee")) as Employee;

            DisbursementViewModel dVModel = new DisbursementViewModel();

            dVModel.employee         = emp;
            dVModel.srrfAssignedList = srrfService.FindStationeryRetrievalRequisitionFormByStatusOrderByDept();

            return(View("DisbursementForm", dVModel));
        }
        public ActionResult DisburmentList()
        {
            List <Department> departments = db.Departments.ToList();

            var disbursementViewModel = new DisbursementViewModel();

            disbursementViewModel.DisbursementList = new DisbursementList();
            disbursementViewModel.DisbursementList.DisburseItems = new List <DisburseItem>();
            disbursementViewModel.Departments = departments;

            return(View(disbursementViewModel));
        }
Exemple #10
0
        public IActionResult ViewApprovalDF([FromRoute] int id)
        {
            emp = JsonConvert.DeserializeObject <Employee>(HttpContext.Session.GetString("employee")) as Employee;
            DisbursementViewModel dVModel = new DisbursementViewModel();

            dVModel.employee                 = emp;
            dVModel.disbursementForm         = dfService.FindDisbursementFormById(id);
            dVModel.DisbursementFormProducts = dfpService.FindDisbursementFormProductsByDFId(id);
            dVModel.DisbursementFormRequisitionFormProducts = dfrfpService.FindDFRFPByDFId(id);
            dVModel.DisbursementFormRequisitionForms        = dfrfpService.FindDFRFList(id);
            return(View("DisbursementFormViewApprove", dVModel));
        }
Exemple #11
0
        public IActionResult ConfirmDelivery([FromBody] DisbursementViewModel dVModel)
        {
            bool status = dfService.ConfirmDFTransactionWithDeptRep(dVModel.disbursementForm, dVModel.DisbursementFormProducts, dVModel.storeclerk, dVModel.deptrep, dVModel.comment);

            if (status is true)
            {
                return(new JsonResult(new { success = "Success" }));
            }
            else
            {
                return(new JsonResult(new { success = "Failure" }));
            }
        }
Exemple #12
0
        public IActionResult SaveDF([FromBody] DisbursementViewModel dfViewModel)
        {
            bool status = disbursementFormService.CreateDisbursementForm(dfViewModel.srrfAssignedList, dfViewModel.employee, dfViewModel.comment);

            if (status)
            {
                return(Ok(dfViewModel));
            }
            else
            {
                return(null);
            }
        }
Exemple #13
0
        public IActionResult ApproveDFByDeptRep([FromBody] DisbursementViewModel dfViewModel)
        {
            bool status = disbursementFormService.ConfirmDFDelivery(dfViewModel.employee, dfViewModel.disbursementForm);

            if (status)
            {
                return(Ok(dfViewModel));
            }
            else
            {
                return(new JsonResult(new { success = "Failure" }));
            }
        }
Exemple #14
0
        public IActionResult CreateDF([FromBody] DisbursementViewModel dVModel)
        {
            bool status = dfService.CreateDisbursementForm(dVModel.srrfAssignedList, dVModel.employee, dVModel.comment);

            if (status is true)
            {
                return(new JsonResult(new { success = "Success" }));
            }
            else
            {
                return(new JsonResult(new { success = "Failure" }));
            }
        }
Exemple #15
0
        public IActionResult ApproveDFByDeptRep([FromBody] DisbursementViewModel dVModel, [FromRoute] int id)
        {
            bool status = dfService.ConfirmDFDelivery(dVModel.employee, dVModel.disbursementForm);

            if (status is true)
            {
                return(new JsonResult(new { success = "Success" }));
            }
            else
            {
                return(new JsonResult(new { success = "Failure" }));
            }
        }
        public List <DisbursementViewModel> GenerateDisbursementViewModels(string retrievalID, HttpSessionStateBase session)
        {
            List <DisbursementViewModel> disburseVMList = new List <DisbursementViewModel>();
            List <Requisition>           requisitions   = db.Requisitions.Where(x => x.retrievalId == retrievalID).ToList();
            Dictionary <string, string>  empList        = (Dictionary <string, string>)session["EmployeeList"];

            foreach (Requisition req in requisitions)
            {
                DisbursementViewModel dvm = new DisbursementViewModel();
                dvm.dvmdList = new List <DisbursementViewModelDetail>();
                //Initialise dvm if not created
                if (!disburseVMList.Where(x => x.disbursementID == req.disbursementId).Any())
                {
                    dvm.disbursementID  = req.disbursementId;
                    dvm.requestorDeptID = req.departmentId;
                    dvm.status          = db.Disbursements.Where(x => x.disbursementId == req.disbursementId).First().status;
                    dvm.repName         = db.DeptCollectionDetails.Where(x => x.departmentId == req.departmentId).First().representative;
                    dvm.collectionPoint = db.DeptCollectionDetails.Where(x => x.departmentId == req.departmentId).First().collectionPoint;
                    dvm.collectionTime  = db.CollectionPoints.Where(x => x.locationName == dvm.collectionPoint).First().collectTime;
                    dvm.disburseDate    = db.Disbursements.Where(x => x.disbursementId == req.disbursementId).First().disburseDate;
                    dvm.adjustmentID    = db.Disbursements.Where(x => x.disbursementId == req.disbursementId).First().adjustmentID;
                    disburseVMList.Add(dvm);
                }
                else
                {
                    dvm = disburseVMList.Find(x => x.disbursementID == req.disbursementId);
                }
                //pack reqdet into dvmd
                foreach (RequisitionDetail reqdet in req.RequisitionDetails)
                {
                    DisbursementViewModelDetail dvmd = new DisbursementViewModelDetail();
                    dvmd.requestorID     = req.employee;
                    dvmd.requestorName   = empList[req.employee].ToString();
                    dvmd.requisitionID   = req.requisitionId;
                    dvmd.itemID          = reqdet.itemId;
                    dvmd.itemDescription = db.Catalogues.Find(reqdet.itemId).description;
                    dvmd.retrievalID     = req.retrievalId;
                    dvmd.requestQty      = reqdet.requestQty;
                    dvmd.retrieveQty     = reqdet.retrieveQty;

                    AdjustmentDetail adjustmentDetail = db.AdjustmentDetails.Where(w => w.voucherId == dvm.adjustmentID && w.itemId == dvmd.itemID).FirstOrDefault();
                    if (adjustmentDetail != null)
                    {
                        dvmd.adjQty = adjustmentDetail.quantity;
                    }

                    dvm.dvmdList.Add(dvmd);
                }
            }
            return(disburseVMList);
        }
Exemple #17
0
        public IActionResult DeliverDF([FromBody] DisbursementViewModel dfViewModel)
        {
            dfViewModel.comment = "ok";
            bool status = disbursementFormService.ConfirmDFTransactionWithDeptRep(dfViewModel.disbursementForm, dfViewModel.DisbursementFormProducts, dfViewModel.storeclerk, dfViewModel.deptrep, dfViewModel.comment);

            if (status)
            {
                return(Ok(dfViewModel));
            }
            else
            {
                return(new JsonResult(new { success = "Failure" }));
            }
        }
        public ActionResult DisbursementDetail(int id)
        {
            DisbursementViewModel dis = (from d in db.Disbursement
                                         join c in db.CollectionPoint on d.CollectionPointId equals c.CollectionPtId
                                         where d.DisId == id
                                         select new DisbursementViewModel
            {
                Disbur = d,
                CollectionPoint = c.CollectionPt,
                Detail = db.DisbursementDetail.Where(x => x.DisId == id).ToList(),
            }).FirstOrDefault();

            ViewData["dislist"] = dis;
            return(View());
        }
Exemple #19
0
        public IActionResult AssignDF([FromBody] DisbursementViewModel dfViewModel)
        {
            bool status = disbursementFormService.SaveDFRFPAssignment(
                dfViewModel.DisbursementFormRequisitionFormProducts,
                dfViewModel.employee,
                dfViewModel.disbursementForm,
                dfViewModel.DisbursementFormProducts,
                dfViewModel.DisbursementFormRequisitionForms);

            if (status is true)
            {
                return(new JsonResult(new { success = "Success" }));
            }
            else
            {
                return(new JsonResult(new { success = "Failure" }));
            }
        }
        public ActionResult DisplayDisburmentList(DisbursementViewModel disbursementViewModel)
        {
            List <Department> departments = db.Departments.ToList();

            disbursementViewModel.DisbursementList = new DisbursementList();
            disbursementViewModel.DisbursementList.DisburseItems = new List <DisburseItem>();
            var disburmentList = db.DisbursementLists.Include(m => m.DisburseItems
                                                              .Select(a => a.Item))
                                 .FirstOrDefault(m => m.Department.DeptId == disbursementViewModel.SelectedDepId && m.Status == "pending");


            try
            {
                if (disburmentList.DisburseItems.Count != 0)
                {
                    if (disburmentList.Status == "pending")
                    {
                        disbursementViewModel.DisbursementList = disburmentList;
                    }
                }
                disbursementViewModel.Departments = departments;
                if (disburmentList != null)
                {
                    return(View("DisburmentList", disbursementViewModel));
                }
                else
                {
                    return(RedirectToAction("DisburmentList"));
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
                return(RedirectToAction("DisburmentList"));
            }
        }
Exemple #21
0
        public IActionResult Summary()
        {
            emp = JsonConvert.DeserializeObject <Employee>(HttpContext.Session.GetString("employee")) as Employee;

            DisbursementViewModel dVModel = new DisbursementViewModel();

            if (emp.Department.DepartmentName != "Store")
            {
                dVModel.employee              = emp;
                dVModel.dfCompletedList       = dfService.FindCompletedDisbursementFormsByDept(emp);
                dVModel.dfPendingDeliveryList = dfService.FindPendingDeliveryDisbursementFormsByDept(emp);
                dVModel.dFCreatedList         = dfService.FindCreatedDisbursementFormsByDept(emp);
                dVModel.dfPendingAssignList   = dfService.FindPendingAssignDisbursementFormsByDept(emp);
            }
            else
            {
                dVModel.employee              = emp;
                dVModel.dfCompletedList       = dfService.FindCompletedDisbursementForms();
                dVModel.dfPendingDeliveryList = dfService.FindPendingDeliveryDisbursementForms();
                dVModel.dFCreatedList         = dfService.FindCreatedDisbursementForms();
                dVModel.dfPendingAssignList   = dfService.FindPendingAssignDisbursementForms();
            }
            return(View("DFSummary", dVModel));
        }
Exemple #22
0
        public ActionResult DisbursementDetailForRep(string disburseID)
        {
            DisbursementViewModel dvmList = disburseBizLogic.GenerateSingleDisbursementViewModel(disburseID, Session);

            return(View(dvmList));
        }