Пример #1
0
        // Author: Ayisha
        // Creates a new requisition in the database
        public IActionResult SaveRequisition(DeptRequisition deptRequisition)
        {
            if (getUserRole().Equals(""))
            {
                return(RedirectToAction("Login", "Login"));
            }
            //Security-Emp Lvl
            if (!(getUserRole() == DeptRole.Employee.ToString() ||
                  getUserRole() == DeptRole.DeptRep.ToString() ||
                  getUserRole() == DeptRole.Contact.ToString() ||
                  getUserRole() == DeptRole.DelegatedEmployee.ToString()))
            {
                if (getUserRole() == DeptRole.DeptHead.ToString())
                {
                    return(RedirectToAction(_filterService.Filter(getUserRole()), "Dept"));
                }
                else
                {
                    return(RedirectToAction(_filterService.Filter(getUserRole()), "Store"));
                }
            }
            int      userId = (int)HttpContext.Session.GetInt32("Id");
            Employee user   = _dbContext.Employees.SingleOrDefault(e => e.Id == userId);
            int      deptId = user.Dept.id;

            //get employee from session data
            var    result            = new DeptRequisition();
            string usernameInSession = HttpContext.Session.GetString("username");
            var    employee          = _dbContext.Employees.FirstOrDefault(ep => ep.Username == usernameInSession);

            result.Employee = employee;

            _dbContext.Add(result);

            foreach (var requisitionDetail in deptRequisition.RequisitionDetails)
            {
                requisitionDetail.Stationery =
                    _dbContext.Stationeries.FirstOrDefault(s => s.Id == requisitionDetail.Stationery.Id);
                requisitionDetail.DeptRequisition = result;
                _dbContext.Add(requisitionDetail);
            }

            result.Employee = user;
            _dbContext.SaveChanges();

            return(RedirectToAction("EmployeeRequisitionList", "Dept"));
        }
Пример #2
0
        // Author: Ayisha
        // Updates an existing requisition in the database that has not been submitted yet
        public IActionResult SaveExRequisition(DeptRequisition requisition)
        {
            if (getUserRole().Equals(""))
            {
                return(RedirectToAction("Login", "Login"));
            }
            //Security-Emp Lvl
            if (!(getUserRole() == DeptRole.Employee.ToString() ||
                  getUserRole() == DeptRole.DeptRep.ToString() ||
                  getUserRole() == DeptRole.Contact.ToString() ||
                  getUserRole() == DeptRole.DelegatedEmployee.ToString()))
            {
                if (getUserRole() == DeptRole.DeptHead.ToString())
                {
                    return(RedirectToAction(_filterService.Filter(getUserRole()), "Dept"));
                }
                else
                {
                    return(RedirectToAction(_filterService.Filter(getUserRole()), "Store"));
                }
            }
            int      userId = (int)HttpContext.Session.GetInt32("Id");
            Employee user   = _dbContext.Employees.SingleOrDefault(e => e.Id == userId);
            int      deptId = user.Dept.id;

            var result = _dbContext.DeptRequisitions.FirstOrDefault(rd => rd.Id == requisition.Id);

            result.Employee = user;

            foreach (var requisitionDetail in requisition.RequisitionDetails)
            {
                // this is needed to add Stationary to each object.
                requisitionDetail.Stationery =
                    _dbContext.Stationeries.FirstOrDefault(s => s.Id == requisitionDetail.Stationery.Id);
                requisitionDetail.DeptRequisition = result;
            }

            result.RequisitionDetails = requisition.RequisitionDetails;

            _dbContext.SaveChanges();

            return(RedirectToAction("EmployeeRequisitionList", "Dept"));
        }
Пример #3
0
        public void SaveRequisitionApi([FromBody] DeptRequisitionDTO input)
        {
            int      userId            = _dbContext.AndroidUsers.FirstOrDefault().UserId;
            Employee user              = _dbContext.Employees.SingleOrDefault(e => e.Id == userId);
            string   usernameInSession = user.Username;
            int      deptId            = user.Dept.id;

            DeptRequisition result = new DeptRequisition();

            if (input.FormStatus.Equals("New"))
            {
                result.Employee           = user;
                result.RequisitionDetails = new List <RequisitionDetail>();
                _dbContext.Add(result);

                foreach (var requisitionDetail in input.RequisitionDetails)
                {
                    RequisitionDetail temp = new RequisitionDetail();
                    temp.Stationery = _dbContext.Stationeries.FirstOrDefault(s => s.Id == requisitionDetail.StationeryId);
                    temp.Qty        = requisitionDetail.Qty;
                    result.RequisitionDetails.Add(temp);
                }
            }
            else if (input.FormStatus.Equals("Existing"))
            {
                foreach (var requisitionDetail in input.RequisitionDetails)
                {
                    var dbRequisitionDetail = _dbContext.RequisitionDetails.FirstOrDefault(rd =>
                                                                                           rd.DeptRequisition.Id == input.Id && rd.Stationery.Id == requisitionDetail.StationeryId);

                    if (dbRequisitionDetail != null)
                    {
                        dbRequisitionDetail.Qty = requisitionDetail.Qty;
                    }
                }
            }

            _dbContext.SaveChanges();
        }
Пример #4
0
        // Author: Ayisha
        // Returns a new requisition form when there are no requisition forms with the Draft status
        public IActionResult NewEmployeeRequisitionForm()
        {
            if (getUserRole().Equals(""))
            {
                return(RedirectToAction("Login", "Login"));
            }
            //Security-Emp Lvl
            if (!(getUserRole() == DeptRole.Employee.ToString() ||
                  getUserRole() == DeptRole.DeptRep.ToString() ||
                  getUserRole() == DeptRole.Contact.ToString() ||
                  getUserRole() == DeptRole.DelegatedEmployee.ToString()))
            {
                if (getUserRole() == DeptRole.DeptHead.ToString())
                {
                    return(RedirectToAction(_filterService.Filter(getUserRole()), "Dept"));
                }
                else
                {
                    return(RedirectToAction(_filterService.Filter(getUserRole()), "Store"));
                }
            }
            DeptRequisition deptRequisition = new DeptRequisition();

            deptRequisition.RequisitionDetails = new List <RequisitionDetail>();

            var stationeries = _dbContext.Stationeries.ToList();

            foreach (var stationery in stationeries)
            {
                var requisitionDetail = new RequisitionDetail();
                requisitionDetail.Stationery = stationery;
                deptRequisition.RequisitionDetails.Add(requisitionDetail);
            }

            return(View(deptRequisition));
        }