private void CrearPoliza(DataGridViewRow oFilaGasto) { decimal mImporte = Util.Decimal(oFilaGasto.Cells["Importe"].Value); var frmGastoPol = new GastoCajaAPoliza(mImporte); if (frmGastoPol.ShowDialog(Principal.Instance) == DialogResult.OK) { // Se llenan los datos del gasto int iEgresoID = Util.Entero(oFilaGasto.Cells["CajaEgresoID"].Value); var oGasto = Datos.GetEntity<CajaEgreso>(c => c.CajaEgresoID == iEgresoID && c.Estatus); oGasto.Facturado = frmGastoPol.Facturado; oGasto.FolioFactura = frmGastoPol.Folio; oGasto.FechaFactura = frmGastoPol.Fecha; oGasto.Subtotal = frmGastoPol.Subtotal; oGasto.Iva = frmGastoPol.Iva; Datos.Guardar<CajaEgreso>(oGasto); // Se manda crear la Póliza, si no es de Proveedores var oContaEgreso = Datos.GetEntity<ContaEgreso>(c => c.ContaEgresoID == oGasto.ContaEgresoID); if (oContaEgreso == null || !Datos.Exists<ContaCuentaAuxiliar>(c => c.ContaCuentaAuxiliarID == oContaEgreso.ContaCuentaAuxiliarID && c.ContaCuentaDeMayorID == Cat.ContaCuentasDeMayor.Proveedores)) { var oUsuario = Datos.GetEntity<Usuario>(c => c.UsuarioID == oGasto.RealizoUsuarioID && c.Estatus); // Caso especial para reparto de utilidades if (Datos.Exists<ContaCuentaAuxiliar>(c => c.ContaCuentaAuxiliarID == oContaEgreso.ContaCuentaAuxiliarID && c.ContaCuentaDeMayorID == Cat.ContaCuentasDeMayor.ReparteDeUtilidades)) { ContaProc.CrearPolizaAfectacion(Cat.ContaAfectaciones.GastoReparteUtilidades, oGasto.CajaEgresoID, oUsuario.NombreUsuario, oGasto.Concepto , oGasto.SucursalID, oGasto.Fecha); } else { if (oGasto.Facturado.Valor()) { // Se manda a afectar contabilidad (AfeConta) ContaProc.CrearPolizaAfectacion(Cat.ContaAfectaciones.GastoCajaFacturado, iEgresoID, oGasto.FolioFactura, oGasto.Concepto , oGasto.SucursalID, oGasto.Fecha); } else { // Se crea una póliza simple var oPoliza = new ContaPoliza() { Fecha = oGasto.Fecha, ContaTipoPolizaID = Cat.ContaTiposDePoliza.Egreso, Concepto = oGasto.Concepto, SucursalID = oGasto.SucursalID, RelacionTabla = Cat.Tablas.CajaEgreso, RelacionID = iEgresoID }; ContaProc.CrearPoliza(oPoliza, Cat.ContaCuentasAuxiliares.GastosNoDeducibles, Cat.ContaCuentasAuxiliares.Caja, oGasto.Importe , oUsuario.NombreUsuario); } } } // Se marca el gasto como afectado, y se guardan los datos oGasto.AfectadoEnPolizas = true; Datos.Guardar<CajaEgreso>(oGasto); this.LlenarGastos(); } frmGastoPol.Dispose(); }
private void CrearPoliza(DataGridViewRow oFilaGasto) { decimal mImporte = Util.Decimal(oFilaGasto.Cells["Importe"].Value); var frmGastoPol = new GastoCajaAPoliza(mImporte); if (frmGastoPol.ShowDialog(Principal.Instance) == DialogResult.OK) { // Se llenan los datos del gasto int iEgresoID = Util.Entero(oFilaGasto.Cells["CajaEgresoID"].Value); var oGasto = Datos.GetEntity <CajaEgreso>(c => c.CajaEgresoID == iEgresoID && c.Estatus); oGasto.Facturado = frmGastoPol.Facturado; oGasto.FolioFactura = frmGastoPol.Folio; oGasto.FechaFactura = frmGastoPol.Fecha; oGasto.Subtotal = frmGastoPol.Subtotal; oGasto.Iva = frmGastoPol.Iva; Datos.Guardar <CajaEgreso>(oGasto); // Se manda crear la Póliza, si no es de Proveedores var oContaEgreso = Datos.GetEntity <ContaEgreso>(c => c.ContaEgresoID == oGasto.ContaEgresoID); if (oContaEgreso == null || !Datos.Exists <ContaCuentaAuxiliar>(c => c.ContaCuentaAuxiliarID == oContaEgreso.ContaCuentaAuxiliarID && c.ContaCuentaDeMayorID == Cat.ContaCuentasDeMayor.Proveedores)) { var oUsuario = Datos.GetEntity <Usuario>(c => c.UsuarioID == oGasto.RealizoUsuarioID && c.Estatus); // Caso especial para reparto de utilidades if (Datos.Exists <ContaCuentaAuxiliar>(c => c.ContaCuentaAuxiliarID == oContaEgreso.ContaCuentaAuxiliarID && c.ContaCuentaDeMayorID == Cat.ContaCuentasDeMayor.ReparteDeUtilidades)) { ContaProc.CrearPolizaAfectacion(Cat.ContaAfectaciones.GastoReparteUtilidades, oGasto.CajaEgresoID, oUsuario.NombreUsuario, oGasto.Concepto , oGasto.SucursalID, oGasto.Fecha); } else { if (oGasto.Facturado.Valor()) { // Se manda a afectar contabilidad (AfeConta) ContaProc.CrearPolizaAfectacion(Cat.ContaAfectaciones.GastoCajaFacturado, iEgresoID, oGasto.FolioFactura, oGasto.Concepto , oGasto.SucursalID, oGasto.Fecha); } else { // Se crea una póliza simple var oPoliza = new ContaPoliza() { Fecha = oGasto.Fecha, ContaTipoPolizaID = Cat.ContaTiposDePoliza.Egreso, Concepto = oGasto.Concepto, SucursalID = oGasto.SucursalID, RelacionTabla = Cat.Tablas.CajaEgreso, RelacionID = iEgresoID }; ContaProc.CrearPoliza(oPoliza, Cat.ContaCuentasAuxiliares.GastosNoDeducibles, Cat.ContaCuentasAuxiliares.Caja, oGasto.Importe , oUsuario.NombreUsuario); } } } // Se marca el gasto como afectado, y se guardan los datos oGasto.AfectadoEnPolizas = true; Datos.Guardar <CajaEgreso>(oGasto); this.LlenarGastos(); } frmGastoPol.Dispose(); }