internal static string ActualizaFactura(TBL_EPI_FACTURA oFac, List <TBL_EPI_FACTURADETALLE> olFacDetalle) { DbTransaction dbTrans = null; string mensaje = ""; try { using (DataClassEpiNetDataContext db = new DataClassEpiNetDataContext()) { db.Connection.Open(); dbTrans = db.Connection.BeginTransaction(); db.Transaction = dbTrans; TBL_EPI_FACTURA objFact = (from t in db.TBL_EPI_FACTURA where t.EPI_NUM_IDFACTURA == oFac.EPI_NUM_IDFACTURA select t).FirstOrDefault(); if (objFact != null) { objFact.EPI_INT_IDMONEDA = oFac.EPI_INT_IDMONEDA; objFact.EPI_DAT_FECHADESDE = oFac.EPI_DAT_FECHADESDE; objFact.EPI_DAT_FECHAHASTA = oFac.EPI_DAT_FECHAHASTA; objFact.EPI_INT_PERSONAFACTURAIDENTIDAD = oFac.EPI_INT_PERSONAFACTURAIDENTIDAD; objFact.EPI_VCH_OBSERVACIONES = oFac.EPI_VCH_OBSERVACIONES; objFact.EPI_VCH_REFERENCIA1 = oFac.EPI_VCH_REFERENCIA1; objFact.EPI_VCH_REFERENCIA2 = oFac.EPI_VCH_REFERENCIA2; objFact.EPI_NUM_BASEEXPONERADO = oFac.EPI_NUM_BASEEXPONERADO; objFact.EPI_NUM_BASEIPONIBLE = oFac.EPI_NUM_BASEIPONIBLE; objFact.EPI_NUM_IMPUESTO = oFac.EPI_NUM_IMPUESTO; objFact.EPI_NUM_IMPORTETOTAL = oFac.EPI_NUM_IMPORTETOTAL; objFact.EPI_NUM_TIPOVENTA = oFac.EPI_NUM_TIPOVENTA; objFact.EPI_VCH_TOTALENLETRAS = oFac.EPI_VCH_TOTALENLETRAS; db.SubmitChanges(); //DAOAuditoria.InsertaAuditoria(eTablaEPI.TBL_EPI_FACTURA, onFac, eTipoAccionBD.MODIFICACION, BaseForm.VariablesGlobales.Miusuario.Usuario.EPI_INT_USUARIO, null, "", ""); TBL_EPI_FACTURADETALLE oDet = new TBL_EPI_FACTURADETALLE(); List <TBL_EPI_FACTURADETALLE> lstDet = (from t in db.TBL_EPI_FACTURADETALLE where t.EPI_BIT_ACTIVO == true && t.EPI_NUM_IDFACTURA == oFac.EPI_NUM_IDFACTURA select t).ToList(); foreach (var item in lstDet) { item.EPI_BIT_ACTIVO = false; db.SubmitChanges(); //DAOAuditoria.InsertaAuditoria(eTablaEPI.TBL_EPI_FACTURADETALLE, item, eTipoAccionBD.ELIMINACION, BaseForm.VariablesGlobales.Miusuario.Usuario.EPI_INT_USUARIO, null, "", ""); } foreach (TBL_EPI_FACTURADETALLE item in olFacDetalle) { oDet = (from or in db.TBL_EPI_FACTURADETALLE where or.EPI_NUM_IDFACTURADETALLE == item.EPI_NUM_IDFACTURADETALLE select or).FirstOrDefault(); if (oDet != null) { oDet.EPI_INT_ITEM = item.EPI_INT_ITEM; oDet.EPI_INT_IDPRODUCTO = item.EPI_INT_IDPRODUCTO; oDet.EPI_NUM_CANTIDAD = item.EPI_NUM_CANTIDAD; oDet.EPI_VCH_DESCRIPCION = item.EPI_VCH_DESCRIPCION; oDet.EPI_INT_IDIMPUESTO = item.EPI_INT_IDIMPUESTO; oDet.EPI_NUM_VALORUNITARIO = item.EPI_NUM_VALORUNITARIO; oDet.EPI_NUM_SUBTOTAL = item.EPI_NUM_SUBTOTAL; oDet.EPI_NUM_IGVVENTA = item.EPI_NUM_IGVVENTA; oDet.EPI_NUM_IMPORTETOTAL = item.EPI_NUM_IMPORTETOTAL; oDet.EPI_BIT_ACTIVO = true; db.SubmitChanges(); //new DAOAuditoria().InsertarAuditoria(eBaseDatos.AmericaMovil_Hellmann, eTablaSLI.TBL_SLI_ORDENCOMPRADETALLE, oOrdenDetalle, eTipoAccionBD.MODIFICACION, (int)objOrdenCompra.SLI_INT_USUARIOMODIFICA); } else { item.EPI_NUM_IDFACTURA = oFac.EPI_NUM_IDFACTURA; item.EPI_BIT_ACTIVO = true; db.TBL_EPI_FACTURADETALLE.InsertOnSubmit(item); db.SubmitChanges(); //DAOAuditoria.InsertaAuditoria(eTablaEPI.TBL_EPI_FACTURADETALLE, onFac, eTipoAccionBD.CREACION, BaseForm.VariablesGlobales.Miusuario.Usuario.EPI_INT_USUARIO, null, "", ""); } } dbTrans.Commit(); mensaje = "Se modificó el documento: " + objFact.TBL_EPI_TIPODOCUMENTOCONTABLE.EPI_VCH_NOMBREDOCUMENTO + "(" + objFact.EPI_VCH_SERIEFACTURA + " - " + objFact.EPI_VCH_NUMERODOCUMENTO + ")"; } } return(mensaje); } catch (Exception ex) { mensaje = "Ocurrio un problema : " + Environment.NewLine + ex.Message.ToString() + Environment.NewLine + " (COMUNICAR A SISTEMAS)"; dbTrans.Rollback(); return(mensaje); } }
private void btnGuardar_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { try { StringBuilder sb = ValidaDatosFactura(); if (!sb.ToString().Equals("")) { XtraMessageBox.Show(sb.ToString(), "ERRORES A CORREGIR"); return; } TBL_EPI_FACTURA oFac = new TBL_EPI_FACTURA(); oFac.EPI_INT_IDTIPODOCUMENTOCONTABLE = Convert.ToInt32(searchLookUpTipoDocumento.EditValue); oFac.EPI_VCH_SERIEFACTURA = this.txtSerie.Text; oFac.EPI_VCH_NUMERODOCUMENTO = this.txtCorrelativo.Text; oFac.EPI_INT_IDMONEDA = Convert.ToInt32(searchLookUpMoneda.EditValue); oFac.EPI_INT_IDTIPOPAGO = Convert.ToInt32(searchLookUpTipoPago.EditValue); oFac.EPI_DAT_FECHACREA = Convert.ToDateTime(deFechaEmision.EditValue); oFac.EPI_DAT_FECHADESDE = Convert.ToDateTime(deFechaEmision.EditValue); oFac.EPI_DAT_FECHAHASTA = Convert.ToDateTime(deFechaVencimiento.EditValue); oFac.EPI_INT_PERSONAFACTURAIDENTIDAD = Convert.ToInt32(searchLookUpCliente.EditValue); oFac.EPI_VCH_OBSERVACIONES = txtObservaciones.Text; oFac.EPI_VCH_REFERENCIA1 = txtReferencia1.Text; oFac.EPI_VCH_REFERENCIA2 = txtReferencia2.Text; oFac.EPI_NUM_BASEIPONIBLE = Convert.ToDecimal(lblBaseImponible.Text == "" ? "0" : lblBaseImponible.Text); //oFac.EPI_NUM_BASEEXPONERADO = oFac.EPI_NUM_IMPUESTO = Convert.ToDecimal(lblIgv.Text == "" ? "0" : lblIgv.Text); oFac.EPI_NUM_IMPORTETOTAL = Convert.ToDecimal(lblImporteTotal.Text == "" ? "0" : lblImporteTotal.Text); oFac.EPI_VCH_TOTALENLETRAS = new BaseForm().DevuelveNumeroEnLetras(oFac.EPI_NUM_IMPORTETOTAL.ToString(), "PEN"); //oFac.EPI_NUM_TIPOVENTA oFac.EPI_BIT_ACTIVO = true; oFac.EPI_BIT_ANULADA = false; oFac.EPI_BIT_IMPRESA = false; List <TBL_EPI_FACTURADETALLE> olFacDetalle = new List <TBL_EPI_FACTURADETALLE>(); TBL_EPI_FACTURADETALLE oFacDetalle = new TBL_EPI_FACTURADETALLE(); for (int i = 0; i < gridViewDetalle.RowCount; i++) { oFacDetalle = new TBL_EPI_FACTURADETALLE(); //oFacDetalle.EPI_INT_ITEM oFacDetalle.EPI_NUM_CANTIDAD = Convert.ToDecimal(gridViewDetalle.GetRowCellValue(i, "EPI_NUM_CANTIDAD")); oFacDetalle.EPI_INT_IDPRODUCTO = Convert.ToInt32(gridViewDetalle.GetRowCellValue(i, "EPI_INT_IDPRODUCTO")); oFacDetalle.EPI_VCH_DESCRIPCION = gridViewDetalle.GetRowCellValue(i, "EPI_VCH_DESCRIPCION").ToString(); oFacDetalle.EPI_INT_IDIMPUESTO = Convert.ToInt32(gridViewDetalle.GetRowCellValue(i, "EPI_INT_IDIMPUESTO").ToString()); oFacDetalle.EPI_NUM_VALORUNITARIO = Math.Round(Convert.ToDecimal(gridViewDetalle.GetRowCellValue(i, "EPI_NUM_VALORUNITARIO")), 2, MidpointRounding.AwayFromZero); oFacDetalle.EPI_NUM_IGVVENTA = Math.Round(Convert.ToDecimal(gridViewDetalle.GetRowCellValue(i, "EPI_NUM_IGVVENTA")), 2, MidpointRounding.AwayFromZero); oFacDetalle.EPI_NUM_SUBTOTAL = Math.Round(Convert.ToDecimal(gridViewDetalle.GetRowCellValue(i, "EPI_NUM_SUBTOTAL")), 2, MidpointRounding.AwayFromZero); oFacDetalle.EPI_NUM_IMPORTETOTAL = Math.Round(Convert.ToDecimal(gridViewDetalle.GetRowCellValue(i, "EPI_NUM_IMPORTETOTAL")), 2, MidpointRounding.AwayFromZero); oFacDetalle.EPI_BIT_ACTIVO = true; olFacDetalle.Add(oFacDetalle); } if (IdFactura == 0) { oFac.EPI_DAT_FECHACREA = DateTime.Now; oFac.EPI_INT_IDUSUARIOCREA = BaseForm.VariablesGlobales.IdUsuario; XtraMessageBox.Show(BLFacturacion.InsertaFactura(oFac, olFacDetalle), "Mensaje", MessageBoxButtons.OK, MessageBoxIcon.Information); this.Close(); } else { oFac.EPI_DAT_FECHAMODIFICA = DateTime.Now; oFac.EPI_INT_IDUSUARIOMODIFICA = BaseForm.VariablesGlobales.IdUsuario; oFac.EPI_NUM_IDFACTURA = IdFactura; XtraMessageBox.Show(BLFacturacion.ActualizaFactura(oFac, olFacDetalle), "SISTEMAS"); this.Close(); } } catch (Exception) { throw; } }