예제 #1
0
        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);
            }
        }
예제 #2
0
        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;
            }
        }