private string GetWarehouseFromDeliveryInformation(DeliveryAssuranceDetail assurance) { if (assurance.Gardshamtning == "1" && SettingPage.IsInternal && string.IsNullOrWhiteSpace(assurance.Warehouse)) { // 2015-08-17 Olle Welwert: Ej hämta mottagningsplatser om ordertyp <> 204. if (assurance.OrderType == "204" || !assurance.Action.Equals(DeliveryAssuranceAction.Approve)) { var iSlam = 2; switch (assurance.Slam) { case "JA-S1": iSlam = 1; break; case "NEJ": iSlam = 0; break; } assurance.Warehouse = _deliveryNoteRepository.GetWarehouse( assurance.CustomerNumber, assurance.DeliveryAddress, assurance.Item, assurance.Sort, assurance.Torkat != "NEJ", iSlam, assurance.Straforkortat != "NEJ"); } } return(assurance.Warehouse); }
private async Task <DeliveryAssuranceOverviewViewModel> PopulateOverviewModelFromDeliveryDetail(DeliveryAssuranceListPage currentPage, DeliveryAssuranceDetail deliveryAssurance) { var lorryType = GetLorryTypes()?.FirstOrDefault(x => x.Key.Equals(deliveryAssurance.LorryType)); var deliveryAddress = GetDeliveryAddresses(deliveryAssurance.CustomerNumber)?.FirstOrDefault(x => x.Key.Equals(deliveryAssurance.DeliveryAddress)); if (deliveryAssurance.Action.Equals(DeliveryAssuranceAction.Create)) { deliveryAssurance.Item = DeliveryAssuranceHelper.ParseItemValue(deliveryAssurance.Article); deliveryAssurance.Sort = DeliveryAssuranceHelper.ParseSortValue(deliveryAssurance.Article); var article = GetMergedItems(deliveryAssurance.CustomerNumber, DateTime.Now)?.FirstOrDefault(d => d.Key == deliveryAssurance.Article); deliveryAssurance.ItemName = article?.Value; } var warehouse = (await GetWarehouseList(new Core.DataModels.DeliveryAssuranceDtos.DeliveryAssurance { Item = deliveryAssurance.Item, Sort = deliveryAssurance.Sort, Leveransdatum = Convert.ToDateTime(deliveryAssurance.DeliveryDate) }))?.FirstOrDefault(w => w.Key == GetWarehouseFromDeliveryInformation(deliveryAssurance)); //var depaAvtals = // (await GetDepaAvtalDelAssAsync(new Core.DataModels.DeliveryAssuranceDtos.DeliveryAssurance // { // Item = deliveryAssurance.Item, // Sort = deliveryAssurance.Sort, // Leveransdatum = Convert.ToDateTime(deliveryAssurance.DeliveryDate), // SupplierNumber = deliveryAssurance.CustomerNumber // })); var depaAvtals = await _deliveryNoteRepository.GetDepaAvtalAsync(deliveryAssurance.CustomerNumber, deliveryAssurance.Item, deliveryAssurance.Sort); var depaAvtal = depaAvtals?.FirstOrDefault(d => d.Keyvalue == deliveryAssurance.DepaAvtal); var deliveryAssuranceLists = Session[nameof(MultiApprove)] as List <DeliveryAssuranceList>; var overviewModel = new DeliveryAssuranceOverviewViewModel(currentPage) { DeliveryAssurance = new DeliveryAssuranceOverview() { CustomerName = deliveryAssurance.CustomerName, CustomerNumber = deliveryAssurance.CustomerNumber, IONumber = deliveryAssurance.IONumber, TermAndCondition = deliveryAssurance.TermAndCondition, Gardshamtning = deliveryAssurance.Gardshamtning == "1", TransportType = GetTransportType(deliveryAssurance.Gardshamtning == "1", deliveryAssurance.TermAndCondition), LorryTypeDesc = lorryType?.Value, DeliveryAddress = deliveryAddress?.Value, ItemName = deliveryAssurance.ItemName, Quantity = deliveryAssurance.Quantity, SlamDesc = await _deliveryNoteRepository.GetM3DescriptionAsync(DeliveryAssuranceRadioButtons.Slam, deliveryAssurance.Slam), StraforkortatDesc = await _deliveryNoteRepository.GetM3DescriptionAsync(DeliveryAssuranceRadioButtons.Straforkortat, deliveryAssurance.Straforkortat), TorkatDesc = await _deliveryNoteRepository.GetM3DescriptionAsync(DeliveryAssuranceRadioButtons.Torkat, deliveryAssurance.Torkat), RedDesc = await _deliveryNoteRepository.GetM3DescriptionAsync(DeliveryAssuranceRadioButtons.Red, deliveryAssurance.Red), OtherInfo = deliveryAssurance.OtherInfo.ReplaceReturnToBr(), HarvestYear = deliveryAssurance.HarvestYear, WarehouseDesc = warehouse?.Value, DepaAvtal = depaAvtal?.Description, DeliveryDate = deliveryAssurance.DeliveryDate, DeliveryTypeDesc = depaAvtals?.Length > 1 ? DeliveryTypes.Depa : DeliveryTypes.Spon, Action = deliveryAssurance.Action }, ChangeUrl = deliveryAssurance.CurrentUrl, IsMultiApprove = deliveryAssurance.Action.Equals(DeliveryAssuranceAction.Approve) && deliveryAssuranceLists != null && deliveryAssuranceLists.Count > 1 }; var sessionKey = $"{nameof(DeliveryAssuranceDetail)}-{deliveryAssurance.Action}-{deliveryAssurance.IONumber}"; Session[sessionKey] = deliveryAssurance; return(overviewModel); }
public async Task <ActionResult> Submit(DeliveryAssuranceListPage currentPage, DeliveryAssuranceDetail deliveryAssurance) { if (SiteUser == null) { return(HttpNotFound()); } var overviewModel = await PopulateOverviewModelFromDeliveryDetail(currentPage, deliveryAssurance); return(View("~/Views/AppPages/DeliveryAssurancePage/DeliveryAssuranceOverview.cshtml", overviewModel)); }