/* * void View_UnSetIsMain(object sender, DataEventArgs<object> e) * { * //En el objeto viene el Row ID a Setear. * if (e.Value == null) * return; * * ProductAccountRelation pa = new ProductAccountRelation * { * RowID = int.Parse(e.Value.ToString()), * IsDefault = false * }; * service.UpdateIsMainProductAccount(pa); * * } * * * * void View_SetIsMain(object sender, DataEventArgs<object> e) * { * //En el objeto viene el Row ID a Setear. * if (e.Value == null) * return; * * * ProductAccountRelation pa = new ProductAccountRelation * { * RowID = int.Parse(e.Value.ToString()), * IsDefault = true * }; * * service.UpdateIsMainProductAccount(pa); * * * } */ void View_UpdateProductAccount(object sender, DataEventArgs <object> e) { //En el objeto viene el Row ID a Setear. if (e.Value == null) { return; } try { //Obtiene el Registro ProductAccountRelation pa = View.Model.ProductVendorRelation .Where(f => f.RowID == int.Parse(e.Value.ToString())).First(); pa.ModDate = DateTime.Now; pa.ModifiedBy = App.curUser.UserName; service.UpdateProductAccountRelation(pa); //if (pa.IsDefault == true) //{ // View.Model.Record.UpcCode = pa.Code1; // View.Model.Record.DefVendorNumber = pa.ItemNumber; // View.Model.Record.ModDate = DateTime.Now; // View.Model.Record.ModifiedBy = App.curUser.UserName; // service.UpdateProduct(View.Model.Record); //} } catch { } }
private void btnAddCust_Click(object sender, RoutedEventArgs e) { if (this.txtCust.Account == null) { return; } if (string.IsNullOrEmpty(txtCustItem.Text)) { return; } ProductAccountRelation pa = new ProductAccountRelation { CreatedBy = App.curUser.UserName, CreationDate = DateTime.Now, Account = this.txtCust.Account, AccountType = new AccountType { AccountTypeID = AccType.Customer }, IsFromErp = false, ItemNumber = this.txtCustItem.Text, Product = this.Model.Record, Code1 = this.txtCustCode1.Text, Code2 = this.txtCustCode2.Text }; AddProductAccount(sender, new DataEventArgs <ProductAccountRelation>(pa)); }
private void btnAddVendor_Click(object sender, RoutedEventArgs e) { //if (this.txtVendor.Account == null) //return; //if (string.IsNullOrEmpty(txtVendorItem.Text)) //return; ProductAccountRelation pa = new ProductAccountRelation { CreatedBy = App.curUser.UserName, CreationDate = DateTime.Now, Account = this.txtVendor.Account, AccountType = new AccountType { AccountTypeID = AccType.Vendor }, IsFromErp = false, ItemNumber = this.txtVendorItem.Text, Product = this.Model.Record, Code1 = this.txtVendorCode1.Text, Code2 = this.txtVendorCode2.Text, IsDefault = this.chkMain.IsChecked }; AddProductAccount(sender, new DataEventArgs <ProductAccountRelation>(pa)); }
private IList <ProductAccountRelation> GetProductVendors(Product product) { IList <ProductAccountRelation> productVendor = new List <ProductAccountRelation>(); ProductAccountRelation curId = null; AccountType accType = WType.GetAccountType(new AccountType { AccountTypeID = 2 }); string curItemVendor = ""; try { //Ask for the vendor Item record string sWhere = " ITEMNMBR = '" + product.ProductCode + "'"; ds = DynamicsGP_ec.GetDataSet(DynamicsGP_ec.RetreiveData("VendorItem", false, 2, 0, sWhere, true)); if (ds.Tables.Count > 0) { foreach (DataRow dr in ds.Tables[1].Rows) { curId = new ProductAccountRelation(); curId.ItemNumber = dr["VNDITNUM"].ToString(); //Si esta vacio se sale al proximo if (string.IsNullOrEmpty(curId.ItemNumber)) { continue; } curItemVendor = dr["VENDORID"].ToString() + ":" + curId.ItemNumber; curId.IsFromErp = true; curId.AccountType = accType; curId.Account = WType.GetAccount(new Account { AccountCode = dr["VENDORID"].ToString(), BaseType = new AccountType { AccountTypeID = AccntType.Vendor } }); curId.Product = product; curId.CreatedBy = WmsSetupValues.SystemUser; curId.CreationDate = DateTime.Now; productVendor.Add(curId); } } return(productVendor); } catch (Exception ex) { ExceptionMngr.WriteEvent("GetProductVendors:" + curItemVendor, ListValues.EventType.Error, ex, null, ListValues.ErrorCategory.ErpConnection); //throw; return(null); } }
public IList <ProductAccountRelation> Select(ProductAccountRelation data) { IList <ProductAccountRelation> datos = new List <ProductAccountRelation>(); datos = GetHsql(data).List <ProductAccountRelation>(); if (!Factory.IsTransactional) { Factory.Commit(); } return(datos); }
public ProductAccountRelation SelectById(ProductAccountRelation data) { return((ProductAccountRelation)base.SelectById(data)); }
public Boolean Delete(ProductAccountRelation data) { return(base.Delete(data)); }
public Boolean Update(ProductAccountRelation data) { return(base.Update(data)); }
public ProductAccountRelation Save(ProductAccountRelation data) { return((ProductAccountRelation)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; } } }
private void btnAddVendor_Click(object sender, RoutedEventArgs e) { //if (this.txtVendor.Account == null) //return; //if (string.IsNullOrEmpty(txtVendorItem.Text)) //return; ProductAccountRelation pa = new ProductAccountRelation { CreatedBy = App.curUser.UserName, CreationDate = DateTime.Now, Account = this.txtVendor.Account, AccountType = new AccountType { AccountTypeID = AccType.Vendor }, IsFromErp = false, ItemNumber = this.txtVendorItem.Text, Product = this.Model.Record, Code1 = this.txtVendorCode1.Text, Code2 = this.txtVendorCode2.Text, IsDefault = this.chkMain.IsChecked }; AddProductAccount(sender, new DataEventArgs<ProductAccountRelation>(pa)); }
public IList<ProductAccountRelation> GetProductAccountRelation(ProductAccountRelation data) { try { SetService(); return SerClient.GetProductAccountRelation(data); } finally { SerClient.Close(); if (SerClient.State == CommunicationState.Faulted) SerClient.Abort(); } }
public override IQuery GetHsql(Object data) { StringBuilder sql = new StringBuilder("select a from Product a "); Product product = (Product)data; if (product != null) { Parms = new List <Object[]>(); if (product.ProductAccounts != null && product.ProductAccounts.Count > 0) { sql.Append(" LEFT OUTER JOIN a.ProductAccounts as prodAccount "); //where a.ProductID = prodAccount.Product.ProductID "); ProductAccountRelation par = product.ProductAccounts[0]; sql.Append(" WHERE (( 1=1 AND prodAccount.RowID is not null "); //Solo se condiciona si pasa un account. if (par.Account != null && par.Account.AccountCode != WmsSetupValues.DEFAULT) { sql.Append(" AND prodAccount.AccountType.AccountTypeID = :act"); Parms.Add(new Object[] { "act", par.AccountType.AccountTypeID }); sql.Append(" AND prodAccount.Account.AccountID = :acc"); Parms.Add(new Object[] { "acc", par.Account.AccountID }); } sql.Append(" AND (prodAccount.ItemNumber = :itm" + " OR prodAccount.Code1 = :itm" + " OR prodAccount.Code2 = :itm" + ")) "); Parms.Add(new Object[] { "itm", par.ItemNumber }); if (!String.IsNullOrEmpty(product.ProductCode)) { sql.Append(" OR (a.ProductCode = :nom OR a.UpcCode = :nom OR a.DefVendorNumber = :nom )) and "); Parms.Add(new Object[] { "nom", product.ProductCode }); } else { sql.Append(" ) and "); } } else { sql.Append(" where "); if (!String.IsNullOrEmpty(product.ProductCode)) { sql.Append(" (a.ProductCode = :nom OR a.UpcCode = :nom ) and "); Parms.Add(new Object[] { "nom", product.ProductCode }); } } if (product.ProductID != 0) { sql.Append(" a.ProductID = :id and "); Parms.Add(new Object[] { "id", product.ProductID }); } if (product.Company != null && product.Company.CompanyID != 0) { sql.Append(" a.Company.CompanyID = :id1 and "); Parms.Add(new Object[] { "id1", product.Company.CompanyID }); } if (product.Contract != null && product.Contract.ContractID != 0) { sql.Append(" a.Contract.ContractID = :cot1 and "); Parms.Add(new Object[] { "cot", product.Contract.ContractID }); } if (!String.IsNullOrEmpty(product.Name)) { sql.Append(" (a.ProductCode like :nom1 Or a.UpcCode = :nomp "); if (product.Name.Length >= 3) { sql.Append(" Or a.Name like :nom2 "); Parms.Add(new Object[] { "nom2", "%" + product.Name + "%" }); } sql.Append(" ) and "); Parms.Add(new Object[] { "nom1", product.Name + "%" }); Parms.Add(new Object[] { "nomp", product.Name }); } if (!String.IsNullOrEmpty(product.Description)) { sql.Append(" a.Description like :nom2 and "); Parms.Add(new Object[] { "nom2", "%" + product.Description + "%" }); } if (!String.IsNullOrEmpty(product.UpcCode)) { sql.Append(" a.UpcCode = :nom3 and "); Parms.Add(new Object[] { "nom3", product.UpcCode }); } if (!String.IsNullOrEmpty(product.Brand)) { sql.Append(" a.Brand = :nom4 and "); Parms.Add(new Object[] { "nom4", product.Brand }); } if (!String.IsNullOrEmpty(product.Reference)) { sql.Append(" a.Reference LIKE :nom5 and "); Parms.Add(new Object[] { "nom5", "%" + product.Reference + "%" }); } if (!String.IsNullOrEmpty(product.Manufacturer)) { sql.Append(" a.Manufacturer = :nom6 and "); Parms.Add(new Object[] { "nom6", product.Manufacturer }); } if (product.BaseUnit != null && product.BaseUnit.UnitID != 0) { sql.Append(" a.BaseUnit.UnitID = :id2 and "); Parms.Add(new Object[] { "id2", product.BaseUnit.UnitID }); } if (product.Status != null && product.Status.StatusID != 0) { sql.Append(" a.Status.StatusID = :id3 and "); Parms.Add(new Object[] { "id3", product.Status.StatusID }); } if (product.DefaultTemplate != null && product.DefaultTemplate.RowID != 0) { sql.Append(" a.DefaultTemplate.RowID = :idt3 and "); Parms.Add(new Object[] { "idt3", product.DefaultTemplate.RowID }); } if (product.IsKit == true) { sql.Append(" a.IsKit = :nom9 and "); Parms.Add(new Object[] { "nom9", true }); } else if (product.IsKit == false) { sql.Append(" a.IsKit = :nom9 and "); Parms.Add(new Object[] { "nom9", false }); } if (product.Category != null && product.Category.CategoryID != 0) { sql.Append(" a.Category.CategoryID = :pc1 and "); Parms.Add(new Object[] { "pc1", product.Category.CategoryID }); } if (product.PickMethod != null && product.PickMethod.MethodID != 0) { sql.Append(" a.PickMethod.MethodID = :ip3 and "); Parms.Add(new Object[] { "ip3", product.PickMethod.MethodID }); } if (product.CountRank != 0) { sql.Append(" a.CountRank = :icr3 and "); Parms.Add(new Object[] { "icr3", product.CountRank }); } } sql = new StringBuilder(sql.ToString()); sql.Append(" 1=1 order by a.Name asc "); //Console.WriteLine(sql.ToString()); IQuery query = Factory.Session.CreateQuery(sql.ToString()); SetParameters(query); return(query); }
public override IQuery GetHsql(Object data) { StringBuilder sql = new StringBuilder("select a from DocumentLine a "); DocumentLine documentline = (DocumentLine)data; if (documentline != null) { Parms = new List <Object[]>(); if (documentline.Product != null && documentline.Product.ProductAccounts != null && documentline.Product.ProductAccounts.Count > 0) { sql.Append(" LEFT OUTER JOIN a.Product.ProductAccounts as prodAccount WHERE prodAccount.RowID is not null "); //where a.Product.ProductID = prodAccount.Product.ProductID "); ProductAccountRelation par = documentline.Product.ProductAccounts[0]; if (par.Account != null && par.Account.AccountCode != WmsSetupValues.DEFAULT) { if (par.AccountType.AccountTypeID == AccntType.Customer) { sql.Append(" AND prodAccount.Account.AccountID = a.Document.Customer.AccountID "); } else if (par.AccountType.AccountTypeID == AccntType.Vendor) { sql.Append(" AND prodAccount.Account.AccountID = a.Document.Vendor.AccountID "); } } sql.Append(" AND 1=1 "); //Solo se condiciona si pasa un account. if (par.Account != null && par.Account.AccountCode != WmsSetupValues.DEFAULT) { sql.Append(" AND prodAccount.AccountType.AccountTypeID = :act"); Parms.Add(new Object[] { "act", par.AccountType.AccountTypeID }); sql.Append(" AND prodAccount.Account.AccountID = :acc"); Parms.Add(new Object[] { "acc", par.Account.AccountID }); } sql.Append(" AND ((prodAccount.ItemNumber = :itm" + " OR prodAccount.Code1 = :itm" + " OR prodAccount.Code2 = :itm" + ") "); Parms.Add(new Object[] { "itm", par.ItemNumber }); if (!String.IsNullOrEmpty(documentline.Product.ProductCode)) { sql.Append(" OR (a.Product.ProductCode = :nom OR a.Product.UpcCode = :nom )) and "); Parms.Add(new Object[] { "nom", documentline.Product.ProductCode }); } else { sql.Append(" ) and "); } } else { sql.Append(" where "); if (documentline.Product != null && !String.IsNullOrEmpty(documentline.Product.ProductCode)) { sql.Append(" (a.Product.ProductCode = :pc4 OR a.Product.UpcCode = :pc4 ) and "); Parms.Add(new Object[] { "pc4", documentline.Product.ProductCode }); } } if (documentline.Product != null) { if (documentline.Product.ProductID != 0) { sql.Append(" a.Product.ProductID = :id4 and "); Parms.Add(new Object[] { "id4", documentline.Product.ProductID }); } //if (!string.IsNullOrEmpty(documentline.Product.ProductCode)) //{ // sql.Append(" a.Product.ProductCode = :pc4 and "); // Parms.Add(new Object[] { "pc4", documentline.Product.ProductCode }); //} } if (documentline.LineID != 0) { sql.Append(" a.LineID = :id and "); Parms.Add(new Object[] { "id", documentline.LineID }); } if (documentline.Document != null) { if (documentline.Document.DocID != 0) { sql.Append(" a.Document.DocID = :id1 and "); Parms.Add(new Object[] { "id1", documentline.Document.DocID }); } if (!string.IsNullOrEmpty(documentline.Document.DocNumber)) { sql.Append(" a.Document.DocNumber = :idn and "); Parms.Add(new Object[] { "idn", documentline.Document.DocNumber }); } if (!string.IsNullOrEmpty(documentline.Document.Notes)) { sql.Append(" a.Document.Notes = :in1 and "); Parms.Add(new Object[] { "in1", documentline.Document.Notes }); } if (documentline.Document.DocType != null && documentline.Document.DocType.DocTypeID != 0) { sql.Append(" a.Document.DocType.DocTypeID = :dt1 and "); Parms.Add(new Object[] { "dt1", documentline.Document.DocType.DocTypeID }); } if (documentline.Document.DocStatus != null && documentline.Document.DocStatus.StatusID != 0) { if (documentline.Document.DocStatus.StatusID == DocStatus.PENDING) { sql.Append(" (a.Document.DocStatus.StatusID = :ds1 OR a.Document.DocStatus.StatusID = :dsp1) and "); Parms.Add(new Object[] { "ds1", DocStatus.New }); Parms.Add(new Object[] { "dsp1", DocStatus.InProcess }); } else { sql.Append(" a.Document.DocStatus.StatusID = :ds1 and "); Parms.Add(new Object[] { "ds1", documentline.Document.DocStatus.StatusID }); } } if (documentline.Document.Company != null && documentline.Document.Company.CompanyID != 0) { sql.Append(" a.Document.Company.CompanyID = :dco1 and "); Parms.Add(new Object[] { "dco1", documentline.Document.Company.CompanyID }); } if (!string.IsNullOrEmpty(documentline.Document.CustPONumber)) { sql.Append(" a.Document.CustPONumber = :custpo and "); Parms.Add(new Object[] { "custpo", documentline.Document.CustPONumber }); } if (documentline.Document.Customer != null && documentline.Document.Customer.AccountID != 0) { sql.Append(" a.Document.Customer.AccountID = :cu1 and "); Parms.Add(new Object[] { "cu1", documentline.Document.Customer.AccountID }); } if (documentline.Document.Vendor != null && documentline.Document.Vendor.AccountID != 0) { sql.Append(" a.Document.Vendor.AccountID = :ve1 and "); Parms.Add(new Object[] { "ve1", documentline.Document.Vendor.AccountID }); } if (documentline.Document.Location != null && documentline.Document.Location.LocationID != 0) { sql.Append(" a.Document.Location.LocationID = :lxc1 and "); Parms.Add(new Object[] { "lxc1", documentline.Document.Location.LocationID }); } } if (documentline.LineNumber != 0) { sql.Append(" a.LineNumber = :id2 and "); Parms.Add(new Object[] { "id2", documentline.LineNumber }); } if (documentline.LinkDocLineNumber != 0) { sql.Append(" a.LinkDocLineNumber = :idl2 and "); Parms.Add(new Object[] { "idl2", documentline.LinkDocLineNumber }); } if (!string.IsNullOrEmpty(documentline.LinkDocNumber)) { sql.Append(" a.LinkDocNumber = :idn and "); Parms.Add(new Object[] { "idn", documentline.LinkDocNumber }); } if (documentline.LineStatus != null && documentline.LineStatus.StatusID != 0) { if (documentline.LineStatus.StatusID == DocStatus.PENDING) { sql.Append(" (a.LineStatus.StatusID = :ds1 OR a.LineStatus.StatusID = :dsp1) and "); Parms.Add(new Object[] { "ds1", DocStatus.New }); Parms.Add(new Object[] { "dsp1", DocStatus.InProcess }); } else { sql.Append(" a.LineStatus.StatusID = :id3 and "); Parms.Add(new Object[] { "id3", documentline.LineStatus.StatusID }); } } if (documentline.IsDebit != null) { sql.Append(" a.IsDebit = :nom1 and "); Parms.Add(new Object[] { "nom1", documentline.IsDebit }); } if (documentline.Unit != null && documentline.Unit.UnitID != 0) { sql.Append(" a.Unit.UnitID = :id5 and "); Parms.Add(new Object[] { "id5", documentline.Unit.UnitID }); } if (documentline.Date1 != null) { sql.Append(" a.Date1 = :nom3 and "); Parms.Add(new Object[] { "nom3", documentline.Date1 + "%" }); } if (documentline.Date2 != null) { sql.Append(" a.Date2 = :nom4 and "); Parms.Add(new Object[] { "nom4", documentline.Date2 + "%" }); } if (documentline.Date3 != null) { sql.Append(" a.Date3 = :nom5 and "); Parms.Add(new Object[] { "nom5", documentline.Date3 + "%" }); } if (documentline.Date4 != null) { sql.Append(" a.Date4 = :nom6 and "); Parms.Add(new Object[] { "nom6", documentline.Date4 + "%" }); } if (documentline.Date5 != null) { sql.Append(" a.Date5 = :nom7 and "); Parms.Add(new Object[] { "nom7", documentline.Date5 + "%" }); } if (documentline.Location != null && documentline.Location.LocationID != 0) { sql.Append(" a.Location.LocationID = :id6 and "); Parms.Add(new Object[] { "id6", documentline.Location.LocationID }); } if (documentline.Location2 != null && documentline.Location2.LocationID != 0) { sql.Append(" a.Location2.LocationID = :idl6 and "); Parms.Add(new Object[] { "idl6", documentline.Location2.LocationID }); } if (!string.IsNullOrEmpty(documentline.Note)) { sql.Append(" a.Note = :nom11 and "); Parms.Add(new Object[] { "nom11", documentline.Note }); } if (!string.IsNullOrEmpty(documentline.CreatedBy)) { sql.Append(" a.CreatedBy = :nom81 and "); Parms.Add(new Object[] { "nom81", documentline.CreatedBy }); } } //Console.WriteLine(sql.ToString()); sql = new StringBuilder(sql.ToString()); sql.Append("1=1 order by a.Sequence "); IQuery query = Factory.Session.CreateQuery(sql.ToString()); SetParameters(query); return(query); }
private void btnAddCust_Click(object sender, RoutedEventArgs e) { if (this.txtCust.Account == null) return; if (string.IsNullOrEmpty(txtCustItem.Text)) return; ProductAccountRelation pa = new ProductAccountRelation { CreatedBy = App.curUser.UserName, CreationDate = DateTime.Now, Account = this.txtCust.Account, AccountType = new AccountType { AccountTypeID = AccType.Customer }, IsFromErp = false, ItemNumber = this.txtCustItem.Text, Product = this.Model.Record, Code1 = this.txtCustCode1.Text, Code2 = this.txtCustCode2.Text }; AddProductAccount(sender, new DataEventArgs<ProductAccountRelation>(pa)); }
public void UpdateProductAccountRelation(ProductAccountRelation data) { try { SetService(); SerClient.UpdateProductAccountRelation(data); } finally { SerClient.Close(); if (SerClient.State == CommunicationState.Faulted) SerClient.Abort(); } }
public override IQuery GetHsql(Object data) { StringBuilder sql = new StringBuilder("select a from ProductAccountRelation a where "); ProductAccountRelation pVendor = (ProductAccountRelation)data; if (pVendor != null) { Parms = new List <Object[]>(); if (pVendor.RowID != 0) { sql.Append(" a.RowID = :id and "); Parms.Add(new Object[] { "id", pVendor.RowID }); } if (pVendor.AccountType != null && pVendor.AccountType.AccountTypeID != 0) { sql.Append(" a.AccountType.AccountTypeID = :id1 and "); Parms.Add(new Object[] { "id1", pVendor.AccountType.AccountTypeID }); } if (pVendor.Account != null && pVendor.Account.AccountID != 0) { sql.Append(" a.Account.AccountID = :id2 and "); Parms.Add(new Object[] { "id2", pVendor.Account.AccountID }); } if (pVendor.Product != null && pVendor.Product.ProductID != 0) { sql.Append(" a.Product.ProductID = :id3 and "); Parms.Add(new Object[] { "id3", pVendor.Product.ProductID }); } if (!String.IsNullOrEmpty(pVendor.ItemNumber)) { sql.Append(" (a.ItemNumber = :nom OR a.Code1 = :nom OR a.Code2 = :nom ) and "); Parms.Add(new Object[] { "nom", pVendor.ItemNumber }); } if (!String.IsNullOrEmpty(pVendor.Code1)) { sql.Append(" a.Code1 = :cod1 and "); Parms.Add(new Object[] { "cod1", pVendor.Code1 }); } if (!String.IsNullOrEmpty(pVendor.Code2)) { sql.Append(" a.Code2 = :cod2 and "); Parms.Add(new Object[] { "cod2", pVendor.Code2 }); } if (pVendor.IsFromErp != null) { sql.Append(" a.IsFromErp = :if2 and "); Parms.Add(new Object[] { "if2", pVendor.IsFromErp }); } } 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); }
internal void UpdateIsMainProductAccount(ProductAccountRelation pa) { try { SetService(); SerClient.UpdateIsMainProductAccount(pa); } finally { SerClient.Close(); if (SerClient.State == CommunicationState.Faulted) SerClient.Abort(); } }
void View_AddProductAccount(object sender, DataEventArgs <ProductAccountRelation> e) { //Crear un objeto de tipo product Account Relation adicionarselo al producto y darle Update. if (e.Value == null) { return; } if (string.IsNullOrEmpty(e.Value.ItemNumber) && string.IsNullOrEmpty(e.Value.Code1) && string.IsNullOrEmpty(e.Value.Code2)) { Util.ShowError("UPC or Item Number or Alternative Code is required."); return; } try { if (e.Value.Account == null) { e.Value.Account = service.GetAccount(new Account { AccountCode = WmsSetupValues.DEFAULT }).First(); } //Check if no existe ya el UPCcode para otro producto. IList <ProductAccountRelation> list; if (!string.IsNullOrEmpty(e.Value.ItemNumber)) { list = service.GetProductAccountRelation(new ProductAccountRelation { ItemNumber = e.Value.ItemNumber }); if (list != null && list.Count > 0) { Util.ShowError("Item " + list[0].Product.FullDesc + " with the same code already exists."); return; } } if (!string.IsNullOrEmpty(e.Value.Code1)) { list = service.GetProductAccountRelation(new ProductAccountRelation { ItemNumber = e.Value.Code1 }); if (list != null && list.Count > 0) { Util.ShowError("Item " + list[0].Product.FullDesc + " with the same code already exists."); return; } } if (!string.IsNullOrEmpty(e.Value.Code2)) { list = service.GetProductAccountRelation(new ProductAccountRelation { ItemNumber = e.Value.Code2 }); if (list != null && list.Count > 0) { Util.ShowError("Item " + list[0].Product.FullDesc + " with the same code already exists."); return; } } ProductAccountRelation newPa = service.SaveProductAccountRelation(e.Value); //if (newPa.IsDefault == true) //service.UpdateIsMainProductAccount(newPa); } catch (Exception ex) { Util.ShowError("Error saving the record. Account could already exists for this product." + ex.Message); return; } finally { if (e.Value.AccountType.AccountTypeID == AccType.Vendor) { View.TxtVendor.Account = null; View.TxtVendor.Text = ""; View.TxtVendCode1.Text = ""; View.TxtVendCode2.Text = ""; View.TxtVendItem.Text = ""; } if (e.Value.AccountType.AccountTypeID == AccType.Customer) { View.TxtCustomer.Account = null; View.TxtCustomer.Text = ""; View.TxtCustCode1.Text = ""; View.TxtCustCode2.Text = ""; View.TxtCustItem.Text = ""; } View.ChkIsMain.IsChecked = false; } if (e.Value.AccountType.AccountTypeID == AccType.Vendor) { View.Model.Record.ProductAccounts = service.GetProductAccountRelation( new ProductAccountRelation { Product = View.Model.Record }).ToList(); try { View.Model.ProductVendorRelation = View.Model.Record.ProductAccounts .Where(f => f.AccountType.AccountTypeID == AccType.Vendor || f.Account.AccountCode == WmsSetupValues.DEFAULT).ToList(); } catch { View.Model.ProductVendorRelation = null; } View.LvVendorProducts.Items.Refresh(); } else if (e.Value.AccountType.AccountTypeID == AccType.Customer) { View.Model.Record.ProductAccounts = service.GetProductAccountRelation( new ProductAccountRelation { Product = View.Model.Record }).ToList(); try { View.Model.ProductCustRelation = View.Model.Record.ProductAccounts .Where(f => f.AccountType.AccountTypeID == AccType.Customer || f.Account.AccountCode == WmsSetupValues.DEFAULT).ToList(); } catch { View.Model.ProductCustRelation = null; } View.LvCustProducts.Items.Refresh(); } }
private IList <ProductAccountRelation> GetProductVendors(Product product) { IList <ProductAccountRelation> productVendor = new List <ProductAccountRelation>(); ProductAccountRelation curId = null; AccountType accType = WType.GetAccountType(new AccountType { AccountTypeID = AccntType.Vendor }); string curItemVendor = ""; try { Command.Connection = new SqlConnection(CurCompany.ErpConnection.CnnString); Query = "SELECT VEND_CODE,VENDOR_PART_NO " + " FROM ITEM_REPLENISH_VENDOR WHERE ITEM_CODE = '" + product.ProductCode + "' "; ds = ReturnDataSet(Query, null, "ITEM_REPLENISH_VENDOR", Command.Connection); if (ds == null || ds.Tables.Count == 0) { return(null); } foreach (DataRow dr in ds.Tables[0].Rows) { curId = new ProductAccountRelation(); curId.ItemNumber = dr["VENDOR_PART_NO"].ToString(); //Si esta vacio se sale al proximo if (string.IsNullOrEmpty(curId.ItemNumber)) { continue; } curItemVendor = dr["VEND_CODE"].ToString() + ":" + curId.ItemNumber; curId.IsFromErp = true; curId.AccountType = accType; curId.Account = WType.GetAccount(new Account { AccountCode = dr["VEND_CODE"].ToString(), BaseType = new AccountType { AccountTypeID = AccntType.Vendor } }); curId.Product = product; curId.CreatedBy = WmsSetupValues.SystemUser; curId.CreationDate = DateTime.Now; productVendor.Add(curId); } return(productVendor); } catch (Exception ex) { ExceptionMngr.WriteEvent("GetProductVendors:" + curItemVendor, ListValues.EventType.Error, ex, null, ListValues.ErrorCategory.ErpConnection); //throw; return(null); } }