/// <summary> /// Mantenimiento de lista de precios. /// Inserta, Modifica y Elimina /// </summary> public void Set_PSCP_SPMT_SVMC_LIST_PREC(BEPriceList obpc, List<BEPriceListDetail> olsp) { if (ocn.State == ConnectionState.Closed) ocn.Open(); using (var obts = ocn.BeginTransaction()) { try { using (var ocmd = odb.GetStoredProcCommand("PSCP_SPMT_SVMC_LIST_PREC", obpc.COD_LIST_PREC, obpc.ALF_LIST_PREC, obpc.IND_TIPO_LIST, obpc.COD_COMP, obpc.COD_USUA_CREA, obpc.COD_USUA_MODI, obpc.IND_MNTN)) { ocmd.CommandTimeout = 2000; odb.ExecuteNonQuery(ocmd, obts); obpc.COD_LIST_PREC = Convert.ToInt32(odb.GetParameterValue(ocmd, "@COD_LIST_PREC")); DbCommand cmdo; olsp.ForEach(item => { item.COD_LIST_PREC = obpc.COD_LIST_PREC; cmdo = odb.GetStoredProcCommand("PSCP_SPMT_SVMD_LIST_PREC", item.COD_ARTI, item.COD_LIST_PREC, item.NUM_PREC, item.NUM_DESC, item.COD_USUA_CREA, item.COD_USUA_MODI, item.IND_MNTN); cmdo.CommandTimeout = 2000; odb.ExecuteNonQuery(cmdo, obts); }); obts.Commit(); } } catch (Exception ex) { obts.Rollback(); obpc.MSG_MNTN = ex.Message; } finally { ocn.Close(); } } }
/// <summary> /// Mantenimiento de lista de precios. /// Inserta, Modifica y Elimina /// </summary> public void Set_PSCP_SPMT_SVMC_LIST_PREC(BEPriceList obpc, List<BEPriceListDetail> olsp) { oda.Set_PSCP_SPMT_SVMC_LIST_PREC(obpc, olsp); Dispose(false); }
public void Set_Save() { MessageBoxIcon msgIcon = MessageBoxIcon.Warning; try { var obpc = new BEPriceList() { COD_LIST_PREC = (string.IsNullOrWhiteSpace(txtCOD_LIST_PREC.Text)) ? 0 : Convert.ToInt32(txtCOD_LIST_PREC.Text), ALF_LIST_PREC = txtALF_LIST_PREC.Text.Trim(), IND_TIPO_LIST = (int?)rdgIND_TIPO_LIST.EditValue, COD_COMP = SESSION_COMP, COD_USUA_CREA = SESSION_USER, COD_USUA_MODI = SESSION_USER, IND_MNTN = (string.IsNullOrWhiteSpace(txtCOD_LIST_PREC.Text)) ? 1 : 2 }; var context = new ValidationContext(obpc, null, null); var errors = new List<ValidationResult>(); if (!Validator.TryValidateObject(obpc, context, errors, true)) { foreach (ValidationResult result in errors) { msgIcon = MessageBoxIcon.Warning; throw new ArgumentException(result.ErrorMessage); } } gdvDetail.CloseEditor(); gdvDetail.RefreshData(); var olst = (List<BEPriceListDetail>)gdvDetail.DataSource; if (olst.Count == 0) { msgIcon = MessageBoxIcon.Warning; throw new ArgumentException(WhMessage.MsgManyRows); } var i = 1; olst.ForEach(item => { context = new ValidationContext(item, null, null); errors = new List<ValidationResult>(); if (!Validator.TryValidateObject(item, context, errors, true)) { foreach (ValidationResult result in errors) { msgIcon = MessageBoxIcon.Warning; throw new ArgumentException(string.Format("{0}\nFila: {1}", result.ErrorMessage, i)); } } i++; }); var obr = new BRArticle(); obr.Set_PSCP_SPMT_SVMC_LIST_PREC(obpc, olst); if (!string.IsNullOrWhiteSpace(obpc.MSG_MNTN)) { msgIcon = MessageBoxIcon.Error; throw new ArgumentException(obpc.MSG_MNTN); } txtCOD_LIST_PREC.Text = obpc.COD_LIST_PREC.ToString(); olst.RemoveAll(item => item.IND_MNTN == 3); olst.ForEach(item => { item.IND_MNTN = 0; }); gdvDetail.RefreshData(); StateControls(true); XtraMessageBox.Show(WhMessage.MsgSuccessfully, WhMessage.MsgInsCaption, MessageBoxButtons.OK, MessageBoxIcon.Information); } catch (Exception ex) { XtraMessageBox.Show(ex.Message, WhMessage.MsgInsCaption, MessageBoxButtons.OK, msgIcon); } }