public bool UpdateWithValidation(string Jerarquia) { bool result = true; foreach (object objeto in _items) { mz.erp.businessrules.comprobantes.Item _item = (mz.erp.businessrules.comprobantes.Item)objeto; _row = businessrules.tsh_AgrupProductos.NewRow(); _row["IdProducto"] = _item.IdProducto; _row["Jerarquia"] = Jerarquia; tsh_ProductosJerarquiasDataset.tsh_ProductosJerarquiasRow _rowPJ = null; ProductosJerarquiaAuxiliar p = new ProductosJerarquiaAuxiliar(); ArrayList aux = mz.erp.systemframework.Util.Parse(Jerarquia, 20); _rowPJ = AddTsh_ProductosJerarquias(_item.IdProducto); string nomenclatura = p.nomenclaturaReal(Jerarquia); _rowPJ[nomenclatura + "a"] = (aux.Count > 0 && aux[0] != null)? Convert.ToString(aux[0]) : string.Empty; _rowPJ[nomenclatura + "b"] = (aux.Count > 1 && aux[1] != null)? Convert.ToString(aux[1]) : string.Empty; _rowPJ[nomenclatura + "c"] = (aux.Count > 2 && aux[2] != null)? Convert.ToString(aux[2]) : string.Empty; _rowPJ[nomenclatura + "d"] = (aux.Count > 3 && aux[3] != null)? Convert.ToString(aux[3]) : string.Empty; if (businessrules.tsh_AgrupProductos.UpdateWithValidation(_row)) { businessrules.tsh_ProductosJerarquias.Update(_rowPJ); } else { result = false; } } return(result); }
public void Delete(string Jerarquia) { foreach (object objeto in _items) { mz.erp.businessrules.comprobantes.Item _item = (mz.erp.businessrules.comprobantes.Item)objeto; _row = businessrules.tsh_AgrupProductos.NewRow(); _row = businessrules.tsh_AgrupProductos.GetByPk(_item.IdProducto, Jerarquia); if (_row != null) { _row.Delete(); businessrules.tsh_AgrupProductos.Update((tsh_AgrupProductosDataset.tsh_AgrupProductosRow)_row); //Si hay otra agrupproductos no hay q eliminarla solo actualizarla, si no hay otra directamente borro la de productos jerarquia tsh_AgrupProductosExDataset dataset = businessrules.tsh_AgrupProductos.GetList(_item.IdProducto); if (dataset.Tables[0].Rows.Count == 0) { tsh_ProductosJerarquiasDataset.tsh_ProductosJerarquiasRow _rowPJ = businessrules.tsh_ProductosJerarquias.GetByPk(_item.IdProducto); _rowPJ.Delete(); businessrules.tsh_ProductosJerarquias.Update((tsh_ProductosJerarquiasDataset.tsh_ProductosJerarquiasRow)_rowPJ); } //Else hay q actualizar la q jerarquia q corresponde = "" else { ProductosJerarquiaAuxiliar p = new ProductosJerarquiaAuxiliar(); string nomenclatura = p.nomenclaturaReal(Jerarquia); ArrayList aux = mz.erp.systemframework.Util.Parse(Jerarquia, 20); tsh_ProductosJerarquiasDataset.tsh_ProductosJerarquiasRow _rowPJ = _rowPJ = AddTsh_ProductosJerarquias(_item.IdProducto); _rowPJ[nomenclatura + "a"] = string.Empty; _rowPJ[nomenclatura + "b"] = string.Empty; _rowPJ[nomenclatura + "c"] = string.Empty; _rowPJ[nomenclatura + "d"] = string.Empty; businessrules.tsh_ProductosJerarquias.Update(_rowPJ); } } } }