public async Task <SearchingManifestItem> SearchItem() { var lst = await _shipmentBookingDataProvider.ListAsync(); List <Booking> bookingModels = lst.Items; var DestinationPort = new List <string> { "Crooked Harbour", "Aberdeen", "Double Haven", "Gin Drinkers Bay", "Inner Port Shelter", "Cam Pha", "Cua Lo", "Hai Phong", "Hon Gai", "Nghi Son" }; var OriginPorts = new List <string> { "Aberdeen", "Crooked Harbour", "Double Haven", "Gin Drinkers Bay", "Inner Port Shelter", "Cam Pha", "Cua Lo", "Hai Phong", "Hon Gai", "Nghi Son" }; var Carriers = bookingModels.Select(x => x.Carrier).Distinct(); List <string> status = new List <string> { OrderStatus.BookingMade.GetDescription <OrderStatus>(), OrderStatus.PartlyManifested.GetDescription <OrderStatus>(), OrderStatus.Manifested.GetDescription <OrderStatus>() }; SearchingManifestItem getSearchItemDTO = new SearchingManifestItem() { DestinationPort = DestinationPort, OriginPorts = OriginPorts, Carriers = Carriers, Status = status }; return(getSearchItemDTO); }
// GET: Manifest public async Task <ActionResult> Index(int?pageIndex, string DestinationPort = null, string OriginPort = null, string Carrier = null, DateTime?ETDFrom = null, DateTime?ETDTo = null, string Status = null, string Vendor = null, string PONumber = null, string Item = null, bool?checkClick = null) { ViewBag.Size = new List <string> { "20GP", "40HC" }; ViewBag.PackType = new List <string> { "Boxed", "Carton" }; ViewBag.Loading = new List <string> { "ROAD", "SEA", "AIR" }; SearchingManifestItem searchItem = await _manifestService.SearchItem(); ViewBag.OriginPorts = searchItem.OriginPorts; ViewBag.Carriers = searchItem.Carriers; ViewBag.Dest = searchItem.DestinationPort; ViewBag.Status = searchItem.Status; int current = pageIndex ?? 1; if (String.IsNullOrEmpty(DestinationPort) && String.IsNullOrEmpty(OriginPort) && String.IsNullOrEmpty(Carrier)) { DestinationPort = searchItem.DestinationPort.FirstOrDefault(); OriginPort = searchItem.OriginPorts.FirstOrDefault(); Carrier = searchItem.Carriers.FirstOrDefault(); } ViewBag.pageIndex = current; PagedListResult <ShipmentManifestsDtos> listManifest = await _manifestService.ListManifestDtoAsync(current, 2, DestinationPort, OriginPort, Carrier, ETDFrom, ETDTo, Status, Vendor, PONumber, Item); listManifest.CurrentFilter = current.ToString(); foreach (var item in listManifest.Items) { item.Manifests.OrderBy(p => p.PONumber).ThenBy(a => a.ItemNumber); } if (checkClick == true) { return(PartialView("_SearchingManifestPartial", listManifest)); } return(View("Index", listManifest)); }
public async Task <ActionResult> CreateOrUpdate(string pageIndex, PagedListResult <ShipmentManifestsDtos> shipmentManifestDtos) { ViewBag.modalResult = "empty"; ViewBag.Size = new List <string> { "20GP", "40HC" }; ViewBag.PackType = new List <string> { "Boxed", "Carton" }; ViewBag.Loading = new List <string> { "ROAD", "SEA", "AIR" }; SearchingManifestItem searchItem = await _manifestService.SearchItem(); ViewBag.OriginPorts = searchItem.OriginPorts; ViewBag.Carriers = searchItem.Carriers; ViewBag.Dest = searchItem.DestinationPort; ViewBag.Status = searchItem.Status; string DestinationPort = searchItem.DestinationPort.First(); string OriginPort = searchItem.OriginPorts.First(); string Carrier = searchItem.Carriers.First(); PagedListResult <ShipmentManifestsDtos> pagedListResult = new PagedListResult <ShipmentManifestsDtos>(); int current = int.Parse(shipmentManifestDtos.CurrentFilter); ViewBag.pageIndex = current; pagedListResult.CurrentFilter = shipmentManifestDtos.CurrentFilter; for (int i = 0; i < shipmentManifestDtos.Items.Count(); i++) { for (int j = 0; j < shipmentManifestDtos.Items[i].Manifests.Count(); j++) { if (shipmentManifestDtos.Items[i].Manifests[j].selectedItem == false && shipmentManifestDtos.Items[i].selectedContainer == true) { string shipQuantity = "Items[" + i + "].Manifests[" + j + "].ShipQuantity"; string id = "Items[" + i + "].Manifests[" + j + "].Id"; if (ModelState.Keys.Contains(shipQuantity)) { ModelState[shipQuantity].ValidationState = ModelState[id].ValidationState; } } if (shipmentManifestDtos.Items[i].Manifests[j].selectedItem == false) { string shipQuantity = "Items[" + i + "].Manifests[" + j + "].ShipQuantity"; string id = "Items[" + i + "].Manifests[" + j + "].Id"; if (ModelState.Keys.Contains(shipQuantity)) { ModelState[shipQuantity].ValidationState = ModelState[id].ValidationState; } } if (shipmentManifestDtos.Items[i].selectedContainer == true && shipmentManifestDtos.Items[i].Manifests[j].selectedItem == true) { if (shipmentManifestDtos.Items[i].Manifests[j].ShipQuantity == 0) { ViewBag.modalResult = "zero"; pagedListResult = shipmentManifestDtos; return(PartialView("_AchieveManifestPartial", pagedListResult)); } } } } foreach (var manifest in shipmentManifestDtos.Items) { if (_manifestService.checkNameContainer(manifest.Name) == true && manifest.Id == 0) { ViewBag.nameUnique = "Container name must be unique."; pagedListResult = shipmentManifestDtos; return(PartialView("_AchieveManifestPartial", pagedListResult)); } //if (manifest.selectedContainer == true && manifest.Manifests.Where(p => p.selectedItem == true).Count() == 0) //{ // ViewBag.modalResult = "emptybooking"; // pagedListResult = shipmentManifestDtos; // return PartialView("_AchieveManifestPartial", pagedListResult); //} } //if (shipmentManifestDtos.Items.Where(p => p.selectedContainer == false).Count() == 2) //{ // ViewBag.modalResult = "empty"; // pagedListResult = shipmentManifestDtos; // return PartialView("_AchieveManifestPartial", pagedListResult); //} if (ViewBag.nameUnique == null) { if (ModelState.IsValid) { foreach (var manifest in shipmentManifestDtos.Items) { if (manifest.selectedContainer == true && manifest.Manifests.Where(p => p.selectedItem == true && p.ShipQuantity > 0).Count() > 0) { await _manifestService.CreateOrUpdateContainerAsync(manifest); ViewBag.modalResult = "success"; } } pagedListResult = shipmentManifestDtos; } else { ViewBag.modalResult = "invalid"; pagedListResult = shipmentManifestDtos; } } return(PartialView("_AchieveManifestPartial", pagedListResult)); }