public void Test_Write_Delete_CorrectState(string key) { var route = DocumentRoute.Create(TestContext.CurrentContext.Test.Name); var address = DocumentAddress.Create(route, key); var data = new byte[] { 1, 2, 3 }; // act1 using (var writeStream = store.GetWriteStream(address)) { writeStream.Write(data); } var keys1 = store.GetAddresses( route: route, options: DocumentSearchOption.TopLevelOnly ); var contains1 = store.ContainsAddress(address); // assert1 Assert.IsTrue(contains1); Assert.IsTrue(keys1.Contains(address)); // act2 store.Clear(); var keys2 = store.GetAddresses( route: route, options: DocumentSearchOption.TopLevelOnly ); var contains2 = store.ContainsAddress(address); // assert2 Assert.IsFalse(contains2); Assert.IsFalse(keys2.Contains(address)); }
async Task <IResult <T> > IDocumentStore.GetOrAddAsync <T>(DocumentAddress address, Func <DocumentAddress, Task <T> > addDataAsync) where T : class => await Function.ApplyArgs(store.GetOrAddAsync, address, addDataAsync) .Init(Catch <T>()) .Pipe(Retry <T>()) .Invoke() .ConfigureAwait(false);
private string GetFilePath(DocumentAddress address) { var path = Path.Combine( GetDirectoryPath(address.Route), address.Key.Encode() ); return(Path.ChangeExtension(path, fileExtension)); }
public IList <DocumentAddress> Select(DocumentAddress data) { IList <DocumentAddress> datos = new List <DocumentAddress>(); datos = GetHsql(data).List <DocumentAddress>(); if (!Factory.IsTransactional) { Factory.Commit(); } return(datos); }
public void Delete(DocumentAddress address) { var file = GetFilePath(address); if (!File.Exists(file)) { return; } File.Delete(file); }
public Stream GetReadStream(DocumentAddress address) { var file = GetFilePath(address); if (!File.Exists(file)) { throw new DocumentMissingException(address); } return(File.OpenRead(file)); }
public Stream GetWriteStream(DocumentAddress address) { var file = GetFilePath(address); var directory = new FileInfo(file).Directory; if (!directory.Exists) { directory.Create(); } return(File.OpenWrite(file)); }
public void Equals_Correct() { DocumentRoute route = DocumentRoute.Create("S1"); const string KEY_1 = "K1"; const string KEY_2 = "K2"; var address1 = DocumentAddress.Create(route, KEY_1); var address2 = DocumentAddress.Create(route, KEY_2); Assert.AreEqual(address1, address1); Assert.AreNotEqual(address1, address2); }
private void Update(DocumentAddress address) { // Arrange string random = new Random().Next(111111, 999999).ToString(CultureInfo.InvariantCulture); address.Firstname = random; // Act var result = ApiExplorer.DocumentAddresses.Update(address.Id, address); // Assert Assert.That(result, Is.Not.Null); Assert.That(result.Firstname, Is.EqualTo(random)); }
public void Test_Routing() { var routeRoot = DocumentRoute.Create(TestContext.CurrentContext.Test.Name); const string A = "<|.A.|>"; var routeA = DocumentRoute.Create(A).Prepend(routeRoot); const string B = "<|.B.|>"; var routeAB = DocumentRoute.Create(A, B).Prepend(routeRoot); var addressA1 = DocumentAddress.Create(routeA, Guid.NewGuid().ToString()); var addressAB2 = DocumentAddress.Create(routeAB, Guid.NewGuid().ToString()); var data = new byte[] { 1, 2, 3 }; using (var writeStream = store.GetWriteStream(addressA1)) { writeStream.Write(data); } using (var writeStream = store.GetWriteStream(addressAB2)) { writeStream.Write(data); } // A var addressesA = store.GetAddresses(routeA, DocumentSearchOption.TopLevelOnly); // A/* var addressesAPlus = store.GetAddresses(routeA, DocumentSearchOption.AllLevels); // A/B var addressesAB = store.GetAddresses(routeAB, DocumentSearchOption.TopLevelOnly); Assert.AreEqual( new DocumentAddress[] { addressA1 }, addressesA.ToArray() ); Assert.AreEqual( new DocumentAddress[] { addressA1, addressAB2 }, addressesAPlus.ToArray() ); Assert.AreEqual( new DocumentAddress[] { addressAB2 }, addressesAB.ToArray() ); }
private DocumentAddress GetBillAddress(Document doc, string addressCode, string customerCode, short AccnType) { DocumentAddress billAddress = null; AccountAddress accountAddress = new AccountAddress { Account = new Account { AccountCode = customerCode, BaseType = new AccountType { AccountTypeID = AccnType } }, ErpCode = addressCode }; accountAddress = WType.GetAccountAddress(accountAddress); if (accountAddress != null) { billAddress = new DocumentAddress(); billAddress.Document = doc; billAddress.DocumentLine = null; billAddress.Name = accountAddress.Name; billAddress.AddressLine1 = accountAddress.AddressLine1; billAddress.AddressLine2 = accountAddress.AddressLine2; billAddress.AddressLine3 = accountAddress.AddressLine3; billAddress.City = accountAddress.City; billAddress.State = accountAddress.State; billAddress.ZipCode = accountAddress.ZipCode; billAddress.Country = accountAddress.Country; billAddress.Phone1 = accountAddress.Phone1; billAddress.Phone2 = accountAddress.Phone2; billAddress.Phone3 = accountAddress.Phone3; billAddress.ContactPerson = accountAddress.ContactPerson; billAddress.AddressType = AddressType.Billing; billAddress.Email = accountAddress.Email; billAddress.CreationDate = DateTime.Now; billAddress.CreatedBy = WmsSetupValues.SystemUser; billAddress.ErpCode = addressCode; } return(billAddress); }
public void Test_RoundTripData_Equals() { var route = DocumentRoute.Create(TestContext.CurrentContext.Test.Name); var address = DocumentAddress.Create(route, Guid.NewGuid().ToString()); var data = new byte[] { 1, 2, 3 }; using (var writeStream = store.GetWriteStream(address)) { writeStream.Write(data); } var buffer = new byte[data.Length]; using (var readStream = store.GetReadStream(address)) { readStream.Read(buffer, 0, (int)readStream.Length); } Assert.AreEqual(buffer, data); }
private static DocumentAddress GetAddress(string path) { var fileName = Path .GetFileName(path); var segments = path .Split(Path.DirectorySeparatorChar) .Except(new[] { string.Empty, fileName }) .ToArray(); var route = DocumentRoute .Create(segments) .Decode(); var fileNameTrimmed = Path .GetFileNameWithoutExtension(fileName); var key = DocumentKey .Create(fileNameTrimmed) .Decode(); return(DocumentAddress .Create(route, key)); }
private DocumentAddress TranslateOut(DocumentAddress address) => address.MapRoute(translateOut);
private DocumentAddress TranslateIn(DocumentAddress address) => address.MapRoute(translateIn);
/// <summary> /// PUT api/IssuedInvoices/{id}/PurchaserDocumentAddress /// Method Updates contact informations of the purchaser. /// </summary> public DocumentAddress UpdatePurchaserDocumentAddress(int invoiceId, DocumentAddress address) { return(Put <DocumentAddress, DocumentAddress>(ResourceUrl + "/" + invoiceId + "/PurchaserDocumentAddress", address)); }
void View_CreateMergedDocument(object sender, EventArgs e) { if (string.IsNullOrEmpty(View.DtmDOB.Text)) { Util.ShowError("Date of Board DOB is required."); return; } if (string.IsNullOrEmpty(View.DtmIPS.Text)) { Util.ShowError("ExitIPS Date is required."); return; } //if (string.IsNullOrEmpty(View.UcPort.Text)) //{ // Util.ShowError("Delivery Port is required."); // return; //} if (View.CboShipTo.SelectedItem == null) { Util.ShowError("Ship to Address is required."); return; } AccountAddress curAddr = View.CboShipTo.SelectedItem as AccountAddress; /* string port="",voyage=""; if (View.CboExitIps.SelectedItem != null) { ShowData portAndVoyage = ((ShowData)View.CboExitIps.SelectedItem); string[] data = portAndVoyage.DataValue.Split(">>".ToCharArray()); try { if (portAndVoyage != null) { port = data[2].Trim(); voyage = data[4].Trim(); } } catch { } } */ Document document = new Document { DocType = new DocumentType { DocTypeID = SDocType.MergedSalesOrder }, CreatedBy = App.curUser.UserName, CreationDate = DateTime.Now, Location = App.curLocation, Company = App.curCompany, IsFromErp = true, CrossDocking = false, Date1 = DateTime.Now, UseAllocation = true, //Guarda el ShrtAge - BACKORDER OR CANCEL CustPONumber = "", //View.CboToDo.SelectedIndex == 0 ? ShortAge.BackOrder : ShortAge.Cancel, Customer = View.Model.Customer, Date3 = DateTime.Parse(View.DtmDOB.Text), //DOB Date4 = DateTime.Parse(View.DtmIPS.Text), //EXIT IPS Notes = View.RPort.Text, //port, //View.UcPort.Text, Reference = View.RVoyage.Text, //View.CboVoyage.SelectedItem != null ? ((ShowData)View.CboVoyage.SelectedItem).DataValue : "" Comment = View.TxtComments.Text }; //Address. DocumentAddress selectedAddress = new DocumentAddress { AddressLine1 = curAddr.AddressLine1, AddressLine2 = curAddr.AddressLine2, AddressLine3 = curAddr.AddressLine3, AddressType = AddressType.Shipping, City = curAddr.City, ContactPerson = curAddr.ContactPerson, Country = curAddr.Country, CreatedBy = App.curUser.UserName, CreationDate = DateTime.Now, Name = curAddr.Name, Phone1 = curAddr.Phone1, Phone2 = curAddr.Phone2, State = curAddr.State, ZipCode = curAddr.ZipCode }; try { document = service.CreateMergedDocument(document, View.Model.SelectedLines.ToList(), null, //View.Model.Pickers new List<DocumentAddress> { selectedAddress }); //Refresh document and line available. //LoadAccountDocuments(View.Model.Customer.AccountID, (View.ChkFilter.IsChecked == true ? true : false), false); ResetTab(); Util.ShowMessage("Merged Document #" + document.DocNumber + " was created.\nTo process document please go to Shipping Process."); } catch (Exception ex) { Util.ShowError("Document could not be created.\n" + ex.Message); } try { //Open PickTicket for Merged Order. - Document to print UtilWindow.ShowDocument(document.DocType.Template, document.DocID, "", false); } catch (Exception ex) { Util.ShowError("Pick Ticket could not be displayed.\n" + ex.Message); } }
public DocumentAddress SaveDocumentAddress(DocumentAddress data) { try { SetService(); return SerClient.SaveDocumentAddress(data); } finally { SerClient.Close(); if (SerClient.State == CommunicationState.Faulted) SerClient.Abort(); } }
/// <summary> /// PUT api/Receivedinvoices/{id}/MyDocumentAddress /// Method Updates contact informations of the purchaser. /// </summary> public async Task <DocumentAddress> UpdateMyDocumentAddressAsync(int invoiceId, DocumentAddress documentAddress) { return(await PutAsync <DocumentAddress, DocumentAddress>(ResourceUrl + "/" + invoiceId + "/MyDocumentAddress", documentAddress)); }
public Stream GetWriteStream(DocumentAddress address) => source.GetWriteStream(TranslateIn(address));
/// <summary> /// PUT api/Receivedinvoices/{id}/MyDocumentAddress /// Method Updates contact informations of the purchaser. /// </summary> public DocumentAddress UpdateMyDocumentAddress(int invoiceId, DocumentAddress documentAddress) { return(Put <DocumentAddress, DocumentAddress>(ResourceUrl + "/" + invoiceId + "/MyDocumentAddress", documentAddress)); }
public bool ContainsAddress(DocumentAddress address) => File.Exists(GetFilePath(address));
void View_CreateMergedDocument(object sender, EventArgs e) { if (View.CboShipTo.SelectedItem == null) { Util.ShowError("Ship to Address is required."); return; } AccountAddress curAddr = View.CboShipTo.SelectedItem as AccountAddress; Document document; if (View.Model.CurOpenDoc == null || View.Model.CurOpenDoc.DocID == 0) { document = new Document { DocType = new DocumentType { DocTypeID = SDocType.MergedSalesOrder }, CreatedBy = App.curUser.UserName, CreationDate = DateTime.Now, Location = App.curLocation, Company = App.curCompany, IsFromErp = true, CrossDocking = false, Date1 = DateTime.Now, UseAllocation = true, //Guarda el ShrtAge - BACKORDER OR CANCEL CustPONumber = "", //View.CboToDo.SelectedIndex == 0 ? ShortAge.BackOrder : ShortAge.Cancel, Customer = View.Model.Customer, Comment = View.TxtComments.Text, UserDef1 = curAddr.AddressID.ToString() }; } else { document = View.Model.CurOpenDoc; document.Comment = View.TxtComments.Text; document.UserDef1 = curAddr.AddressID.ToString(); } //Address. DocumentAddress selectedAddress = new DocumentAddress { AddressLine1 = curAddr.AddressLine1, AddressLine2 = curAddr.AddressLine2, AddressLine3 = curAddr.AddressLine3, AddressType = AddressType.Shipping, City = curAddr.City, ContactPerson = curAddr.ContactPerson, Country = curAddr.Country, CreatedBy = App.curUser.UserName, CreationDate = DateTime.Now, Name = curAddr.Name, Phone1 = curAddr.Phone1, Phone2 = curAddr.Phone2, State = curAddr.State, ZipCode = curAddr.ZipCode }; try { document = service.CreateMergedDocumentV2(document, View.Model.SelectedLines.ToList(), null, //View.Model.Pickers new List<DocumentAddress> { selectedAddress }); View.Model.CurOpenDoc = document; View.Model.SelectedLines = service.GetDocumentLine(new DocumentLine { Document = new Document { DocID = View.Model.CurOpenDoc.DocID } }); View.DgSelected.Items.Refresh(); View.ExpAddinfo.IsEnabled = true; ResetTab(); Util.ShowMessage("Merged Document #" + document.DocNumber + " was saved.\nTo process document please go to Shipping Process."); } catch (Exception ex) { Util.ShowError("Document could not be saved.\n" + ex.Message); } }
private void ProcessDocuments(IList <Document> list, Company company) { if (list == null) { return; } Document qDoc; DocumentLine curLine; Factory.Commit(); Factory.IsTransactional = true; Status cancell = WType.GetStatus(new Status { StatusID = DocStatus.Cancelled }); string flag = ""; //pregunta si sobre escribe las cantidades ya guardadas con las nuevas del ERP string overWriteQtys = "T"; try { overWriteQtys = GetCompanyOption(company, "OVERWQTY"); } catch { overWriteQtys = "T"; } int i, y; foreach (Document e in list) { try { flag = "Document"; qDoc = new Document { DocNumber = e.DocNumber, //DocType = new DocumentType { DocTypeID = e.DocType.DocTypeID }, Company = new Company { CompanyID = e.Company.CompanyID } }; //Evalua si el documento ya existe IList <Document> exList = Factory.DaoDocument().Select(qDoc); e.ModDate = DateTime.Now; e.ModifiedBy = WmsSetupValues.SystemUser; Factory.Commit(); //Si No existe if (exList.Count == 0) { e.CreationDate = DateTime.Now; e.CreatedBy = string.IsNullOrEmpty(e.CreatedBy) ? WmsSetupValues.SystemUser : e.CreatedBy; Factory.DaoDocument().Save(e); Factory.Commit(); } else { //Si el documento esta completado no puede ser actualizado por el DEL ERP //13 Oct 2009 //if (exList.First().DocStatus.StatusID == DocStatus.Completed) //continue; //Si el last change del document e sdiferente de nulo y no es mayor al ultimo las change if (exList.First().LastChange != null && exList.First().LastChange >= e.LastChange) { continue; } //Console.WriteLine("Document:" + e.DocNumber); //Valores que no pueden cambiar asi se reciban de nuevo del ERP e.DocID = exList.First().DocID; e.CreationDate = exList.First().CreationDate; e.CreatedBy = exList.First().CreatedBy; e.Priority = exList.First().Priority; e.Notes = exList.First().Notes; e.CrossDocking = exList.First().CrossDocking; if (!string.IsNullOrEmpty(exList.First().Comment)) { e.Comment = exList.First().Comment; } e.PickMethod = exList.First().PickMethod; e.AllowPartial = exList.First().AllowPartial; e.ModDate = DateTime.Now; e.ModifiedBy = e.CreatedBy; //Conserva el status si el actual es mayor al que viene del el ERP. if (exList.First().DocStatus.StatusID > e.DocStatus.StatusID) { e.DocStatus = exList.First().DocStatus; } flag = "Address"; #region DocAddress if (e.DocumentAddresses != null) { //Evaluar los document Address i = 0; DocumentAddress curAddr; foreach (DocumentAddress addr in e.DocumentAddresses) { curAddr = new DocumentAddress(); curAddr.Document = new Document { DocID = e.DocID }; curAddr.Name = addr.Name; curAddr.DocumentLine = new DocumentLine { LineID = -1 }; IList <DocumentAddress> listAddrs = Factory.DaoDocumentAddress().Select(curAddr); Factory.Commit(); if (listAddrs.Count > 0) { e.DocumentAddresses[i].ModDate = DateTime.Now; e.DocumentAddresses[i].ModifiedBy = WmsSetupValues.SystemUser; e.DocumentAddresses[i].RowID = listAddrs.First().RowID; e.DocumentAddresses[i].CreationDate = listAddrs.First().CreationDate; e.DocumentAddresses[i].CreatedBy = listAddrs.First().CreatedBy; } else { e.DocumentAddresses[i].CreationDate = DateTime.Now; e.DocumentAddresses[i].CreatedBy = WmsSetupValues.SystemUser; } i++; } } //Factory.DaoDocument().Update(e); #endregion flag = "Lines"; //Evaluar los document Lines #region DocLines if (e.DocumentLines != null) { IList <DocumentLine> currentLines = Factory.DaoDocumentLine().Select(new DocumentLine { Document = new Document { DocID = e.DocID } }); //Elimina la lineas que no sean de procesos originale del ERP //Para recrealas en pasos posteriores if (currentLines != null && currentLines.Count > 0) { //foreach (DocumentLine curxLine in currentLines.Where(f=>f.Note != "1" && f.Note != "2" && f.LinkDocLineNumber == 0 )) foreach (DocumentLine curxLine in currentLines.Where(f => f.LinkDocLineNumber <= 0)) { //Borra las lineas que no existan ya y que no sean de tipo kit assembly. //if (!e.DocumentLines.Any(f => f.LineNumber == curxLine.LineNumber || ((f.Note == "1" || f.Note == "2") && f.LinkDocLineNumber > 0))) //Console.WriteLine("\t" + curxLine.LineNumber); if (!e.DocumentLines.Any(f => f.LineNumber == curxLine.LineNumber)) { //if (curxLine.Note != "1" && curxLine.Note != "2" && curxLine.LinkDocLineNumber == 0) Factory.DaoDocumentLine().Delete(curxLine); //Console.WriteLine("\tDeleted " + curxLine.LineNumber); } //curxLine.LineStatus = cancell; //Factory.DaoDocumentLine().Update(curxLine); } Factory.Commit(); } i = 0; IList <DocumentLine> linesToRemove = new List <DocumentLine>(); foreach (DocumentLine line in e.DocumentLines) { curLine = new DocumentLine { Document = new Document { DocID = e.DocID }, LineNumber = line.LineNumber }; IList <DocumentLine> listLines = Factory.DaoDocumentLine().Select(curLine); Factory.Commit(); //Console.WriteLine(e.DocNumber + "," + e.DocID + "," + line.LineNumber + "," + listLines.Count.ToString()); if (listLines.Count > 0) { //if (listLines.First().LineStatus.StatusID == DocStatus.InProcess || listLines.First().LineStatus.StatusID == DocStatus.Completed) if (listLines.First().LineStatus.StatusID != DocStatus.New) { linesToRemove.Add(e.DocumentLines[i]); i++; continue; } e.DocumentLines[i].ModDate = DateTime.Now; e.DocumentLines[i].ModifiedBy = WmsSetupValues.SystemUser; e.DocumentLines[i].LineID = listLines.First().LineID; e.DocumentLines[i].CreationDate = listLines.First().CreationDate; e.DocumentLines[i].CreatedBy = listLines.First().CreatedBy; e.DocumentLines[i].QtyShipped = listLines.First().QtyShipped; e.DocumentLines[i].LinkDocLineNumber = listLines.First().LinkDocLineNumber; e.DocumentLines[i].LinkDocNumber = listLines.First().LinkDocNumber; if (overWriteQtys.Equals("F")) { if (e.DocumentLines[i].QtyAllocated > 0 && listLines.First().QtyAllocated == 0) { e.DocumentLines[i].QtyAllocated = listLines.First().QtyAllocated; } if (e.DocumentLines[i].QtyBackOrder > 0 && listLines.First().QtyBackOrder == 0) { e.DocumentLines[i].QtyBackOrder = listLines.First().QtyBackOrder; } if (e.DocumentLines[i].QtyCancel > 0 && listLines.First().QtyCancel == 0) { e.DocumentLines[i].QtyCancel = listLines.First().QtyCancel; } } #region Document Line Address //Evaluar los document Line Address if (line.DocumentLineAddresses != null) { y = 0; DocumentAddress curLineAddr; foreach (DocumentAddress lineAddr in line.DocumentLineAddresses) { curLineAddr = new DocumentAddress(); curLineAddr.Document = new Document { DocID = line.Document.DocID }; curLineAddr.DocumentLine = line; curLineAddr.Name = lineAddr.Name; IList <DocumentAddress> listLineAddrs = Factory.DaoDocumentAddress().Select(curLineAddr); Factory.Commit(); if (listLineAddrs.Count > 0) { line.DocumentLineAddresses[y].ModDate = DateTime.Now; line.DocumentLineAddresses[y].ModifiedBy = WmsSetupValues.SystemUser; line.DocumentLineAddresses[y].RowID = listLineAddrs.First().RowID; line.DocumentLineAddresses[y].CreationDate = listLineAddrs.First().CreationDate; line.DocumentLineAddresses[y].CreatedBy = listLineAddrs.First().CreatedBy; } else { line.DocumentLineAddresses[y].CreationDate = DateTime.Now; line.DocumentLineAddresses[y].CreatedBy = WmsSetupValues.SystemUser; } y++; } } #endregion } else { e.DocumentLines[i].CreationDate = DateTime.Now; e.DocumentLines[i].CreatedBy = WmsSetupValues.SystemUser; } i++; } //Remueve las lineas que no van a ser procesadas. foreach (DocumentLine lr in linesToRemove) { e.DocumentLines.Remove(lr); } } #endregion flag = "Update Document"; Factory.DaoDocument().Update(e); Factory.Commit(); } flag = "Explode Kit"; //Incluido Mayo 14 de 2009 Evalua si el documento de Venta tiene lineas de assembly y debe mostrar //Los componentes //e.DocType.DocClass.DocClassID == SDocClass.Shipping - Removido ON Sep 17/09 //Console.WriteLine("\tDocument Before Explode:" + e.DocNumber); if (e.DocType.DocTypeID == SDocType.SalesOrder && GetCompanyOption(e.Company, "SHOWCOMP").Equals("T")) { //Console.WriteLine("\tDocument Explode:" + e.DocNumber); ExplodeKitAssemblyComponents(e, true); } //Incluido Mayo 26 de 2009 Evalua si el documento de Return tiene lineas de assembly y debe mostrar //Los componentes, pero no recibirlos, recibe el asembli, por eso el parametro en false. if (e.DocType.DocTypeID == SDocType.Return && GetCompanyOption(e.Company, "RETURNCOMP").Equals("T")) { ExplodeKitAssemblyComponents(e, false); } } catch (Exception ex) { Factory.Rollback(); if (e.DocType.DocTypeID != SDocType.KitAssemblyTask) //&& !ex.Message.Contains("Problem updating the record.") { ExceptionMngr.WriteEvent("ProcessDocuments:" + flag + ":" + e.DocNumber, ListValues.EventType.Fatal, ex, null, ListValues.ErrorCategory.Business); } //throw; } } }
//Obtiene el detalle de label y entrega el dataset public static DataSet GetReportDataset(IList <Label> labelList, int quantity) { try { ReportDetailFormat detail; IList <ReportDetailFormat> detailList = new List <ReportDetailFormat>(); //string barcodeURL = App.curCompany.WebURL + "/"+ WmsSetupValues.BarcodeDir + "/"; //int i = 1; string notes = ""; int seq = 1; foreach (Label label in labelList) { detail = new ReportDetailFormat(); if (label.Product != null) { detail.ProductCode = label.Product.ProductCode; detail.ProductDescription = label.Product.Name; detail.Weight = label.Product.Weight * label.StartQty; } notes = (label.Notes != null) ? label.Notes : ""; if (label.Printed == true) { try { detail.Unit = notes.Split(',')[0].Trim(); } catch { } detail.QtyOrder = label.StartQty; //Aqui guardan las logisitcas las hijas que contienen unas vez se imprimen } else { detail.Unit = label.Unit.Name; detail.QtyOrder = label.CurrQty; } //detail.BarcodeProduct = label.Product.ProductCode; detail.BarcodeLabel = label.Barcode; detail.Lote = (label.LotCode != null) ? label.LotCode : ""; detail.Date1 = (label.ExpirationDate != null) ? label.ExpirationDate.Value.ToShortDateString() : ""; detail.Printed = DateTime.Today.ToString("MM/dd/yyyy hh:mm:ss"); detail.Serial = (label.SerialNumber != null) ? label.SerialNumber : ""; detail.Notes = notes; detail.PrintLot = (label.PrintingLot != null) ? label.PrintingLot : ""; detail.UserName = label.CreatedBy; detail.LogisticNote = ""; // (label.IsLogistic == true) ? "** LOGISTIC **" : ""; //Si el Label es de tipo Custom Label, Ejecuta un proceso adicional. //JM 10 de Junio de 2009 if (label.LabelType.DocTypeID == LabelType.CustomerLabel) { //For Packages detail.DocNumber = (label.ShippingDocument != null) ? label.ShippingDocument.DocNumber : ""; //Sequence try { detail.PrintLot = seq.ToString() + " / " + labelList.Count(); } catch { } //Weight try { detail.Weight = label.DocumentPackages[0].Weight; } catch { } //Dimemsion try { detail.Dimension = label.DocumentPackages[0].Dimension; } catch { } //Pieces try { detail.Pieces = label.DocumentPackages[0].Pieces; } catch { } //Shipping Address try { DocumentAddress shipAddr = (new WMSServiceClient()).GetDocumentAddress( new DocumentAddress { Document = label.ShippingDocument, AddressType = AddressType.Shipping }) .Where(f => f.DocumentLine == null).First(); detail.ContactPerson = shipAddr.Name; //shipAddr.ContactPerson; //detail.ShipAddress = shipAddr.Name + "\n"; detail.ShipAddress = shipAddr.AddressLine1 + " " + shipAddr.AddressLine2 + "\n"; detail.ShipAddress += shipAddr.City + ", " + shipAddr.State + " " + shipAddr.ZipCode + ", "; detail.ShipAddress += shipAddr.Country + "\n"; detail.ShipAddress += shipAddr.ContactPerson; } catch { } } detailList.Add(detail); seq++; //if (i++ >= quantity) // break; } //Add Header to DataSet XmlSerializer xmlSerializer; StringWriter writer = new StringWriter(); DataSet dd = new DataSet("Details"); xmlSerializer = new XmlSerializer(detailList.ToArray().GetType()); // detailList.GetType() xmlSerializer.Serialize(writer, detailList.ToArray()); StringReader reader = new StringReader(writer.ToString()); dd.ReadXml(reader); dd.Tables[0].TableName = "Details"; return(dd); } catch { return(null); } }
public void DeleteDocumentAddress(DocumentAddress data) { try { SetService(); SerClient.DeleteDocumentAddress(data); } finally { SerClient.Close(); if (SerClient.State == CommunicationState.Faulted) SerClient.Abort(); } }
public void Delete(DocumentAddress address) => source.Delete(TranslateIn(address));
/// <summary> /// PUT api/Receivedinvoices/{id}/SupplierPurchaserDocumentAddress /// Method Updates contact informations of the supplier. /// </summary> public DocumentAddress UpdateSupplierPurchaserDocumentAddress(int invoiceId, DocumentAddress documentAddress) { return(Put <DocumentAddress, DocumentAddress>(ResourceUrl + "/" + invoiceId + "/SupplierPurchaserDocumentAddress", documentAddress)); }
public bool ContainsAddress(DocumentAddress address) => source.ContainsAddress(TranslateIn(address));
/// <summary> /// PUT api/DocumentAddresses/{id} /// Method updates contact information on the invoice by DocumentAddressId. /// </summary> public DocumentAddress Update(int documentAddressId, DocumentAddress model) { return(Put <DocumentAddress, DocumentAddress>(ResourceUrl + "/" + documentAddressId, model)); }
/// <summary> /// PUT api/IssuedInvoices/{id}/PurchaserDocumentAddress /// Method Updates contact informations of the purchaser. /// </summary> public async Task <DocumentAddress> UpdatePurchaserDocumentAddressAsync(int invoiceId, DocumentAddress address) { return(await PutAsync <DocumentAddress, DocumentAddress>(ResourceUrl + "/" + invoiceId + "/PurchaserDocumentAddress", address)); }
public DataChannel(IDataStore router, DocumentAddress address) { this.store = router ?? throw new ArgumentNullException(nameof(router)); this.address = address; }
async Task <IResult <Unit> > IDocumentStore.PutAsync <T>(DocumentAddress address, T data) where T : class => await Function.ApplyArgs(store.PutAsync, address, data) .Init(Catch <Unit>()) .Pipe(Retry <Unit>()) .Invoke() .ConfigureAwait(false);
void IDataStore.Delete(DocumentAddress address) =>