public async Task <OrderLimitModel> PrepareOrderLimitListModel() { var orderLimits = await _orderLimitService.GetAllOrderLimitsAsync(); var model = new OrderLimitModel { OrderLimits = orderLimits }; return(model); }
public async Task <IActionResult> AddOrderLimit(OrderLimitModel model) { if (!await _permissionService.AuthorizeAsync(StandardPermissionProvider.ManageOrderLimit)) { return(AccessDeniedView()); } OrderBranchMaster orderLimit = new OrderBranchMaster(); if (ModelState.IsValid) { try { //var isExist = await _orderLimitService.IsStoreExistAsync(model.SelectedStoreIds); //if (isExist) //{ // ModelState.AddModelError(string.Empty, "Store has existed in current order limit."); // _notificationService.ErrorNotification("Store has existed in current order limit."); // return new NullJsonResult(); //} orderLimit = new OrderBranchMaster { P_DeliveryPerWeek = model.DeliveryPerWeek, P_Safety = model.Safety, P_InventoryCycle = model.InventoryCycle, P_OrderRatio = model.OrderRatio, P_FaceQty = model.FaceQty, P_MinDays = model.MinDays, P_MaxDays = model.MaxDays, //P_BranchNo = model.SelectedStoreIds, Status = 1 }; await _orderLimitService.InsertOrderLimit(orderLimit); return(RedirectToAction("Order")); } catch (Exception e) { ModelState.AddModelError(string.Empty, e.Message); _notificationService.ErrorNotification(e.Message); return(Json(e.Message)); } } else { return(View(model)); } }
public async Task <OrderLimitModel> PrepareOrderLimitModel(OrderLimitModel model, OrderBranchMaster orderLimit) { if (orderLimit != null) { model = model ?? new OrderLimitModel(); model.Id = orderLimit.Id; model.DeliveryPerWeek = orderLimit.P_DeliveryPerWeek; model.Safety = orderLimit.P_Safety; model.InventoryCycle = orderLimit.P_InventoryCycle; model.OrderRatio = orderLimit.P_OrderRatio; model.MinDays = (int)orderLimit.P_MinDays; model.MaxDays = (int)orderLimit.P_MaxDays; model.FaceQty = (int)orderLimit.P_FaceQty; //model.SelectedStoreIds = orderLimit.P_BranchNo; model.CreatedOn = _dateTimeHelper.ConvertToUserTime(orderLimit.CreatedOnUtc, DateTimeKind.Utc); model.LastActivityDate = _dateTimeHelper.ConvertToUserTime(orderLimit.ModifiedOnUtc.GetValueOrDefault(DateTime.UtcNow), DateTimeKind.Utc); } else { model = new OrderLimitModel(); //model.SelectedStoreIds = -99; } //var stores = await _storeService.GetStores(); //var orderLimitStore = await _orderLimitService.GetAllOrderLimitsStoreAsync(); //var existingBranch = orderLimitStore.Select(x => x.P_BranchNo).ToList(); //IEnumerable<Store> newStore = new List<Store>(); //if (model.SelectedStoreIds != -99) //{ // List<int> ids = new List<int>(); // ids.Add(model.SelectedStoreIds); // newStore = stores.Where(x => !existingBranch.Except(ids).Contains(x.P_BranchNo)); //} //else //{ // newStore = stores.Where(x => !existingBranch.Contains(x.P_BranchNo)); //} //model.AvailableStores = newStore.Select(store => new SelectListItem //{ // Text = store.P_BranchNo.ToString() + " - " + store.P_Name, // Value = store.P_BranchNo.ToString() //}).ToList(); return(await Task.FromResult(model)); }
public async Task <IActionResult> EditOrder(OrderLimitModel model, bool continueEditing) { if (!await _permissionService.AuthorizeAsync(StandardPermissionProvider.ManageOrderLimit)) { return(AccessDeniedView()); } var orderLimit = await _orderLimitService.GetOrderLimitByIdAsync(model.Id); if (orderLimit == null) { return(RedirectToAction("Order")); } //validate stores var allStores = await _storeService.GetStores(); var newStores = new List <Store>(); foreach (var store in allStores) { if (model.SelectedStoreIds == store.P_BranchNo) { newStores.Add(store); } } if (ModelState.IsValid) { try { orderLimit.P_DeliveryPerWeek = model.DeliveryPerWeek; orderLimit.P_Safety = model.Safety; orderLimit.P_InventoryCycle = model.InventoryCycle; orderLimit.P_OrderRatio = model.OrderRatio; orderLimit.P_MaxDays = model.MaxDays; orderLimit.P_MinDays = model.MinDays; orderLimit.P_FaceQty = model.FaceQty; // orderLimit.P_BranchNo = model.SelectedStoreIds; _orderLimitService.UpdateOrderLimit(orderLimit); _notificationService.SuccessNotification("Order limit has been updated successfully."); if (!continueEditing) { return(RedirectToAction("Order")); } //selected tab SaveSelectedTabName(); return(RedirectToAction("EditOrder", new { id = orderLimit.Id })); } catch (Exception e) { _notificationService.ErrorNotification(e.Message); } } model = await _orderLimitModelFactory.PrepareOrderLimitModel(model, orderLimit); return(View(model)); }