/// <summary> En este metodo tomamos los datos mostrados en el informe y se convierte en un objeto de dominio /// para que se puedan lamacenar los intereses. /// </summary> /// <param name="ttbl"> datable con los datos a procesar. </param> private void contruirGuardar(DataTable ttbl) { ahorroCadtCausacion = new List <tblAhorrosCdtsCausacion>(); for (int a = 0; a < ttbl.Rows.Count; a++) { tblAhorrosCdtsCausacion causacion = new tblAhorrosCdtsCausacion(); causacion.intNumeroCdt = Convert.ToInt32(ttbl.Rows[a]["intNumeroCdt"]); causacion.dtmFechaCausacion = Convert.ToDateTime(ttbl.Rows[a]["dtmFechaCausacion"]); causacion.decMonto = Convert.ToDecimal(ttbl.Rows[a]["decMontoCdt"]); causacion.decInteresCdt = Convert.ToDecimal(ttbl.Rows[a]["decInteresesCdt"]); causacion.intDias = Convert.ToInt32(ttbl.Rows[a]["intDias"]); causacion.decDiario = Convert.ToDecimal(ttbl.Rows[a]["decDiario"]); causacion.decValorCausacion = Convert.ToDecimal(ttbl.Rows[a]["decValorCausacion"]); causacion.strFormulario = "frmAhorrosCdtCausacion"; ahorroCadtCausacion.Add(causacion); } }
/// <summary> Consulta los datos de una causación. </summary> /// <param name="tintCdt"> Cdt al que se le va a causar la causación. </param> /// <returns> Un objeto del tipo tblAhorrosCdt. </returns> public tblAhorrosCdtsCausacion gmtdCalcularCausacionCdt(Int32 tintCdt) { tblAhorrosCdt cdt = new daoAhorrosCdt().gmtdConsultarCdt(tintCdt); tblAhorrosCdtsCausacion causacion = new tblAhorrosCdtsCausacion(); causacion.dtmFechaCausacion = DateTime.Now; causacion.decDiario = cdt.decMontoCdt * ((cdt.decInteresMensualCdt / 30) / 100); causacion.decInteresCdt = cdt.decInteresesCdt; causacion.intDias = DateTime.Now.Date.Day; if (causacion.intDias > 30) { causacion.intDias = 30; } causacion.decValorCausacion = causacion.intDias * causacion.decDiario; causacion.decMonto = cdt.decMontoCdt; causacion.intNumeroCdt = cdt.intNumeroCdt; return(causacion); }
/// <summary> Consulta si para un determinado año y mes hay causación para un cdt. </summary> /// <param name="tintCdt"> Cdt al que se le va a causar la causación. </param> /// <returns> un valor que indica si hay causación registrada para un Cdt en una año - mes determinado. </returns> public bool gmtdConsultarExistenciaCausacionCdt(Int32 tintCdt) { tblAhorrosCdtsCausacion causacion = new tblAhorrosCdtsCausacion(); using (dbExequial2010DataContext ahorros = new dbExequial2010DataContext()) { var query = from det in ahorros.tblAhorrosCdtsCausacions where det.bitAnulado == false && det.dtmFechaCausacion.Year == DateTime.Now.Year && det.dtmFechaCausacion.Month == DateTime.Now.Month && det.intNumeroCdt == tintCdt select det; if (query.ToList().Count > 0) { return(true); } else { return(false); } } }
/// <summary> Inserta una causación a un cdt si no existe para una determinada fecha. </summary> /// <param name="tintCdt"> El cdt a causar.</param> /// <returns> Un valor que indica si la causación para el cdt en la fecha actual ya existe. </returns> public bool gmtdInsertarCausacionIndividual(int tintCdt) { if (!this.gmtdConsultarExistenciaCausacionCdt(tintCdt)) { tblAhorrosCdtsCausacion causacion = this.gmtdCalcularCausacionCdt(tintCdt); causacion.strFormulario = "liquidar CDT."; List <tblAhorrosCdtsCausacion> lstCausaciones = new List <tblAhorrosCdtsCausacion>(); lstCausaciones.Add(causacion); if (this.gmtdInsertar(lstCausaciones).Substring(0, 1) == "-") { return(false); } else { return(true); } } else { return(true); } }