Example #1
0
        public ActionResult Details(int id = 0)
        {
            OrdersRepository.ExeedingOrderData model = new OrdersRepository.ExeedingOrderData();

            using (OrdersRepository ordersRep = new OrdersRepository(CurrentUser.CompanyId))
            using (OrderToItemRepository orderItemsRep = new OrderToItemRepository())
            {
                StatusType minStatus = Authorized(RoleType.OrdersApprover) ? StatusType.ApprovedPendingInvoice : StatusType.Pending;
                model = ordersRep.GetOrderWithExeedingData(id, minStatus, "Orders_Statuses", "Supplier", "User", "Orders_OrderToItem.Orders_Items", "Orders_OrderToAllocation", "Orders_OrderToAllocation.Budgets_Allocations", "Budget", "User1");

                if (model == null) return Error(Loc.Dic.error_order_get_error);
                if (!Authorized(RoleType.OrdersViewer) && model.OriginalOrder.UserId != CurrentUser.UserId) return Error(Loc.Dic.error_no_permission);

                return View(model);
            }
        }
Example #2
0
        public ActionResult Delete(int id = 0)
        {
            if (!Authorized(RoleType.OrdersWriter)) return Error(Loc.Dic.error_no_permission);

            OrdersRepository.ExeedingOrderData model = new OrdersRepository.ExeedingOrderData();
            using (OrdersRepository ordersRep = new OrdersRepository(CurrentUser.CompanyId))
            {
                StatusType minStatus = Authorized(RoleType.OrdersApprover) ? StatusType.ApprovedPendingInvoice : StatusType.Pending;
                model = ordersRep.GetOrderWithExeedingData(id, minStatus, "Orders_Statuses", "Supplier", "User", "Orders_OrderToItem.Orders_Items", "Orders_OrderToAllocation", "Orders_OrderToAllocation.Budgets_Allocations", "Budget", "User1");
            }

            if (model == null) return Error(Loc.Dic.error_order_not_found);
            if (model.OriginalOrder.UserId != CurrentUser.UserId) return Error(Loc.Dic.error_no_permission);
            if (model.OriginalOrder.StatusId != (int)StatusType.Pending && model.OriginalOrder.StatusId != (int)StatusType.PendingOrderCreator)
                return Error(Loc.Dic.error_order_delete_after_approval);

            ViewBag.OrderId = model.OriginalOrder.Id;
            return View(model);
        }