Пример #1
0
        public bool AccionGuardar()
        {
            // Se valida
            if (!this.Validar())
            {
                return(false);
            }

            Cargando.Mostrar();

            // Se guardan los datos
            // DateTime dAhora = DateTime.Now;
            int?iDocID = Util.Entero(this.cmbDocumento.SelectedValue);
            // Se guarda el gasto
            ContaEgreso oGasto = (this.EsMod ? this.oEgreso : new ContaEgreso());

            oGasto.ContaCuentaAuxiliarID = Util.Entero(this.cmbCuentaAuxiliar.SelectedValue);
            oGasto.Fecha            = this.dtpFecha.Value;
            oGasto.Importe          = Util.Decimal(this.txtImporte.Text);
            oGasto.TipoFormaPagoID  = Util.Entero(this.cmbFormaDePago.SelectedValue);
            oGasto.FolioDePago      = this.txtFolioDePago.Text;
            oGasto.FolioFactura     = this.txtFolioFactura.Text;
            oGasto.BancoCuentaID    = (int?)this.cmbCuentaBancaria.SelectedValue;
            oGasto.TipoDocumentoID  = (iDocID > 0 ? iDocID : null);
            oGasto.EsFiscal         = this.chkEsFiscal.Checked;
            oGasto.Observaciones    = this.txtObservaciones.Text;
            oGasto.RealizoUsuarioID = GlobalClass.UsuarioGlobal.UsuarioID;
            oGasto.SucursalID       = GlobalClass.SucursalID;
            Datos.Guardar <ContaEgreso>(oGasto);
            // Se guarda el detalle, si aplica
            foreach (DataGridViewRow Fila in this.dgvDetalle.Rows)
            {
                if (Fila.IsNewRow)
                {
                    continue;
                }

                int iCambioID = Util.Entero(Fila.Cells["_Cambio"].Value);
                if (iCambioID == Cat.TiposDeAfectacion.SinCambios)
                {
                    continue;
                }

                ContaEgresoDetalle oGastoDet;
                if (iCambioID == Cat.TiposDeAfectacion.Agregar)
                {
                    oGastoDet = new ContaEgresoDetalle();
                    oGastoDet.ContaEgresoID = oGasto.ContaEgresoID;
                }
                else
                {
                    oGastoDet = (Fila.Tag as ContaEgresoDetalle);
                    if (iCambioID == Cat.TiposDeAfectacion.Borrar)
                    {
                        Datos.Eliminar <ContaEgresoDetalle>(oGastoDet, true);
                        continue;
                    }
                }
                oGastoDet.ContaConsumibleID = Util.Entero(Fila.Cells["ContaConsumibleID"].Value);
                oGastoDet.Cantidad          = Util.Decimal(Fila.Cells["Cantidad"].Value);
                oGastoDet.Importe           = Util.Decimal(Fila.Cells["Precio"].Value);
                Datos.Guardar <ContaEgresoDetalle>(oGastoDet);
            }
            // Se manda devengar automáticamente, si aplica
            ContaProc.GastoVerDevengarAutomaticamente(oGasto);

            // Se ejecutan procesos para gastos nuevos únicamente
            if (!this.EsMod)
            {
                // Se crean la pólizas contable correspondientes (AfeConta),
                ContaProc.CrearPolizasDeGastoContable(oGasto);

                // Se crea el movimiento bancario correspondiente, si aplica
                // Como se afecta la cuenta de bancos, se crea el movimiento bancario para mandarlo a conciliación y así llevar el control de todos los
                // movimientos bancarios
                if (oGasto.TipoFormaPagoID == Cat.FormasDePago.Cheque || oGasto.TipoFormaPagoID == Cat.FormasDePago.Tarjeta ||
                    oGasto.TipoFormaPagoID == Cat.FormasDePago.Transferencia)
                {
                    var oMovBanc = new BancoCuentaMovimiento()
                    {
                        BancoCuentaID   = oGasto.BancoCuentaID,
                        EsIngreso       = false,
                        Fecha           = oGasto.Fecha,
                        FechaAsignado   = oGasto.Fecha,
                        SucursalID      = oGasto.SucursalID,
                        Importe         = oGasto.Importe,
                        Concepto        = oGasto.Observaciones,
                        Referencia      = oGasto.FolioFactura,
                        TipoFormaPagoID = oGasto.TipoFormaPagoID,
                        RelacionTabla   = Cat.Tablas.ContaEgreso,
                        RelacionID      = oGasto.ContaEgresoID
                    };
                    ContaProc.RegistrarMovimientoBancario(oMovBanc);
                }
            }

            Cargando.Cerrar();

            // Se muestra una notificación
            this.RestaurarControles();
            UtilLocal.MostrarNotificacion("Proceso completado correctamente.");

            return(true);
        }
