public async Task <IActionResult> Post([FromBody] WorkOrderMasterModelDTO obj) { try { if (!obj.VwWsWorkOrderMaster.WorkOrderMasterId.HasValue) { return(BadRequest("WorkOrderMasterId eksik!")); } var objMaster = new WorkOrderMasterModel { DeclarationType = obj.VwWsWorkOrderMaster.DeclarationType, WorkOrderNo = $"{obj.VwWsWorkOrderMaster.WorkOrderNo}", WorkOrderMasterId = obj.VwWsWorkOrderMaster.WorkOrderMasterId.Value, InvoiceList = new List <InvoiceModel>(), }; foreach (var woInv in obj.VwWsWorkOrderInvoices) { var objInvoice = new InvoiceModel { AgentName = woInv.AgentName, AwbNo = woInv.AwbNo, BLNo = woInv.Blno, ConsgnAddress = woInv.ConsgnAddress, ConsgnCity = woInv.ConsgnCity, ConsgnCountry = woInv.ConsgnCountry, ConsgnName = woInv.ConsgnName, ConsgnNo = woInv.ConsgnNo, ContainerNo = woInv.ContainerNo, Customs = woInv.Customs, DeliveryLocation = woInv.DeliveryLocation, EntryExitCustoms = woInv.EntryExitCustoms, FreightAmount = woInv.FreightAmount, FreightCurrency = woInv.FreightCurrency, GtbReferenceNo = woInv.GtbReferenceNo, Incoterms = woInv.Incoterms, InsuranceAmount = woInv.InsuranceAmount, InsuranceCurrency = woInv.InsuranceCurrency, InvoiceCurrency = woInv.InvoiceCurrency, InvoiceId = woInv.InvoiceId.Value, PaymentMethod = woInv.PaymentMethod, PlateNo = woInv.PlateNo, SenderAddress = woInv.SenderAddress, SenderCity = woInv.SenderCity, SenderCountry = woInv.SenderCountry, SenderName = woInv.SenderName, SenderNo = woInv.SenderNo, TransptrName = woInv.TransptrName, VesselName = woInv.VesselName, InvoiceDetailList = new List <InvoiceDetailModel>(), }; if (woInv.InvoiceAmount.HasValue) { objInvoice.InvoiceAmount = woInv.InvoiceAmount.Value; } if (woInv.WorkOrderMasterId.HasValue) { objInvoice.WorkOrderMasterId = woInv.WorkOrderMasterId.Value; } foreach (var itemInvoiceDetail in obj.VwWsWorkOrderInvoiceDetails) { var objInvoiceDetail = new InvoiceDetailModel { Uom = itemInvoiceDetail.Uom, HsCode = itemInvoiceDetail.HsCode, PkgType = itemInvoiceDetail.PkgType, ProductNo = itemInvoiceDetail.ProductNo, InvoiceNo = itemInvoiceDetail.InvoiceNo, DescGoods = itemInvoiceDetail.DescGoods, CommclDesc = itemInvoiceDetail.CommclDesc, IntrnlAgmt = itemInvoiceDetail.IntrnlAgmt, CountryOfOrigin = itemInvoiceDetail.CountryOfOrigin, IncentiveLineNo = itemInvoiceDetail.IncentiveLineNo, ProducerCompany = itemInvoiceDetail.ProducerCompany, ProducerCompanyNo = itemInvoiceDetail.ProducerCompanyNo, NetWeight = Convert.ToDouble(itemInvoiceDetail.NetWeight), GrossWeight = Convert.ToDouble(itemInvoiceDetail.GrossWeight), InvoiceAmount = Convert.ToDouble(itemInvoiceDetail.InvoiceAmount), }; if (itemInvoiceDetail.ActualQuantity.HasValue) { objInvoiceDetail.ActualQuantity = itemInvoiceDetail.ActualQuantity.Value; } if (itemInvoiceDetail.InvoiceDate.HasValue) { objInvoiceDetail.InvoiceDate = itemInvoiceDetail.InvoiceDate.Value; } if (itemInvoiceDetail.InvoiceDetailId.HasValue) { objInvoiceDetail.InvoiceDetailId = itemInvoiceDetail.InvoiceDetailId.Value; } if (itemInvoiceDetail.InvoiceId.HasValue) { objInvoiceDetail.InvoiceId = itemInvoiceDetail.InvoiceId.Value; } if (itemInvoiceDetail.InvoiceQuantity.HasValue) { objInvoiceDetail.InvoiceQuantity = itemInvoiceDetail.InvoiceQuantity.Value; } if (itemInvoiceDetail.ItemNumber.HasValue) { objInvoiceDetail.ItemNumber = Convert.ToInt32(itemInvoiceDetail.ItemNumber.Value); } if (itemInvoiceDetail.NumberOfPackages.HasValue) { objInvoiceDetail.NumberOfPackages = itemInvoiceDetail.NumberOfPackages.Value; } if (itemInvoiceDetail.IncentiveDate.HasValue) { objInvoiceDetail.IncentiveDate = itemInvoiceDetail.IncentiveDate.Value; } objInvoice.InvoiceDetailList.Add(objInvoiceDetail); foreach (var itemInvoiceTcgbDetail in obj.VwWsWorkOrderInvoiceDetailsTcgb) { var objInvoicetcgbDetail = new InvoiceDetailTcgbModel { Quantity = itemInvoiceTcgbDetail.Quantity, ItemNo = itemInvoiceTcgbDetail.ItemNo, DeclarationDate = itemInvoiceTcgbDetail.DeclarationDate, DeclarationNo = itemInvoiceTcgbDetail.DeclarationNo, Description = itemInvoiceTcgbDetail.Description, InvoiceDetailId = itemInvoiceTcgbDetail.InvoiceDetailId, InvoiceDetailTcgbId = itemInvoiceTcgbDetail.InvoiceDetailsTcgbId, }; if (objInvoiceDetail.InvoiceDetailTcgbList == null) { objInvoiceDetail.InvoiceDetailTcgbList = new List <InvoiceDetailTcgbModel>(); } if (objInvoicetcgbDetail.InvoiceDetailId == objInvoiceDetail.InvoiceDetailId) { objInvoiceDetail.InvoiceDetailTcgbList.Add(objInvoicetcgbDetail); } } } objMaster.InvoiceList.Add(objInvoice); } #if DEBUG //var xsSubmit = new XmlSerializer(typeof(WorkOrderMasterModel)); //var xml = string.Empty; //using (var sww = new StringWriter()) //using (var writer = XmlWriter.Create(sww)) //{ // xsSubmit.Serialize(writer, objMaster); // xml = sww.ToString(); //} #endif var client = new Service1Client(); var result = await client.SetWorkOrderMastersModelAsync(obj.VwWsWorkOrderMaster.UserNameWs, obj.VwWsWorkOrderMaster.PasswordWs, objMaster); return(Ok(result.ResultCode + "-" + result.ResultName)); } catch (Exception ex) { return(BadRequest(ex.Message)); } }
public async Task <string> SetWorkOrderMastersModel(int id) { try { #if DEBUG // id = 34; #endif var master = _uow.VwWsWorkOrderMaster.Single(x => x.StokCikisId == id); var invoices = _uow.VwWsWorkOrderInvoice.Search(x => x.StokCikisId == id); var invoiceDetails = _uow.VwWsWorkOrderInvoiceDetails.Search(x => x.StokCikisId == id); var invoiceDetailsTcgb = _uow.VwWsWorkOrderInvoiceDetailsTcgb.Search(x => x.StokCikisId == id); if (master == null) { return("Master kaydı null geldi. Bir sorun var!"); } var dto = new WorkOrderMasterModelDTO { VwWsWorkOrderMaster = new VwWsWorkOrderMasterDTO() { DeclarationType = master.DeclarationType, UserNameWs = master.UserNameWs, PasswordWs = master.PasswordWs, StokCikisId = master.StokCikisId, WorkOrderMasterId = master.WorkOrderMasterId, WorkOrderNo = master.WorkOrderNo }, VwWsWorkOrderInvoices = new List <VwWsWorkOrderInvoiceDTO>(), VwWsWorkOrderInvoiceDetails = new List <VwWsWorkOrderInvoiceDetailsDTO>(), VwWsWorkOrderInvoiceDetailsTcgb = new List <VwWsWorkOrderInvoiceDetailsTcgbDto>() }; foreach (var invoice in invoices) { dto.VwWsWorkOrderInvoices.Add(new VwWsWorkOrderInvoiceDTO() { AgentName = invoice.AgentName, AwbNo = invoice.AwbNo, Blno = invoice.Blno, ConsgnAddress = invoice.ConsgnAddress, ConsgnCity = invoice.ConsgnCity, ConsgnCountry = invoice.ConsgnCountry, ConsgnName = invoice.ConsgnName, ConsgnNo = invoice.ConsgnNo, ContainerNo = invoice.ContainerNo, Customs = invoice.Customs, DeliveryLocation = invoice.DeliveryLocation, EntryExitCustoms = invoice.EntryExitCustoms, FreightAmount = invoice.FreightAmount, FreightCurrency = invoice.FreightCurrency, GtbReferenceNo = invoice.GtbReferenceNo, Incoterms = invoice.Incoterms, InsuranceAmount = invoice.InsuranceAmount, InsuranceCurrency = invoice.InsuranceCurrency, InvoiceAmount = invoice.InvoiceAmount, InvoiceCurrency = invoice.InvoiceCurrency, InvoiceId = invoice.InvoiceId, PaymentMethod = invoice.PaymentMethod, PlateNo = invoice.PlateNo, SenderAddress = invoice.SenderAddress, SenderCity = invoice.SenderCity, SenderCountry = invoice.SenderCountry, SenderName = invoice.SenderName, SenderNo = invoice.SenderNo, StokCikisId = invoice.StokCikisId, TransptrName = invoice.TransptrName, VesselName = invoice.VesselName, WorkOrderMasterId = invoice.WorkOrderMasterId, WorkOrderNo = invoice.WorkOrderNo }); } foreach (var detail in invoiceDetails.OrderBy(x => x.ItemNumber)) { dto.VwWsWorkOrderInvoiceDetails.Add(new VwWsWorkOrderInvoiceDetailsDTO() { ActualQuantity = detail.ActualQuantity, CommclDesc = detail.CommclDesc, CountryOfOrigin = detail.CountryOfOrigin, DescGoods = detail.DescGoods, GrossWeight = detail.GrossWeight, HsCode = detail.HsCode, IncentiveLineNo = detail.IncentiveLineNo, IntrnlAgmt = detail.IntrnlAgmt, InvoiceAmount = detail.InvoiceAmount, InvoiceDate = detail.InvoiceDate, IncentiveDate = detail.IncentiveDate, InvoiceDetailId = detail.InvoiceDetailId, InvoiceId = detail.InvoiceId, InvoiceNo = detail.InvoiceNo, InvoiceQuantity = detail.InvoiceQuantity, ItemNumber = detail.ItemNumber, NetWeight = detail.NetWeight, NumberOfPackages = detail.NumberOfPackages, PkgType = detail.PkgType, ProducerCompany = detail.ProducerCompany, ProducerCompanyNo = detail.ProducerCompanyNo, ProductNo = detail.ProductNo, StokCikisId = detail.StokCikisId, Uom = detail.Uom, WorkOrderMasterId = detail.WorkOrderMasterId, WorkOrderNo = detail.WorkOrderNo, }); } foreach (var detailTcgb in invoiceDetailsTcgb) { dto.VwWsWorkOrderInvoiceDetailsTcgb.Add(new VwWsWorkOrderInvoiceDetailsTcgbDto() { StokCikisId = detailTcgb.StokCikisId, DeclarationDate = detailTcgb.DeclarationDate, DeclarationNo = detailTcgb.DeclarationNo, Description = detailTcgb.Description, InvoiceDetailId = detailTcgb.InvoiceDetailId, InvoiceDetailsTcgbId = detailTcgb.InvoiceDetailsTcgbId, ItemNo = detailTcgb.ItemNo, Quantity = detailTcgb.Quantity }); } var client = _clientFactory.CreateClient(); var content = JsonConvert.SerializeObject(dto); var ws = await client.PostAsync(WebServiceUrl, new StringContent(content, System.Text.Encoding.UTF8, "application/json")); ws.EnsureSuccessStatusCode(); var deger = (await ws.Content.ReadAsStringAsync()).ToString(); return(deger); } catch (Exception ex) { return(ex.Message); } }