public Boolean SaveMovimiento(ref ObservableCollection <Movimiento> Items, Movimiento.TInterfazMovimientos x_opcion) { try { return(BL_Movimiento.Save(ref Items, x_opcion)); } catch (Exception) { throw; } }
public Boolean SaveMovimiento(ref Movimiento Item, Entities.Movimiento.TInterfazMovimiento x_opcion) { try { return(BL_Movimiento.Save(ref Item, x_opcion)); } catch (Exception) { throw; } }
public Boolean Save(ref Planillas Item) { try { String x_usuario = ""; DataAccessEnterpriseSQL.DABeginTransaction(); Boolean m_isCorrect = true; switch (Item.Instance) { case Infrastructure.Aspect.BusinessEntity.InstanceEntity.Added: m_isCorrect = Insert(ref Item); x_usuario = Item.AUDI_UsrCrea; foreach (Entities.DetCtaCte item in Item.ListDetCtaCte) { item.Instance = Infrastructure.Aspect.BusinessEntity.InstanceEntity.Added; } break; case Infrastructure.Aspect.BusinessEntity.InstanceEntity.Modified: m_isCorrect = Update(ref Item); x_usuario = Item.AUDI_UsrMod; break; case Infrastructure.Aspect.BusinessEntity.InstanceEntity.Deleted: m_isCorrect = Delete(ref Item); break; } /* * Grabar Detalle de las planillas */ foreach (Movimiento item in Item.ListMovimiento) { item.AUDI_UsrMod = x_usuario; item.PLAN_Codigo = Item.PLAN_Codigo; item.PLAN_Tipo = Item.PLAN_Tipo; String _tipo = ""; switch (Item.PLAN_Tipo) { case "DET": _tipo = Item.PLAN_Tipo; break; case "WWW": _tipo = "BAN"; break; default: _tipo = Item.PLAN_Tipo; break; } item.MOVI_Referencia = String.Format("[Cod. Pla.:{2}-{0}] {1}", Item.PLAN_Codigo, Item.PLAN_Concepto, _tipo); Entities.Movimiento _item = item; m_isCorrect = BL_Movimiento.Save(ref _item, Movimiento.TInterfazMovimiento.RegistroPlanilla); item.MOVI_Codigo = _item.MOVI_Codigo; } /* * Grabar detalle de Cta Cte */ foreach (DetCtaCte iDetCtaCte in Item.ListDetCtaCte) { switch (iDetCtaCte.Instance) { case Infrastructure.Aspect.BusinessEntity.InstanceEntity.Unchanged: break; case Infrastructure.Aspect.BusinessEntity.InstanceEntity.Added: iDetCtaCte.AUDI_UsrCrea = x_usuario; break; case Infrastructure.Aspect.BusinessEntity.InstanceEntity.Modified: iDetCtaCte.AUDI_UsrMod = x_usuario; break; case Infrastructure.Aspect.BusinessEntity.InstanceEntity.Deleted: break; default: break; } #region Guardar el detalle de Transacciones iDetCtaCte.EMPR_Codigo = Item.EMPR_Codigo; iDetCtaCte.MOVI_Codigo = Item.ListMovimiento[0].MOVI_Codigo; iDetCtaCte.TIPO_TabMND = Item.ItemCuentasBancarias.TIPO_TabMND; iDetCtaCte.TIPO_CodMND = Item.ItemCuentasBancarias.TIPO_CodMND; //iDetCtaCte.CCCT_TipoCambio = Item.TipoCambio; iDetCtaCte.DCCT_TipoCambio = iDetCtaCte.CCCT_TipoCambio.Value; //Item.TipoCambio; iDetCtaCte.DCCT_FechaTrans = DateTime.Now; iDetCtaCte.DCCT_PagoDetraccion = (Item.TPlanilla == Planillas.TipoPlanilla.Detracciones); Decimal TipoCambio = iDetCtaCte.DCCT_TipoCambio; #region Movimiento de Egreso /* * Realizar las operaciones correspondientes para un Egreso */ iDetCtaCte.DCCT_MontoHaber = 0; iDetCtaCte.DCCT_MontoHaberD = 0; iDetCtaCte.CONS_TabTDC = Infrastructure.Aspect.Constants.Util.GetTTipoMovimientoDetCtaCte(); iDetCtaCte.CONS_CodTDC = Infrastructure.Aspect.Constants.Util.GetTTipoMovimientoDetCtaCte(Infrastructure.Aspect.Constants.TTipoMovimientoDetCtaCte.Pago); /* * Verificar la Moneda de la Cuenta Bancaria */ if (Item.ItemCuentasBancarias.TIPO_CodMND.Equals(Infrastructure.Aspect.Constants.Util.getMoneda(TMoneda.Soles))) { /* * Si la Moneda de la cuenta bancaria es S/. (Nuevos Soles) * - Vericar la moneda del documento para realizar la conversión para los campos correspondientes */ if (iDetCtaCte.TIPO_CodMND.Equals(Util.getMoneda(TMoneda.Soles))) { iDetCtaCte.DCCT_PPago = 0; iDetCtaCte.DCCT_MontoDebe = (iDetCtaCte.CCCT_Pendiente.HasValue ? iDetCtaCte.CCCT_Pendiente.Value : 0); iDetCtaCte.DCCT_PPagoD = 0; iDetCtaCte.DCCT_MontoDebeD = Math.Round((iDetCtaCte.CCCT_Pendiente.HasValue ? iDetCtaCte.CCCT_Pendiente.Value : 0) / TipoCambio, 2, MidpointRounding.AwayFromZero); } else if (iDetCtaCte.TIPO_CodMND.Equals(Util.getMoneda(TMoneda.Dolares))) { iDetCtaCte.DCCT_PPago = 0; iDetCtaCte.DCCT_MontoDebe = Math.Round((iDetCtaCte.CCCT_Pendiente.HasValue ? iDetCtaCte.CCCT_Pendiente.Value : 0) * TipoCambio, 2, MidpointRounding.AwayFromZero); iDetCtaCte.DCCT_PPagoD = 0; iDetCtaCte.DCCT_MontoDebeD = (iDetCtaCte.CCCT_Pendiente.HasValue ? iDetCtaCte.CCCT_Pendiente.Value : 0); } } else if (Item.ItemCuentasBancarias.TIPO_CodMND.Equals(Infrastructure.Aspect.Constants.Util.getMoneda(TMoneda.Dolares))) { /* * Si la Moneda de la cuenta Bancaria es en US$ (Dolares Americanos) * - Vericar la moneda del documento para realizar la conversión para los campos correspondientes */ if (iDetCtaCte.TIPO_CodMND.Equals(Util.getMoneda(TMoneda.Soles))) { iDetCtaCte.DCCT_PPago = 0; iDetCtaCte.DCCT_MontoDebe = (iDetCtaCte.CCCT_Pendiente.HasValue ? iDetCtaCte.CCCT_Pendiente.Value : 0); if (iDetCtaCte.CCCT_Pendiente.HasValue) { iDetCtaCte.DCCT_PPagoD = 0; iDetCtaCte.DCCT_MontoDebeD = Math.Round(iDetCtaCte.CCCT_Pendiente.Value / TipoCambio, 2, MidpointRounding.AwayFromZero); } } else if (iDetCtaCte.TIPO_CodMND.Equals(Util.getMoneda(TMoneda.Dolares))) { iDetCtaCte.DCCT_PPago = 0; iDetCtaCte.DCCT_MontoDebe = Math.Round((iDetCtaCte.CCCT_Pendiente.HasValue ? iDetCtaCte.CCCT_Pendiente.Value : 0) * TipoCambio, 2, MidpointRounding.AwayFromZero); iDetCtaCte.DCCT_PPagoD = 0; iDetCtaCte.DCCT_MontoDebeD = (iDetCtaCte.CCCT_Pendiente.HasValue ? iDetCtaCte.CCCT_Pendiente.Value : 0); } } #endregion /* * Realizar la Operación de Grabado en la Base de datosm según la Instancia de la Clase */ Entities.DetCtaCte _idetctacte = iDetCtaCte; BL_DetCtaCte.Save(ref _idetctacte); #endregion } #region [ Generar Asientos de los Movimientos Generados ] foreach (Movimiento iMovi in Item.ListMovimiento) { GAsientos genAsientos = new GAsientos(GAsientos.TipoAsiento.AsientoCaja); genAsientos.ItemMovimiento = iMovi; genAsientos.GenerarAsientoBD(Item.AUDI_UsrCrea); } #endregion if (m_isCorrect) { DataAccessEnterpriseSQL.DACommitTransaction(); } else { DataAccessEnterpriseSQL.DARollbackTransaction(); } return(m_isCorrect); } catch (Exception) { DataAccessEnterpriseSQL.DARollbackTransaction(); throw; } }
public Boolean Save(ref Transferencia Item) { try { DataAccessEnterpriseSQL.DABeginTransaction(); Boolean m_isCorrect = true; String x_Usuario = ""; switch (Item.Instance) { case Infrastructure.Aspect.BusinessEntity.InstanceEntity.Added: x_Usuario = Item.AUDI_UsrCrea; m_isCorrect = Insert(ref Item); foreach (Movimiento iMov in Item.ListIngresos) { iMov.Instance = InstanceEntity.Added; iMov.AUDI_UsrCrea = x_Usuario; } foreach (Movimiento iMov in Item.ListEgresos) { iMov.Instance = InstanceEntity.Added; iMov.AUDI_UsrCrea = x_Usuario; } foreach (GastosBancarios iGas in Item.ListGastosBancarios) { iGas.Instance = InstanceEntity.Added; iGas.AUDI_UsrCrea = x_Usuario; } break; case Infrastructure.Aspect.BusinessEntity.InstanceEntity.Modified: x_Usuario = Item.AUDI_UsrMod; m_isCorrect = Update(ref Item); break; // case Infrastructure.Aspect.BusinessEntity.InstanceEntity.Deleted: // m_isCorrect = Delete(ref Item); //break; } /* * Grabar Detalles */ /* * Movimientos de Ingresos */ foreach (Movimiento iMov in Item.ListIngresosEliminados) { Movimiento _mov = iMov; _mov.TRAN_Codigo = Item.TRAN_Codigo; _mov.EMPR_Codigo = Item.EMPR_Codigo; _mov.AUDI_UsrMod = x_Usuario; _mov.Instance = InstanceEntity.Deleted; BL_Movimiento.Save(ref _mov, Movimiento.TInterfazMovimiento.Transferencia); } foreach (Movimiento iMov in Item.ListIngresos) { Movimiento _mov = iMov; _mov.TRAN_Codigo = Item.TRAN_Codigo; _mov.EMPR_Codigo = Item.EMPR_Codigo; _mov.AUDI_UsrMod = x_Usuario; m_isCorrect = BL_Movimiento.Save(ref _mov, Movimiento.TInterfazMovimiento.Transferencia); } /* * Moviemientos de Egresos */ foreach (Movimiento iMov in Item.ListEgresosEliminados) { Movimiento _mov = iMov; _mov.TRAN_Codigo = Item.TRAN_Codigo; _mov.EMPR_Codigo = Item.EMPR_Codigo; _mov.AUDI_UsrMod = x_Usuario; _mov.Instance = InstanceEntity.Deleted; BL_Movimiento.Save(ref _mov, Movimiento.TInterfazMovimiento.Transferencia); } foreach (Movimiento iMov in Item.ListEgresos) { Movimiento _mov = iMov; _mov.TRAN_Codigo = Item.TRAN_Codigo; _mov.EMPR_Codigo = Item.EMPR_Codigo; _mov.AUDI_UsrMod = x_Usuario; m_isCorrect = BL_Movimiento.Save(ref _mov, Movimiento.TInterfazMovimiento.Transferencia); } /* * Gastos Bancarios */ foreach (GastosBancarios iGBan in Item.ListGastosBancariosEliminados) { GastosBancarios _gban = iGBan; _gban.Instance = InstanceEntity.Deleted; BL_GastosBancarios.Save(ref _gban); } foreach (GastosBancarios iGBan in Item.ListGastosBancarios) { GastosBancarios _gban = iGBan; _gban.TRAN_Codigo = Item.TRAN_Codigo; _gban.EMPR_Codigo = Item.EMPR_Codigo; switch (_gban.Instance) { case InstanceEntity.Added: _gban.AUDI_UsrCrea = x_Usuario; break; case InstanceEntity.Modified: _gban.AUDI_UsrMod = x_Usuario; break; } m_isCorrect = BL_GastosBancarios.Save(ref _gban); } if (m_isCorrect) { GAsientos genAsientos = new GAsientos(GAsientos.TipoAsiento.AsientoTransferencia); genAsientos.ItemTransferencia = Item; genAsientos.GenerarAsientoBD(x_Usuario); } /* * Termninar la transacción */ if (m_isCorrect) { DataAccessEnterpriseSQL.DACommitTransaction(); } else { DataAccessEnterpriseSQL.DARollbackTransaction(); } return(m_isCorrect); } catch (Exception) { DataAccessEnterpriseSQL.DARollbackTransaction(); throw; } }