Ejemplo n.º 1
0
        public async Task <IActionResult> UpdateStatus(int id)
        {
            PRWithRequest order = await _webApiCalls.IncrementStatus(id);


            var empId = order.EmployeeId;

            if (order.StatusName == "Waiting for Supervisor Approval")
            {
                return(RedirectToAction("PendingByEmployee", new { id = empId }));
            }
            else if (order.StatusName == "Approved")
            {
                return(RedirectToAction("Approved", new { id = empId }));
            }
            else if (order.StatusName == "Ordered")
            {
                return(RedirectToAction("Ordered", new { id = empId }));
            }
            else if (order.StatusName == "Completed")
            {
                return(RedirectToAction("Completed", new { id = empId }));
            }

            return(RedirectToAction("Index", "Home"));
        }
Ejemplo n.º 2
0
        public async Task <IActionResult> ViewOrder(int id)
        {
            PRWithRequest order = await _webApiCalls.GetOrderAsync(id);


            return(View(order));
        }
Ejemplo n.º 3
0
        public async Task <IActionResult> UpdateToCompleted(int id)
        {
            PRWithRequest order = await _webApiCalls.IncrementStatus(id);

            var empId = order.EmployeeId;

            return(RedirectToAction("Completed", new { id = empId }));
        }
Ejemplo n.º 4
0
        internal PRWithRequest GetRecord(Employee user, Employee supervisor, Status status, Category c, BudgetCode bc, Order o)
        {
            //BusinessJustification & DateOrdered && CategoryId && BudgetCodeId
            var order = new PRWithRequest()
            {
                Id = o.Id,
                BusinessJustification = o.BusinessJustification,
                DateMade      = o.DateMade,
                DateOrdered   = o.DateOrdered,
                StateContract = o.StateContract,
                StatusId      = status.Id,
                StatusName    = status.StatusName,
            };

            var request = RequestRepo.GetAllForOrder(o.Id).ToList();

            if (request.Count > 0)
            {
                order.RequestsWithVendor = request;
            }

            if (o.TimeStamp != null)
            {
                order.TimeStamp = o.TimeStamp;
            }

            if (user != null)
            {
                order.EmployeeFullName = user.FullName;
                order.EmployeeId       = user.Id;
            }

            if (supervisor != null)
            {
                order.SupervisorId       = supervisor.Id;
                order.SupervisorFullName = supervisor.FullName;
            }


            if (bc != null)
            {
                order.BudgetCodeId   = bc.Id;
                order.BudgetCodeName = bc.BudgetCodeName;
            }

            if (c != null)
            {
                order.CategoryId   = c.Id;
                order.CategoryName = c.CategoryName;
            }

            return(order);
        }
Ejemplo n.º 5
0
        public async Task <IActionResult> EditOrder(PRWithRequest request)
        {
            var order = new Order()
            {
                Id                    = request.Id,
                DateMade              = request.DateMade,
                EmployeeId            = request.EmployeeId,
                StatusId              = request.StatusId,
                BusinessJustification = request.BusinessJustification,
                CategoryId            = request.CategoryId,
                BudgetCodeId          = request.BudgetCodeId,
                StateContract         = request.StateContract,
                TimeStamp             = request.TimeStamp
            };


            var result = await _webApiCalls.UpdateAsync(order.Id, order);

            return(RedirectToAction("PendingByEmployee"));
        }
Ejemplo n.º 6
0
        public async Task <IActionResult> DenyOrder(int id, SupervisorApproval approval)
        {
            if (!ModelState.IsValid)
            {
                return(View(approval));
            }

            SupervisorApproval app = new SupervisorApproval
            {
                ApprovalId          = approval.ApprovalId,
                UserRoleId          = approval.UserRoleId,
                SupervisorId        = approval.SupervisorId,
                OrderId             = approval.OrderId,
                DeniedJustification = approval.DeniedJustification
            };

            var result = await _webApiCalls.UpdateAsync(app.Id, app);

            PRWithRequest order = await _webApiCalls.MoveToDeniedStatus(id);

            return(RedirectToAction("ViewSubmitted"));
        }
Ejemplo n.º 7
0
        public async Task <IActionResult> ApproveOrder(int id)
        {
            PRWithRequest req = await _webApiCalls.GetOrderAsync(id);


            Employee emp = await _userManager.GetUserAsync(User);

            IList <string> roleId = await _userManager.GetRolesAsync(emp);

            IdentityRole role = await _roleManager.FindByNameAsync(roleId[0]);

            var approvals = await _webApiCalls.GetApprovals();

            var ApprovalId = approvals.Where(x => x.ApprovalName == "Approved").FirstOrDefault().Id;

            SupervisorApproval sa = new SupervisorApproval()
            {
                SupervisorId = req.SupervisorId,
                OrderId      = req.Id,
                UserRoleId   = role.Id,
                ApprovalId   = ApprovalId
            };

            var result = await _webApiCalls.CreateAsync(sa);


            if (req.RequestsWithVendor.Any(x => x.EstimatedTotal > 3000) && req.StateContract == false && req.StatusName != "Waiting for CFO approval")
            {
                PRWithRequest order = await _webApiCalls.MoveToCFOStatus(id);

                return(RedirectToAction("ViewSubmitted"));
            }
            else
            {
                PRWithRequest order = await _webApiCalls.IncrementStatus(id);

                return(RedirectToAction("ViewSubmitted"));
            }
        }
Ejemplo n.º 8
0
        public async Task <IActionResult> Create(int id, PRWithRequest request)
        {
            if (!ModelState.IsValid)
            {
                string userId = _userManager.GetUserId(User);
                ViewBag.BudgetCodes = await _webApiCalls.GetBudgetCodesForDropDown(userId);

                ViewBag.Categories = await _webApiCalls.GetCategoriesForDropDown();

                return(View(request));
            }


            var order = new Order()
            {
                Id                    = request.Id,
                DateMade              = request.DateMade,
                EmployeeId            = request.EmployeeId,
                StatusId              = request.StatusId,
                BusinessJustification = request.BusinessJustification,
                CategoryId            = request.CategoryId,
                BudgetCodeId          = request.BudgetCodeId,
                StateContract         = request.StateContract,
                TimeStamp             = request.TimeStamp
            };


            var result = await _webApiCalls.UpdateAsync(order.Id, order);


            RequestWithVendor req = new RequestWithVendor
            {
                OrderId = request.Id,
            };

            return(RedirectToAction("AddItem", "Request", new { orderId = req.OrderId }));
        }
Ejemplo n.º 9
0
        public async Task <IActionResult> OrderApproval(int id)
        {
            PRWithRequest req = await _webApiCalls.GetOrderAsync(id);

            return(View(req));
        }