private bool Delete(ref MovimientoFlujo Item) { try { if (Item.Instance == Infrastructure.Aspect.BusinessEntity.InstanceEntity.Deleted) { DataAccessEnterpriseSQL.DAAsignarProcedure("CAJ_MFLUSD_UnReg"); DataAccessEnterpriseSQL.DAAgregarParametro("@psinEMPR_Codigo", Item.EMPR_Codigo, SqlDbType.SmallInt, 2, ParameterDirection.Input); DataAccessEnterpriseSQL.DAAgregarParametro("@pintMOVI_Codigo", Item.MOVI_Codigo, SqlDbType.Int, 4, ParameterDirection.Input); DataAccessEnterpriseSQL.DAAgregarParametro("@psinMFLU_Item", Item.MFLU_Item, SqlDbType.SmallInt, 2, ParameterDirection.Input); if (DataAccessEnterpriseSQL.DAExecuteNonQuery() > 0) { return(true); } else { return(false); } } else { return(true); } } catch (Exception) { throw; } }
private MovimientoFlujo SelectOne(Int16 EMPR_Codigo, Int32 MOVI_Codigo, Int16 MFLU_Item) { try { MovimientoFlujo item = new MovimientoFlujo(); DataAccessEnterpriseSQL.DAAsignarProcedure("CAJ_MFLUSS_UnReg"); DataAccessEnterpriseSQL.DAAgregarParametro("@psinEMPR_Codigo", EMPR_Codigo, SqlDbType.SmallInt, 2, ParameterDirection.Input); DataAccessEnterpriseSQL.DAAgregarParametro("@pintMOVI_Codigo", MOVI_Codigo, SqlDbType.Int, 4, ParameterDirection.Input); DataAccessEnterpriseSQL.DAAgregarParametro("@psinMFLU_Item", MFLU_Item, SqlDbType.SmallInt, 2, ParameterDirection.Input); using (IDataReader reader = DataAccessEnterpriseSQL.DAExecuteReader()) { if (reader.Read()) { Loader.LoadEntity(reader, item); item.Instance = InstanceEntity.Unchanged; } else { throw new Exception("No se encontro el registro."); } } return(item); } catch (Exception) { throw; } }
private bool Update(ref MovimientoFlujo Item) { try { if (Item.Instance == Infrastructure.Aspect.BusinessEntity.InstanceEntity.Modified) { DataAccessEnterpriseSQL.DAAsignarProcedure("CAJ_MFLUSU_UnReg"); DataAccessEnterpriseSQL.DAAgregarParametro("@psinEMPR_Codigo", Item.EMPR_Codigo, SqlDbType.SmallInt, 2, ParameterDirection.Input); DataAccessEnterpriseSQL.DAAgregarParametro("@pintMOVI_Codigo", Item.MOVI_Codigo, SqlDbType.Int, 4, ParameterDirection.Input); DataAccessEnterpriseSQL.DAAgregarParametro("@psinMFLU_Item", Item.MFLU_Item, SqlDbType.SmallInt, 2, ParameterDirection.Input); DataAccessEnterpriseSQL.DAAgregarParametro("@pvchFLUJ_Codigo", Item.FLUJ_Codigo, SqlDbType.VarChar, 20, ParameterDirection.Input); DataAccessEnterpriseSQL.DAAgregarParametro("@pchrMFLU_Flujo", Item.MFLU_Flujo, SqlDbType.Char, 1, ParameterDirection.Input); DataAccessEnterpriseSQL.DAAgregarParametro("@pdecMFLU_Porcentaje", Item.MFLU_Porcentaje, SqlDbType.Decimal, 5, 2, ParameterDirection.Input); DataAccessEnterpriseSQL.DAAgregarParametro("@pdecMFLU_Monto", Item.MFLU_Monto, SqlDbType.Decimal, 15, 2, ParameterDirection.Input); DataAccessEnterpriseSQL.DAAgregarParametro("@pvchAUDI_UsrMod", Item.AUDI_UsrMod, SqlDbType.VarChar, 20, ParameterDirection.Input); if (DataAccessEnterpriseSQL.DAExecuteNonQuery() > 0) { return(true); } else { return(false); } } else { return(true); } } catch (Exception) { throw; } }
public BLMovimientoFlujo(IUnityContainer container) { this.ContainerService = container; Loader = new BusinessEntityLoader <MovimientoFlujo>(); MovimientoFlujo Item = new MovimientoFlujo(); Loader.EntityType = Item.GetType(); }
public Boolean SaveMovimientoFlujo(ref MovimientoFlujo Item) { try { if (Item.Instance != Infrastructure.Aspect.BusinessEntity.InstanceEntity.Unchanged) { return(BL_MovimientoFlujo.Save(ref Item)); } return(true); } catch (Exception) { throw; } }
private bool Insert(ref MovimientoFlujo Item) { try { if (Item.Instance == Infrastructure.Aspect.BusinessEntity.InstanceEntity.Added) { DataAccessEnterpriseSQL.DAAsignarProcedure("CAJ_MFLUSI_UnReg"); DataAccessEnterpriseSQL.DAAgregarParametro("@psinEMPR_Codigo", Item.EMPR_Codigo, SqlDbType.SmallInt, 2, ParameterDirection.InputOutput); DataAccessEnterpriseSQL.DAAgregarParametro("@pintMOVI_Codigo", Item.MOVI_Codigo, SqlDbType.Int, 4, ParameterDirection.InputOutput); DataAccessEnterpriseSQL.DAAgregarParametro("@psinMFLU_Item", Item.MFLU_Item, SqlDbType.SmallInt, 2, ParameterDirection.InputOutput); DataAccessEnterpriseSQL.DAAgregarParametro("@pvchFLUJ_Codigo", Item.FLUJ_Codigo, SqlDbType.VarChar, 20, ParameterDirection.Input); DataAccessEnterpriseSQL.DAAgregarParametro("@pchrMFLU_Flujo", Item.MFLU_Flujo, SqlDbType.Char, 1, ParameterDirection.Input); DataAccessEnterpriseSQL.DAAgregarParametro("@pdecMFLU_Porcentaje", Item.MFLU_Porcentaje, SqlDbType.Decimal, 5, 2, ParameterDirection.Input); DataAccessEnterpriseSQL.DAAgregarParametro("@pdecMFLU_Monto", Item.MFLU_Monto, SqlDbType.Decimal, 15, 2, ParameterDirection.Input); DataAccessEnterpriseSQL.DAAgregarParametro("@pvchAUDI_UsrCrea", Item.AUDI_UsrCrea, SqlDbType.VarChar, 20, ParameterDirection.Input); if (DataAccessEnterpriseSQL.DAExecuteNonQuery() > 0) { Int16 _EMPR_Codigo; if (Int16.TryParse(DataAccessEnterpriseSQL.DASqlCommand.Parameters["@psinEMPR_Codigo"].Value.ToString(), out _EMPR_Codigo)) { Item.EMPR_Codigo = _EMPR_Codigo; } Int32 _MOVI_Codigo; if (Int32.TryParse(DataAccessEnterpriseSQL.DASqlCommand.Parameters["@pintMOVI_Codigo"].Value.ToString(), out _MOVI_Codigo)) { Item.MOVI_Codigo = _MOVI_Codigo; } Int16 _MFLU_Item; if (Int16.TryParse(DataAccessEnterpriseSQL.DASqlCommand.Parameters["@psinMFLU_Item"].Value.ToString(), out _MFLU_Item)) { Item.MFLU_Item = _MFLU_Item; } return(true); } else { return(false); } } else { return(true); } } catch (Exception) { throw; } }
public Boolean Save(ref MovimientoFlujo Item) { try { Boolean m_isCorrect = true; switch (Item.Instance) { case Infrastructure.Aspect.BusinessEntity.InstanceEntity.Added: m_isCorrect = Insert(ref Item); break; case Infrastructure.Aspect.BusinessEntity.InstanceEntity.Modified: m_isCorrect = Update(ref Item); break; case Infrastructure.Aspect.BusinessEntity.InstanceEntity.Deleted: m_isCorrect = Delete(ref Item); break; } return(m_isCorrect); } catch (Exception) { throw; } }
private ObservableCollection <MovimientoFlujo> SelectAll() { try { ObservableCollection <MovimientoFlujo> items = new ObservableCollection <MovimientoFlujo>(); MovimientoFlujo item = new MovimientoFlujo(); DataAccessEnterpriseSQL.DAAsignarProcedure("CAJ_MFLUSS_Todos"); using (IDataReader reader = DataAccessEnterpriseSQL.DAExecuteReader()) { while (reader.Read()) { item = new MovimientoFlujo(); Loader.LoadEntity(reader, item); item.Instance = InstanceEntity.Unchanged; items.Add(item); } } return(items); } catch (Exception) { throw; } }
private ObservableCollection <MovimientoFlujo> SelectAllByFilter(String x_procedure, ObservableCollection <Infrastructure.Aspect.DataAccess.DataAccessFilterSQL> x_filters) { try { ObservableCollection <MovimientoFlujo> items = new ObservableCollection <MovimientoFlujo>(); MovimientoFlujo item = new MovimientoFlujo(); if (!String.IsNullOrEmpty(x_procedure)) { DataAccessEnterpriseSQL.DAAsignarProcedure(x_procedure); } else { DataAccessEnterpriseSQL.DAAsignarProcedure("CAJ_MFLUSS_TodosByFilters"); } if (x_filters != null && x_filters.Count > 0) { foreach (Infrastructure.Aspect.DataAccess.DataAccessFilterSQL _itemFilter in x_filters) { DataAccessEnterpriseSQL.DAAgregarParametro(_itemFilter.FilterName, _itemFilter.FilterValue, _itemFilter.FilterSQLType, _itemFilter.FilterSize); } } using (IDataReader reader = DataAccessEnterpriseSQL.DAExecuteReader()) { while (reader.Read()) { item = new MovimientoFlujo(); Loader.LoadEntity(reader, item); item.Instance = InstanceEntity.Unchanged; items.Add(item); } } return(items); } catch (Exception) { throw; } }
public Boolean Save(ref Movimiento Item) { try { Boolean m_isCorrect = true; DataAccessEnterpriseSQL.DABeginTransaction(); String x_Usuario = ""; GAsientos genAsientos; #region [ Cabecera de Movimiento ] genAsientos = new GAsientos(GAsientos.TipoAsiento.AsientoCaja); switch (Item.Instance) { case Infrastructure.Aspect.BusinessEntity.InstanceEntity.Added: m_isCorrect = Insert(ref Item); if (Item.ListDetCtaCte != null) { foreach (Entities.DetCtaCte item in Item.ListDetCtaCte) { item.CCCT_Pendiente = Math.Abs(item.CCCT_Pendiente.Value); item.Instance = InstanceEntity.Added; } } Item.ItemCtaCteDescuadre = new CtaCte(); Item.ItemCtaCteDescuadre.Instance = InstanceEntity.Added; Item.ItemCtaCteDescuadre.AUDI_UsrCrea = Item.AUDI_UsrCrea; Item.ItemCtaCteDescuadre.ItemDetCtaCte = new DetCtaCte(); Item.ItemCtaCteDescuadre.ItemDetCtaCte.AUDI_UsrCrea = Item.AUDI_UsrCrea; Item.ItemCtaCteDescuadre.CCCT_FechaEmision = Item.MOVI_FecEmision; x_Usuario = Item.AUDI_UsrCrea; if (Item.ListFlujos != null && Item.ListFlujos.Count > 0) { foreach (Entities.MovimientoFlujo _movimientoFlujo in Item.ListFlujos) { MovimientoFlujo movimientoFlujo = _movimientoFlujo; movimientoFlujo.EMPR_Codigo = Item.EMPR_Codigo; movimientoFlujo.AUDI_UsrCrea = Item.AUDI_UsrCrea; movimientoFlujo.MOVI_Codigo = Item.MOVI_Codigo; //iMovimientoFlujo.CUBA_Codigo = Item.CUBA_Codigo; _movimientoFlujo.Instance = InstanceEntity.Added; m_isCorrect = BL_MovimientoFlujo.Save(ref movimientoFlujo); if (!m_isCorrect) { //Item.SetMensajeError(String.Format("* No se puede grabar la Chequera Numero {0}.", iMovimientoFlujo.MFLU_Item)); break; } } } if (Item.ListTipificaciones != null && Item.ListTipificaciones.Count > 0) { foreach (Entities.Tipificaciones iTipificacion in Item.ListTipificaciones) { Tipificaciones _tipificacion = iTipificacion; _tipificacion.EMPR_Codigo = Item.EMPR_Codigo; _tipificacion.MOVI_Codigo = Item.MOVI_Codigo; _tipificacion.AUDI_UsrCrea = Item.AUDI_UsrCrea; _tipificacion.Instance = InstanceEntity.Added; m_isCorrect = BL_Tipificaciones.Save(ref _tipificacion); } } break; case Infrastructure.Aspect.BusinessEntity.InstanceEntity.Modified: m_isCorrect = Update(ref Item); foreach (Entities.DetCtaCte item in Item.ListDetCtaCte) { item.CCCT_Pendiente = Math.Abs(item.CCCT_Pendiente.Value); } if (Item.ItemCtaCteDescuadre == null) { Item.ItemCtaCteDescuadre = new CtaCte(); Item.ItemCtaCteDescuadre.Instance = InstanceEntity.Added; } Item.ItemCtaCteDescuadre.AUDI_UsrMod = Item.AUDI_UsrMod; x_Usuario = Item.AUDI_UsrMod; #region [ Flujos ] /* Eliminar los registros */ if (Item.ListFlujosEliminados != null && Item.ListFlujosEliminados.Count > 0) { foreach (Entities.MovimientoFlujo iMovimientoFlujo in Item.ListFlujosEliminados) { MovimientoFlujo MovimientoFlujo = iMovimientoFlujo; MovimientoFlujo.Instance = InstanceEntity.Deleted; BL_MovimientoFlujo.Save(ref MovimientoFlujo); } } /* Agregar o actualizar los registros */ if (Item.ListFlujos != null && Item.ListFlujos.Count > 0) { foreach (Entities.MovimientoFlujo iMovimientoFlujo in Item.ListFlujos) { MovimientoFlujo MovimientoFlujo = iMovimientoFlujo; MovimientoFlujo.EMPR_Codigo = Item.EMPR_Codigo; if (MovimientoFlujo.Instance == InstanceEntity.Added) { MovimientoFlujo.AUDI_UsrCrea = Item.AUDI_UsrCrea; } else if (MovimientoFlujo.Instance == InstanceEntity.Modified) { MovimientoFlujo.AUDI_UsrMod = Item.AUDI_UsrMod; } MovimientoFlujo.MOVI_Codigo = Item.MOVI_Codigo; m_isCorrect = BL_MovimientoFlujo.Save(ref MovimientoFlujo); if (!m_isCorrect) {// Item.SetMensajeError(String.Format("* No se puede grabar la Chequera Numero {0}.", _iChequera.CHEQ_Codigo)); break; } } } #endregion #region [ Tipificaciones ] if (Item.ListTipificacionesEliminados != null && Item.ListTipificacionesEliminados.Count > 0) { foreach (Entities.Tipificaciones iTipEli in Item.ListTipificacionesEliminados) { Tipificaciones _tipificacion = iTipEli; _tipificacion.Instance = InstanceEntity.Deleted; BL_Tipificaciones.Save(ref _tipificacion); } } if (Item.ListTipificaciones != null && Item.ListTipificaciones.Count > 0) { foreach (Entities.Tipificaciones iTipificacion in Item.ListTipificaciones) { Tipificaciones _tipificacion = iTipificacion; _tipificacion.EMPR_Codigo = Item.EMPR_Codigo; if (_tipificacion.Instance == InstanceEntity.Added) { _tipificacion.AUDI_UsrCrea = Item.AUDI_UsrMod; } else if (_tipificacion.Instance == InstanceEntity.Modified) { _tipificacion.AUDI_UsrMod = Item.AUDI_UsrMod; } _tipificacion.MOVI_Codigo = Item.MOVI_Codigo; m_isCorrect = BL_Tipificaciones.Save(ref _tipificacion); } } #endregion break; case Infrastructure.Aspect.BusinessEntity.InstanceEntity.Deleted: m_isCorrect = Delete(ref Item); break; } #endregion #region Detalles de CtaCte if (Item.ListDetCtaCteEliminados != null && Item.ListDetCtaCteEliminados.Count > 0) { foreach (Entities.DetCtaCte iDetCtaCte in Item.ListDetCtaCteEliminados) { Entities.DetCtaCte _idetctacte = iDetCtaCte; _idetctacte.Instance = InstanceEntity.Deleted; BL_DetCtaCte.Save(ref _idetctacte); } } if (Item.ListDetCtaCte != null && Item.ListDetCtaCte.Count > 0) { foreach (Entities.DetCtaCte iDetCtaCte in Item.ListDetCtaCte) { switch (iDetCtaCte.Instance) { case InstanceEntity.Unchanged: break; case InstanceEntity.Added: iDetCtaCte.AUDI_UsrCrea = x_Usuario; break; case InstanceEntity.Modified: iDetCtaCte.AUDI_UsrMod = x_Usuario; break; case InstanceEntity.Deleted: break; default: break; } #region Guardar el detalle de Transacciones iDetCtaCte.EMPR_Codigo = Item.EMPR_Codigo; iDetCtaCte.MOVI_Codigo = Item.MOVI_Codigo; iDetCtaCte.TIPO_TabMND = Item.ItemCuentasBancarias.TIPO_TabMND; iDetCtaCte.TIPO_CodMND = Item.ItemCuentasBancarias.TIPO_CodMND; iDetCtaCte.CCCT_TipoCambio = Item.MOVI_TipoCambio; iDetCtaCte.DCCT_FechaTrans = DateTime.Now; String TipoMovimiento = Item.TIPO_Movimiento.TIPO_Desc2; if (Item.TIPO_Movimiento.TIPO_Desc2.Equals("I")) { if (iDetCtaCte.TipoCtaCte.Equals("-")) { if (iDetCtaCte.TIPO_CodTDO.Equals(Entities.Tipos.GetTipo(Entities.Tipos.TipoTDO.NotaCredito))) { Item.TIPO_Movimiento.TIPO_Desc2 = "E"; } else { Item.TIPO_Movimiento.TIPO_Desc2 = "E"; } } } else if (Item.TIPO_Movimiento.TIPO_Desc2.Equals("E")) { if (iDetCtaCte.TipoCtaCte.Equals("-")) { if (iDetCtaCte.TIPO_CodTDO.Equals(Entities.Tipos.GetTipo(Entities.Tipos.TipoTDO.NotaCredito))) { Item.TIPO_Movimiento.TIPO_Desc2 = "I"; } else { Item.TIPO_Movimiento.TIPO_Desc2 = "I"; } } } Decimal TipoCambio = iDetCtaCte.DCCT_TipoCambio; if (Item.TIPO_Movimiento.TIPO_Desc2.Equals("E")) { #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))) { #region Realizar ajustes si es Diferido - DEBE /* Cambio - Cheques Diferidos - 02/05/2016 - Por Proceso Incompleto - El diferido debe grabarse igual que un cheque normal */ if (Item.TIPO_CodMOV.Equals(Item.GetTipoMovimiento(Entities.Movimiento.TipoMovimiento.EgresosChequeDiferido)) || Item.TIPO_CodMOV.Equals(Item.GetTipoMovimiento(Entities.Movimiento.TipoMovimiento.IngresosDiferidos))) { iDetCtaCte.DCCT_PPago = (iDetCtaCte.CCCT_Pendiente.HasValue ? iDetCtaCte.CCCT_Pendiente.Value : 0); //iDetCtaCte.DCCT_MontoDebe = 0; iDetCtaCte.DCCT_PPagoD = Math.Round((iDetCtaCte.CCCT_Pendiente.HasValue ? iDetCtaCte.CCCT_Pendiente.Value : 0) / TipoCambio, 2, MidpointRounding.AwayFromZero); //iDetCtaCte.DCCT_MontoDebeD = 0; } else { 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); } iDetCtaCte.DCCT_MontoDebe = (iDetCtaCte.CCCT_Pendiente.HasValue ? iDetCtaCte.CCCT_Pendiente.Value : 0); iDetCtaCte.DCCT_MontoDebeD = Math.Round((iDetCtaCte.CCCT_Pendiente.HasValue ? iDetCtaCte.CCCT_Pendiente.Value : 0) / TipoCambio, 2, MidpointRounding.AwayFromZero); /* Fin de Cambio - Cheques Diferidos - 02/05/2016 */ #endregion } else if (iDetCtaCte.TIPO_CodMND.Equals(Util.getMoneda(TMoneda.Dolares))) { #region Realizar ajustes si es Diferido - DEBE /* Cambio - Cheques Diferidos - 02/05/2016 - Por Proceso Incompleto - El diferido debe grabarse igual que un cheque normal */ if (Item.TIPO_CodMOV.Equals(Item.GetTipoMovimiento(Entities.Movimiento.TipoMovimiento.EgresosChequeDiferido)) || Item.TIPO_CodMOV.Equals(Item.GetTipoMovimiento(Entities.Movimiento.TipoMovimiento.IngresosDiferidos))) { iDetCtaCte.DCCT_PPago = Math.Round((iDetCtaCte.CCCT_Pendiente.HasValue ? iDetCtaCte.CCCT_Pendiente.Value : 0) * TipoCambio, 2, MidpointRounding.AwayFromZero); //iDetCtaCte.DCCT_MontoDebe = 0; iDetCtaCte.DCCT_PPagoD = (iDetCtaCte.CCCT_Pendiente.HasValue ? iDetCtaCte.CCCT_Pendiente.Value : 0); //iDetCtaCte.DCCT_MontoDebeD = 0; } else { 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); } iDetCtaCte.DCCT_MontoDebe = Math.Round((iDetCtaCte.CCCT_Pendiente.HasValue ? iDetCtaCte.CCCT_Pendiente.Value : 0) * TipoCambio, 2, MidpointRounding.AwayFromZero); iDetCtaCte.DCCT_MontoDebeD = (iDetCtaCte.CCCT_Pendiente.HasValue ? iDetCtaCte.CCCT_Pendiente.Value : 0); /* Fin de Cambio - Cheques Diferidos - 02/05/2016 */ #endregion } } 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))) { #region Realizar ajustes si es Diferido - DEBE /* Cambio - Cheques Diferidos - 02/05/2016 - Por Proceso Incompleto - El diferido debe grabarse igual que un cheque normal */ if (Item.TIPO_CodMOV.Equals(Item.GetTipoMovimiento(Entities.Movimiento.TipoMovimiento.EgresosChequeDiferido)) || Item.TIPO_CodMOV.Equals(Item.GetTipoMovimiento(Entities.Movimiento.TipoMovimiento.IngresosDiferidos))) { iDetCtaCte.DCCT_PPago = (iDetCtaCte.CCCT_Pendiente.HasValue ? iDetCtaCte.CCCT_Pendiente.Value : 0); //iDetCtaCte.DCCT_MontoDebe = 0; if (iDetCtaCte.CCCT_Pendiente.HasValue) { iDetCtaCte.DCCT_PPagoD = Math.Round(iDetCtaCte.CCCT_Pendiente.Value / TipoCambio, 2, MidpointRounding.AwayFromZero); //iDetCtaCte.DCCT_MontoDebeD = 0; } } else { 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); } } iDetCtaCte.DCCT_MontoDebe = (iDetCtaCte.CCCT_Pendiente.HasValue ? iDetCtaCte.CCCT_Pendiente.Value : 0); if (iDetCtaCte.CCCT_Pendiente.HasValue) { iDetCtaCte.DCCT_MontoDebeD = Math.Round(iDetCtaCte.CCCT_Pendiente.Value / TipoCambio, 2, MidpointRounding.AwayFromZero); } /* Fin de Cambio - Cheques Diferidos - 02/05/2016 */ #endregion } else if (iDetCtaCte.TIPO_CodMND.Equals(Util.getMoneda(TMoneda.Dolares))) { #region Realizar ajustes si es Diferido - DEBE /* Cambio - Cheques Diferidos - 02/05/2016 - Por Proceso Incompleto - El diferido debe grabarse igual que un cheque normal */ if (Item.TIPO_CodMOV.Equals(Item.GetTipoMovimiento(Entities.Movimiento.TipoMovimiento.EgresosChequeDiferido)) || Item.TIPO_CodMOV.Equals(Item.GetTipoMovimiento(Entities.Movimiento.TipoMovimiento.IngresosDiferidos))) { iDetCtaCte.DCCT_PPago = Math.Round((iDetCtaCte.CCCT_Pendiente.HasValue ? iDetCtaCte.CCCT_Pendiente.Value : 0) * TipoCambio, 2, MidpointRounding.AwayFromZero); //iDetCtaCte.DCCT_MontoDebe = 0; iDetCtaCte.DCCT_PPagoD = (iDetCtaCte.CCCT_Pendiente.HasValue ? iDetCtaCte.CCCT_Pendiente.Value : 0); //iDetCtaCte.DCCT_MontoDebeD = 0; } else { 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); } iDetCtaCte.DCCT_MontoDebe = Math.Round((iDetCtaCte.CCCT_Pendiente.HasValue ? iDetCtaCte.CCCT_Pendiente.Value : 0) * TipoCambio, 2, MidpointRounding.AwayFromZero); iDetCtaCte.DCCT_MontoDebeD = (iDetCtaCte.CCCT_Pendiente.HasValue ? iDetCtaCte.CCCT_Pendiente.Value : 0); /* Fin de Cambio - Cheques Diferidos - 02/05/2016 */ #endregion } } #endregion } else if (Item.TIPO_Movimiento.TIPO_Desc2.Equals("I")) { #region Movimiento de Ingreso /* * Realizar las operaciones correspondientes para un Ingreso */ iDetCtaCte.DCCT_MontoDebe = 0; iDetCtaCte.DCCT_MontoDebeD = 0; iDetCtaCte.CONS_TabTDC = Infrastructure.Aspect.Constants.Util.GetTTipoMovimientoDetCtaCte(); iDetCtaCte.CONS_CodTDC = Infrastructure.Aspect.Constants.Util.GetTTipoMovimientoDetCtaCte(Infrastructure.Aspect.Constants.TTipoMovimientoDetCtaCte.Provision); /* * 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))) { TipoCambio = iDetCtaCte.DCCT_TipoCambio; #region Realizar ajustes si es Diferido - HABER /* Cambio - Cheques Diferidos - 02/05/2016 - Por Proceso Incompleto */ if (Item.TIPO_CodMOV.Equals(Item.GetTipoMovimiento(Entities.Movimiento.TipoMovimiento.IngresosDiferidos)) || Item.TIPO_CodMOV.Equals(Item.GetTipoMovimiento(Entities.Movimiento.TipoMovimiento.EgresosChequeDiferido))) { iDetCtaCte.DCCT_PPago = (iDetCtaCte.CCCT_Pendiente.HasValue ? iDetCtaCte.CCCT_Pendiente.Value : 0); //iDetCtaCte.DCCT_MontoHaber = 0; } else { iDetCtaCte.DCCT_PPago = 0; //iDetCtaCte.DCCT_MontoHaber = (iDetCtaCte.CCCT_Pendiente.HasValue ? iDetCtaCte.CCCT_Pendiente.Value : 0); } iDetCtaCte.DCCT_MontoHaber = (iDetCtaCte.CCCT_Pendiente.HasValue ? iDetCtaCte.CCCT_Pendiente.Value : 0); /* Fin de Cambio - Cheques Diferidos - 02/05/2016 */ #endregion if (iDetCtaCte.CCCT_Pendiente.HasValue) { #region Realizar ajustes si es Diferido - HABER /* Cambio - Cheques Diferidos - 02/05/2016 - Por Proceso Incompleto - El diferido debe grabarse igual que un cheque normal */ if (Item.TIPO_CodMOV.Equals(Item.GetTipoMovimiento(Entities.Movimiento.TipoMovimiento.IngresosDiferidos)) || Item.TIPO_CodMOV.Equals(Item.GetTipoMovimiento(Entities.Movimiento.TipoMovimiento.EgresosChequeDiferido))) { iDetCtaCte.DCCT_PPagoD = Math.Round(iDetCtaCte.CCCT_Pendiente.Value / TipoCambio, 2, MidpointRounding.AwayFromZero); //iDetCtaCte.DCCT_MontoHaberD = 0; } else { iDetCtaCte.DCCT_PPagoD = 0; //iDetCtaCte.DCCT_MontoHaberD = Math.Round(iDetCtaCte.CCCT_Pendiente.Value / TipoCambio, 2, MidpointRounding.AwayFromZero); } iDetCtaCte.DCCT_MontoHaberD = Math.Round(iDetCtaCte.CCCT_Pendiente.Value / TipoCambio, 2, MidpointRounding.AwayFromZero); /* Fin de Cambio - Cheques Diferidos - 02/05/2016 */ #endregion } } else if (iDetCtaCte.TIPO_CodMND.Equals(Util.getMoneda(TMoneda.Dolares))) { TipoCambio = iDetCtaCte.DCCT_TipoCambio; #region Realizar ajustes si es Diferido - HABER /* Cambio - Cheques Diferidos - 02/05/2016 - Por Proceso Incompleto - El diferido debe grabarse igual que un cheque normal */ if (Item.TIPO_CodMOV.Equals(Item.GetTipoMovimiento(Entities.Movimiento.TipoMovimiento.IngresosDiferidos)) || Item.TIPO_CodMOV.Equals(Item.GetTipoMovimiento(Entities.Movimiento.TipoMovimiento.EgresosChequeDiferido))) { //iDetCtaCte.DCCT_MontoHaber = 0; //iDetCtaCte.DCCT_MontoHaberD = 0; iDetCtaCte.DCCT_PPago = Math.Round((iDetCtaCte.CCCT_Pendiente.HasValue ? iDetCtaCte.CCCT_Pendiente.Value : 0) * TipoCambio, 2, MidpointRounding.AwayFromZero); iDetCtaCte.DCCT_PPagoD = (iDetCtaCte.CCCT_Pendiente.HasValue ? iDetCtaCte.CCCT_Pendiente.Value : 0); } else { //iDetCtaCte.DCCT_MontoHaber = Math.Round((iDetCtaCte.CCCT_Pendiente.HasValue ? iDetCtaCte.CCCT_Pendiente.Value : 0) * TipoCambio, 2, MidpointRounding.AwayFromZero); //iDetCtaCte.DCCT_MontoHaberD = (iDetCtaCte.CCCT_Pendiente.HasValue ? iDetCtaCte.CCCT_Pendiente.Value : 0); iDetCtaCte.DCCT_PPago = 0; iDetCtaCte.DCCT_PPagoD = 0; } iDetCtaCte.DCCT_MontoHaber = Math.Round((iDetCtaCte.CCCT_Pendiente.HasValue ? iDetCtaCte.CCCT_Pendiente.Value : 0) * TipoCambio, 2, MidpointRounding.AwayFromZero); iDetCtaCte.DCCT_MontoHaberD = (iDetCtaCte.CCCT_Pendiente.HasValue ? iDetCtaCte.CCCT_Pendiente.Value : 0); /* Fin de Cambio - Cheques Diferidos - 02/05/2016 */ #endregion } } 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))) { TipoCambio = iDetCtaCte.DCCT_TipoCambio; #region Realizar ajustes si es Diferido - HABER /* Cambio - Cheques Diferidos - 02/05/2016 - Por Proceso Incompleto - El diferido debe grabarse igual que un cheque normal */ if (Item.TIPO_CodMOV.Equals(Item.GetTipoMovimiento(Entities.Movimiento.TipoMovimiento.IngresosDiferidos)) || Item.TIPO_CodMOV.Equals(Item.GetTipoMovimiento(Entities.Movimiento.TipoMovimiento.EgresosChequeDiferido))) { iDetCtaCte.DCCT_PPago = (iDetCtaCte.CCCT_Pendiente.HasValue ? iDetCtaCte.CCCT_Pendiente.Value : 0); //iDetCtaCte.DCCT_MontoHaber = 0; if (iDetCtaCte.CCCT_Pendiente.HasValue) { iDetCtaCte.DCCT_PPagoD = Math.Round(iDetCtaCte.CCCT_Pendiente.Value / TipoCambio, 2, MidpointRounding.AwayFromZero); //iDetCtaCte.DCCT_MontoHaberD = 0; } } else { iDetCtaCte.DCCT_PPago = 0; //iDetCtaCte.DCCT_MontoHaber = (iDetCtaCte.CCCT_Pendiente.HasValue ? iDetCtaCte.CCCT_Pendiente.Value : 0); if (iDetCtaCte.CCCT_Pendiente.HasValue) { iDetCtaCte.DCCT_PPagoD = 0; //iDetCtaCte.DCCT_MontoHaberD = Math.Round(iDetCtaCte.CCCT_Pendiente.Value / TipoCambio, 2, MidpointRounding.AwayFromZero); } } iDetCtaCte.DCCT_MontoHaber = (iDetCtaCte.CCCT_Pendiente.HasValue ? iDetCtaCte.CCCT_Pendiente.Value : 0); if (iDetCtaCte.CCCT_Pendiente.HasValue) { iDetCtaCte.DCCT_MontoHaberD = Math.Round(iDetCtaCte.CCCT_Pendiente.Value / TipoCambio, 2, MidpointRounding.AwayFromZero); } /* Fin de Cambio - Cheques Diferidos - 02/05/2016 */ #endregion } else if (iDetCtaCte.TIPO_CodMND.Equals(Util.getMoneda(TMoneda.Dolares))) { TipoCambio = iDetCtaCte.DCCT_TipoCambio; #region Realizar ajustes si es Diferido - HABER /* Cambio - Cheques Diferidos - 02/05/2016 - Por Proceso Incompleto - El diferido debe grabarse igual que un cheque normal */ if (Item.TIPO_CodMOV.Equals(Item.GetTipoMovimiento(Entities.Movimiento.TipoMovimiento.IngresosDiferidos)) || Item.TIPO_CodMOV.Equals(Item.GetTipoMovimiento(Entities.Movimiento.TipoMovimiento.EgresosChequeDiferido))) { iDetCtaCte.DCCT_PPago = Math.Round((iDetCtaCte.CCCT_Pendiente.HasValue ? iDetCtaCte.CCCT_Pendiente.Value : 0) * TipoCambio, 2, MidpointRounding.AwayFromZero); //iDetCtaCte.DCCT_MontoHaber = 0; if (iDetCtaCte.CCCT_Pendiente.HasValue) { iDetCtaCte.DCCT_PPagoD = iDetCtaCte.CCCT_Pendiente.Value; //iDetCtaCte.DCCT_MontoHaberD = 0; } } else { iDetCtaCte.DCCT_PPago = 0; //iDetCtaCte.DCCT_MontoHaber = Math.Round((iDetCtaCte.CCCT_Pendiente.HasValue ? iDetCtaCte.CCCT_Pendiente.Value : 0) * TipoCambio, 2, MidpointRounding.AwayFromZero); if (iDetCtaCte.CCCT_Pendiente.HasValue) { iDetCtaCte.DCCT_PPagoD = 0; //iDetCtaCte.DCCT_MontoHaberD = iDetCtaCte.CCCT_Pendiente.Value; } } iDetCtaCte.DCCT_MontoHaber = Math.Round((iDetCtaCte.CCCT_Pendiente.HasValue ? iDetCtaCte.CCCT_Pendiente.Value : 0) * TipoCambio, 2, MidpointRounding.AwayFromZero); if (iDetCtaCte.CCCT_Pendiente.HasValue) { iDetCtaCte.DCCT_MontoHaberD = iDetCtaCte.CCCT_Pendiente.Value; } /* Fin de Cambio - Cheques Diferidos - 02/05/2016 */ #endregion } } #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); Item.TIPO_Movimiento.TIPO_Desc2 = TipoMovimiento; #endregion } #region Liquidacion - Terminar if (Item.EsLiquidacion) { Entities.Liquidacion _itemLiquidacion = new Liquidacion(); _itemLiquidacion.EMPR_Codigo = Item.EMPR_Codigo; _itemLiquidacion.LIQU_Codigo = Item.Liquidacion.LIQU_Codigo; _itemLiquidacion.AUDI_UsrMod = x_Usuario; _itemLiquidacion.SetEstado(Liquidacion.Estado.Liquidado); m_isCorrect = BL_Liquidacion.Save(ref _itemLiquidacion, Liquidacion.TOperacion.Liquidar); } #endregion } #region Guardar Si existe un Descuadre m_isCorrect = GuardarDescuadre(ref Item, x_Usuario); #endregion #endregion #region Grabar Flujos #endregion #region [ Generar Asiento Contable ] if (m_isCorrect) { genAsientos.ItemMovimiento = Item; switch (Item.Instance) { case InstanceEntity.Unchanged: break; case InstanceEntity.Added: genAsientos.GenerarAsientoBD(x_Usuario); //m_isCorrect = genAsientos.GenerarAsiento(x_Usuario, Item.SUCR_Codigo); //if (m_isCorrect) //{ genAsientos.ActualizarMovimiento(x_Usuario); } break; case InstanceEntity.Modified: genAsientos.GenerarAsientoBD(x_Usuario); //m_isCorrect = genAsientos.ActualizarAsiento(Item.AUDI_UsrMod, Item.SUCR_Codigo); break; case InstanceEntity.Deleted: break; default: break; } } #endregion if (m_isCorrect) { DataAccessEnterpriseSQL.DACommitTransaction(); } else { DataAccessEnterpriseSQL.DARollbackTransaction(); } return(m_isCorrect); } catch (Exception) { DataAccessEnterpriseSQL.DARollbackTransaction(); throw; } }