public ActionResult Index(SearchTransportPage currentPage) { var siteUser = _usersManagementService.GetSiteUser(HttpContext); if (siteUser == null) { return(Redirect("/")); } var searchPage = new SearchTransportPageView(currentPage) { SearchInfo = new SearchTransportInfo { SearchText = string.Empty, FromDate = string.Empty, ToDate = string.Empty, Category = SettingPage.IsInternal ? SearchCategories.CustomerNumber : SearchCategories.Ordernummer } }; if (!SettingPage.IsInternal) { var keyValuePair = searchPage.ListCategory.Find( pair => pair.Key == SearchCategories.CustomerNumber && pair.Value == SearchCategories.CustomerNumber); searchPage.ListCategory.Remove(keyValuePair); searchPage.IsInternal = false; } return(View("~/Views/SearchTransport/Index.cshtml", searchPage)); }
public ActionResult Index(SearchTransportPage currentPage, SearchTransportInfo searchModel) { var isInternal = SettingPage.IsInternal; var supplier = _usersManagementService.GetActiveCustomer(HttpContext); var siteUser = _usersManagementService.GetSiteUser(HttpContext); if (siteUser == null || supplier == null) { return(Redirect("/")); } var customerNo = supplier.CustomerNo; var listShipment = new List <ShipmentResponse>(); var listOder = new List <OrderRowResponse>(); switch (searchModel.Category) { case SearchCategories.CustomerNumber: if (isInternal) { listOder = SearchByCustomerNr(searchModel); } break; case SearchCategories.Ordernummer: listOder = SearchByOrderNr(searchModel, customerNo); if (listOder?.Count > 0) { listShipment = GetShipmentsByOrderNr(searchModel, customerNo); } break; case SearchCategories.ShipmentId: listShipment = SearchByShipmentId(searchModel, customerNo); if (listShipment?.Count > 0) { listOder = GetOrderRowByShipmentId(searchModel.SearchText, customerNo); } break; case SearchCategories.CustomerOrderNumber: listOder = SearchByCustomerOrderNr(searchModel, customerNo); if (listOder?.Count > 0) { listShipment = GetShipmentsByCustomerOrderNr(searchModel, customerNo); } break; case SearchCategories.Carrier: listShipment = SearchByCarrier(searchModel, customerNo); break; case SearchCategories.WayBill: listShipment = SearchByWaybillNr(searchModel, customerNo); if (listShipment?.Count > 0) { listOder = GetOrderRowByShipmentId(listShipment.First().ShipmentIdMX.ToString(), customerNo); } break; } var totalOrderedQty = 0; var totalDeliveredQty = 0; if (listOder != null && listOder.Count > 0) { totalOrderedQty += listOder.Sum(order => order.OrderedQty); totalDeliveredQty += listOder.Sum(order => order.DeliveredQty); } if (listShipment == null || listOder == null || (listOder.Count == 0 && listShipment.Count == 0)) { ModelState.AddModelError("", "Inga träffar"); } var searchPage = new SearchTransportPageView(currentPage) { SearchInfo = searchModel, ListTransport = listShipment, ListOrder = listOder, TotalBestKvant = totalOrderedQty, TotalLevKvant = totalDeliveredQty }; if (!SettingPage.IsInternal) { var keyValuePair = searchPage.ListCategory.Find( pair => pair.Key == SearchCategories.CustomerNumber && pair.Value == SearchCategories.CustomerNumber); searchPage.ListCategory.Remove(keyValuePair); searchPage.IsInternal = false; } return(View("~/Views/SearchTransport/Index.cshtml", searchPage)); }