Пример #2
0
        public bool AccionGuardar()
        {
            // Se valida
            if (!this.Validar()) return false;

            Cargando.Mostrar();

            // Se guardan los datos
            // DateTime dAhora = DateTime.Now;
            int? iDocID = Util.Entero(this.cmbDocumento.SelectedValue);
            // Se guarda el gasto
            ContaEgreso oGasto = (this.EsMod ? this.oEgreso : new ContaEgreso());
            oGasto.ContaCuentaAuxiliarID = Util.Entero(this.cmbCuentaAuxiliar.SelectedValue);
            oGasto.Fecha = this.dtpFecha.Value;
            oGasto.Importe = Util.Decimal(this.txtImporte.Text);
            oGasto.TipoFormaPagoID = Util.Entero(this.cmbFormaDePago.SelectedValue);
            oGasto.FolioDePago = this.txtFolioDePago.Text;
            oGasto.FolioFactura = this.txtFolioFactura.Text;
            oGasto.BancoCuentaID = (int?)this.cmbCuentaBancaria.SelectedValue;
            oGasto.TipoDocumentoID = (iDocID > 0 ? iDocID : null);
            oGasto.EsFiscal = this.chkEsFiscal.Checked;
            oGasto.Observaciones = this.txtObservaciones.Text;
            oGasto.RealizoUsuarioID = GlobalClass.UsuarioGlobal.UsuarioID;
            oGasto.SucursalID = GlobalClass.SucursalID;
            Datos.Guardar<ContaEgreso>(oGasto);
            // Se guarda el detalle, si aplica
            foreach (DataGridViewRow Fila in this.dgvDetalle.Rows)
            {
                if (Fila.IsNewRow) continue;

                int iCambioID = Util.Entero(Fila.Cells["_Cambio"].Value);
                if (iCambioID == Cat.TiposDeAfectacion.SinCambios) continue;

                ContaEgresoDetalle oGastoDet;
                if (iCambioID == Cat.TiposDeAfectacion.Agregar)
                {
                    oGastoDet = new ContaEgresoDetalle();
                    oGastoDet.ContaEgresoID = oGasto.ContaEgresoID;
                }
                else
                {
                    oGastoDet = (Fila.Tag as ContaEgresoDetalle);
                    if (iCambioID == Cat.TiposDeAfectacion.Borrar)
                    {
                        Datos.Eliminar<ContaEgresoDetalle>(oGastoDet, true);
                        continue;
                    }
                }
                oGastoDet.ContaConsumibleID = Util.Entero(Fila.Cells["ContaConsumibleID"].Value);
                oGastoDet.Cantidad = Util.Decimal(Fila.Cells["Cantidad"].Value);
                oGastoDet.Importe = Util.Decimal(Fila.Cells["Precio"].Value);
                Datos.Guardar<ContaEgresoDetalle>(oGastoDet);
            }
            // Se manda devengar automáticamente, si aplica
            ContaProc.GastoVerDevengarAutomaticamente(oGasto);

            // Se ejecutan procesos para gastos nuevos únicamente
            if (!this.EsMod)
            {
                // Se crean la pólizas contable correspondientes (AfeConta),
                ContaProc.CrearPolizasDeGastoContable(oGasto);

                // Se crea el movimiento bancario correspondiente, si aplica
                // Como se afecta la cuenta de bancos, se crea el movimiento bancario para mandarlo a conciliación y así llevar el control de todos los
                // movimientos bancarios
                if (oGasto.TipoFormaPagoID == Cat.FormasDePago.Cheque || oGasto.TipoFormaPagoID == Cat.FormasDePago.Tarjeta
                    || oGasto.TipoFormaPagoID == Cat.FormasDePago.Transferencia)
                {
                    var oMovBanc = new BancoCuentaMovimiento()
                    {
                        BancoCuentaID = oGasto.BancoCuentaID,
                        EsIngreso = false,
                        Fecha = oGasto.Fecha,
                        FechaAsignado = oGasto.Fecha,
                        SucursalID = oGasto.SucursalID,
                        Importe = oGasto.Importe,
                        Concepto = oGasto.Observaciones,
                        Referencia = oGasto.FolioFactura,
                        TipoFormaPagoID = oGasto.TipoFormaPagoID,
                        RelacionTabla = Cat.Tablas.ContaEgreso,
                        RelacionID = oGasto.ContaEgresoID
                    };
                    ContaProc.RegistrarMovimientoBancario(oMovBanc);
                }
            }

            Cargando.Cerrar();

            // Se muestra una notificación
            this.RestaurarControles();
            UtilLocal.MostrarNotificacion("Proceso completado correctamente.");

            return true;
        }