Esempio n. 1
0
        public static List <OrderManageView> GetAllOrdersManageView(ApplicationDbContext db, IPrincipal user, bool getHistory)
        {
            List <OrderManageView> allOrdersManageView = new List <OrderManageView>();

            AppUser      appUser          = AppUserHelpers.GetAppUser(db, user);
            List <Order> allOrdersForUser = OrderHelpers.GetAllManageListingFilteredOrders(db, appUser.AppUserId, getHistory);

            //If we allow branch trading then differentiate between branches for in/out trading, otherwise it is at company level
            Company company = CompanyHelpers.GetCompanyForUser(db, user);

            foreach (Order orderForBranchUser in allOrdersForUser)
            {
                OrderManageView orderManageView = new OrderManageView();
                orderManageView.OrderDetails = orderForBranchUser;

                //set Inhouse flag
                orderManageView.InhouseOrder = OrderProcessHelpers.SetInhouseFlag(orderForBranchUser, appUser, company);

                //Set OrderOut flag
                orderManageView.OrderOut = OrderProcessHelpers.SetOrderOutFlag(orderForBranchUser, orderManageView.InhouseOrder);

                //set buttons
                bool?displayDespatchButton  = null;
                bool?displayDeliveredButton = null;
                bool?displayReceivedButton  = null;
                bool?displayCollectedButton = null;
                bool?displayClosedButton    = null;

                OrderProcessHelpers.SetOrderButtons(db, user, orderForBranchUser, orderManageView.OrderOut, out displayDespatchButton, out displayDeliveredButton, out displayReceivedButton, out displayCollectedButton, out displayClosedButton);

                orderManageView.DisplayDespatchButton  = displayDespatchButton;
                orderManageView.DisplayDeliveredButton = displayDeliveredButton;
                orderManageView.DisplayReceivedButton  = displayReceivedButton;
                orderManageView.DisplayCollectedButton = displayCollectedButton;
                orderManageView.DisplayClosedButton    = displayClosedButton;

                allOrdersManageView.Add(orderManageView);
            }

            return(allOrdersManageView);
        }