private void AddTrackOption(TrackOption trackOption) { if (trackOption == null) { return; } try { ProductTrackRelation relation = new ProductTrackRelation { Product = View.Model.Record, TrackOption = trackOption, IsRequired = false, IsUnique = (trackOption.IsUnique == null) ? false : trackOption.IsUnique, CreatedBy = App.curUser.UserName, CreationDate = DateTime.Today }; relation = service.SaveProductTrackRelation(relation); if (View.Model.AllowTrack == null) { View.Model.AllowTrack = new List <ProductTrackRelation>(); } View.Model.AllowTrack.Insert(0, relation); View.Model.AvailableTrack.Remove(trackOption); } catch (Exception ex) { throw ex; } }
public IList <long> GetRecordWithoutTrackOption(Document document, ProductTrackRelation productTrack, Node node) { string sqlbase = "select l.LabelID from Trace.NodeTrace n INNER JOIN Trace.Document d ON n.DocID = d.DocID AND n.DocID = :id2 " + " INNER JOIN Trace.Label l ON n.LabelID = l.LabelID AND l.ProductID = :id6" + " LEFT OUTER JOIN Trace.LabelTrackOption t ON l.LabelId = t.LabelID AND t.TrackOptionID = :id8" + " WHERE n.NodeID = :nd1 AND (t.TrackValue IS NULL OR LTRIM(RTRIM(t.TrackValue)) = '')"; StringBuilder sql = new StringBuilder(sqlbase); if (productTrack != null) { Parms = new List <Object[]>(); Parms.Add(new Object[] { "nd1", node.NodeID }); if (document != null && document.DocID != 0) { Parms.Add(new Object[] { "id2", document.DocID }); } Parms.Add(new Object[] { "id6", productTrack.Product.ProductID }); Parms.Add(new Object[] { "id8", productTrack.TrackOption.RowID }); } sql = new StringBuilder(sql.ToString()); IQuery query = Factory.Session.CreateSQLQuery(sql.ToString()); SetParameters(query); return(query.SetMaxResults(1).List <long>()); }
private void RemoveTrackOption() { if (View.LvAssignedTrack.SelectedItems == null) { return; } ProductTrackRelation pTrack = null; string msg = ""; foreach (Object obj in View.LvAssignedTrack.SelectedItems) { try { pTrack = (ProductTrackRelation)obj; View.Model.AllowTrack.Remove((ProductTrackRelation)obj); service.DeleteProductTrackRelation(pTrack); } catch (Exception ex) { msg += "Error trying to delete Track Option: " + pTrack.TrackOption.DisplayName + ". " + ex.Message; } } if (!string.IsNullOrEmpty(msg)) { Util.ShowError(msg); } LoadTrackOptions(); }
public IList <ProductTrackRelation> Select(ProductTrackRelation data) { IList <ProductTrackRelation> datos = new List <ProductTrackRelation>(); datos = GetHsql(data).List <ProductTrackRelation>(); if (!Factory.IsTransactional) { Factory.Commit(); } return(datos); }
private IList <ProductTrackRelation> GetProductTrack(int trackOption, Product product) { if (trackOption != 2 && trackOption != 3) { return(null); } ProductTrackRelation pTrack = null; IList <ProductTrackRelation> list = new List <ProductTrackRelation>(); if (trackOption == 2) //Serial Number { pTrack = new ProductTrackRelation { CreatedBy = WmsSetupValues.SystemUser, CreationDate = DateTime.Now, DisplayName = null, Product = product, IsRequired = true, IsUnique = true, TrackOption = new TrackOption { RowID = STrackOptions.SerialNumber } }; list.Add(pTrack); } if (trackOption == 3) //LotCode { pTrack = new ProductTrackRelation { CreatedBy = WmsSetupValues.SystemUser, CreationDate = DateTime.Now, DisplayName = null, Product = product, IsRequired = true, IsUnique = false, TrackOption = new TrackOption { RowID = STrackOptions.LotCode } }; list.Add(pTrack); } return(list); }
public override IQuery GetHsql(Object data) { StringBuilder sql = new StringBuilder("select a from ProductTrackRelation a where "); ProductTrackRelation productTrack = (ProductTrackRelation)data; if (productTrack != null) { Parms = new List <Object[]>(); if (productTrack.RowID != 0) { sql.Append(" a.RowID = :id and "); Parms.Add(new Object[] { "id", productTrack.RowID }); } if (productTrack.TrackOption != null && !string.IsNullOrEmpty(productTrack.TrackOption.Name)) { sql.Append(" a.TrackOption.Name = :idn and "); Parms.Add(new Object[] { "idn", productTrack.TrackOption.Name }); } if (productTrack.Product != null && productTrack.Product.ProductID != 0) { sql.Append(" a.Product.ProductID = :id1 and "); Parms.Add(new Object[] { "id1", productTrack.Product.ProductID }); } if (productTrack.TrackOption != null && productTrack.TrackOption.RowID != 0) { sql.Append(" a.TrackOption.RowID = :id2 and "); Parms.Add(new Object[] { "id2", productTrack.TrackOption.RowID }); } if (!String.IsNullOrEmpty(productTrack.DisplayName)) { sql.Append(" a.DisplayName = :nom1 and "); Parms.Add(new Object[] { "nom1", "%" + productTrack.DisplayName + "%" }); } if (productTrack.IsRequired == true) { sql.Append(" a.IsRequired = :nom7 and "); Parms.Add(new Object[] { "nom7", true }); } else if (productTrack.IsRequired == false) { sql.Append(" a.IsRequired = :nom7 and "); Parms.Add(new Object[] { "nom7", false }); } if (productTrack.IsUnique == true) { sql.Append(" a.IsUnique = :nom8 and "); Parms.Add(new Object[] { "nom8", true }); } else if (productTrack.IsUnique == false) { sql.Append(" a.IsUnique = :nom8 and "); Parms.Add(new Object[] { "nom8", false }); } } sql = new StringBuilder(sql.ToString()); sql.Append(" 1=1 order by a.RowID asc "); IQuery query = Factory.Session.CreateQuery(sql.ToString()); SetParameters(query); return(query); }
public ProductTrackRelation SelectById(ProductTrackRelation data) { return((ProductTrackRelation)base.SelectById(data)); }
public Boolean Delete(ProductTrackRelation data) { return(base.Delete(data)); }
public Boolean Update(ProductTrackRelation data) { return(base.Update(data)); }
public ProductTrackRelation Save(ProductTrackRelation data) { return((ProductTrackRelation)base.Save(data)); }
private void ProcessProducts(IList <Product> list) { if (list == null) { return; } Product qProd = null; UnitProductRelation curUnit; ProductTrackRelation curRecord; ProductAccountRelation curPvendor; foreach (Product e in list) { try { qProd = new Product(); qProd.Company = e.Company; qProd.ProductCode = e.ProductCode; //Evalua si el elemento ya existe IList <Product> exList = Factory.DaoProduct().Select(qProd, 0); e.ModDate = DateTime.Now; e.ModifiedBy = WmsSetupValues.SystemUser; if (exList.Count == 0) { e.CreationDate = DateTime.Now; e.CreatedBy = WmsSetupValues.SystemUser; Factory.DaoProduct().Save(e); } else { e.ProductID = exList.First().ProductID; e.CreatedBy = exList.First().CreatedBy; e.CreationDate = exList.First().CreationDate; //Otros datos del producto que deben preservarse e.UpcCode = exList.First().UpcCode; e.Reference = exList.First().Reference; e.Manufacturer = exList.First().Manufacturer; e.IsBinRestricted = exList.First().IsBinRestricted; e.Comment = exList.First().Comment; //e.AlternateCode1 = exList.First().AlternateCode1; //e.AlternateCode2 = exList.First().AlternateCode2; e.PrintLabel = exList.First().PrintLabel; e.UnitsPerPack = exList.First().UnitsPerPack; e.PickMethod = exList.First().PickMethod; e.DefaultTemplate = exList.First().DefaultTemplate; e.DefVendorNumber = exList.First().DefVendorNumber; //Evaluar los UnitRelations int i = 0; foreach (UnitProductRelation line in e.ProductUnits) { curUnit = new UnitProductRelation(); curUnit.Product = line.Product; curUnit.UnitErpCode = line.UnitErpCode; curUnit.Unit = line.Unit; IList <UnitProductRelation> listLines = Factory.DaoUnitProductRelation().Select(curUnit); if (listLines.Count > 0) { e.ProductUnits[i].RowID = listLines.First().RowID; e.ProductUnits[i].CreationDate = listLines.First().CreationDate; e.ProductUnits[i].CreatedBy = listLines.First().CreatedBy; e.ProductUnits[i].ModDate = DateTime.Now; e.ProductUnits[i].ModifiedBy = WmsSetupValues.SystemUser; } else { e.ProductUnits[i].CreationDate = DateTime.Now; e.ProductUnits[i].CreatedBy = WmsSetupValues.SystemUser; } i++; } //Evaluar los ProductTrackOptions if (e.ProductTrack != null) { int y = 0; foreach (ProductTrackRelation line in e.ProductTrack) { curRecord = new ProductTrackRelation(); curRecord.Product = line.Product; curRecord.TrackOption = line.TrackOption; IList <ProductTrackRelation> trackLines = Factory.DaoProductTrackRelation().Select(curRecord); if (trackLines.Count > 0) { e.ProductTrack[y].RowID = trackLines.First().RowID; e.ProductTrack[y].CreationDate = trackLines.First().CreationDate; e.ProductTrack[y].CreatedBy = trackLines.First().CreatedBy; e.ProductTrack[y].ModDate = DateTime.Now; e.ProductTrack[y].ModifiedBy = WmsSetupValues.SystemUser; } else { e.ProductTrack[y].CreationDate = DateTime.Now; e.ProductTrack[y].CreatedBy = WmsSetupValues.SystemUser; } y++; } } //Evaluar los ProductVendor try { IList <ProductAccountRelation> pAlt = Factory.DaoProductAccountRelation() .Select(new ProductAccountRelation { IsFromErp = true, Product = new Product { ProductID = e.ProductID } });; if (pAlt != null && pAlt.Count > 0) { foreach (ProductAccountRelation pax in pAlt) { Factory.DaoProductAccountRelation().Delete(pax); } } } catch { } if (e.ProductAccounts != null) { int y = 0; foreach (ProductAccountRelation line in e.ProductAccounts) { curPvendor = new ProductAccountRelation(); curPvendor.Product = line.Product; curPvendor.Account = line.Account; curPvendor.ItemNumber = line.ItemNumber; IList <ProductAccountRelation> pVendLines = Factory.DaoProductAccountRelation().Select(curPvendor); if (pVendLines.Count > 0) { e.ProductAccounts[y].RowID = pVendLines.First().RowID; e.ProductAccounts[y].CreationDate = pVendLines.First().CreationDate; e.ProductAccounts[y].CreatedBy = pVendLines.First().CreatedBy; e.ProductAccounts[y].ModDate = DateTime.Now; e.ProductAccounts[y].ModifiedBy = WmsSetupValues.SystemUser; } else { e.ProductAccounts[y].CreationDate = DateTime.Now; e.ProductAccounts[y].CreatedBy = WmsSetupValues.SystemUser; } y++; } } //Evaluar los ProductAlternate //ProductAlternate curAlt; /* * try * { * IList<ProductAlternate> pAlt = Factory.DaoProductAlternate() * .Select(new ProductAlternate { IsFromErp = true, Product = new Product { ProductID = e.ProductID } }); * * if (pAlt != null && pAlt.Count > 0) * foreach (ProductAlternate pax in pAlt) * try { Factory.DaoProductAlternate().Delete(pax); } * catch (Exception ex) { Console.WriteLine("PA:" + ex.Message); } * } * catch { } */ if (e.AlternProducts != null) { int y = 0; foreach (ProductAlternate line in e.AlternProducts) { e.AlternProducts[y].CreationDate = DateTime.Now; e.AlternProducts[y].CreatedBy = WmsSetupValues.SystemUser; y++; try { ProductAlternate exist = Factory.DaoProductAlternate() .Select(new ProductAlternate { AlternProduct = new Product { ProductID = line.AlternProduct.ProductID }, Product = new Product { ProductID = e.ProductID } }).First(); Factory.DaoProductAlternate().Delete(exist); } catch { } //curAlt = new ProductAlternate(); //curAlt.Product = line.Product; //curAlt.AlternProduct = line.AlternProduct; } } Factory.DaoProduct().Update(e); } } catch (Exception ex) { //Factory.Rollback(); ExceptionMngr.WriteEvent("ProcessProducts:" + qProd.ProductCode, ListValues.EventType.Fatal, ex, null, ListValues.ErrorCategory.Business); ////throw; } } }
public void UpdateProductTrackRelation(ProductTrackRelation data) { try { SetService(); SerClient.UpdateProductTrackRelation(data); } finally { SerClient.Close(); if (SerClient.State == CommunicationState.Faulted) SerClient.Abort(); } }
public IList<ProductTrackRelation> GetProductTrackRelation(ProductTrackRelation data) { try { SetService(); return SerClient.GetProductTrackRelation(data); } finally { SerClient.Close(); if (SerClient.State == CommunicationState.Faulted) SerClient.Abort(); } }
private void AddTrackOption(TrackOption trackOption) { if (trackOption == null) return; try { ProductTrackRelation relation = new ProductTrackRelation { Product = View.Model.Record, TrackOption = trackOption, IsRequired = false, IsUnique = (trackOption.IsUnique == null) ? false : trackOption.IsUnique, CreatedBy = App.curUser.UserName, CreationDate = DateTime.Today }; relation = service.SaveProductTrackRelation(relation); if (View.Model.AllowTrack == null) View.Model.AllowTrack = new List<ProductTrackRelation>(); View.Model.AllowTrack.Insert(0, relation); View.Model.AvailableTrack.Remove(trackOption); } catch (Exception ex) { throw ex; } }