/// <summary> Consulta los datos de la liquidación de una cuenta de ahorro a futuro. </summary> /// <param name="tstrCuenta"> Cuenta de la que se desea conocer los datos de liquidación. </param> /// <returns> Un objeto con los datos de la liquidacion. </returns> public LiquidacionAhorroaFuturo gmtdCalcularLiquidacionAhorroaFuturo(string tstrCuenta) { LiquidacionAhorroaFuturo liquidacion = new LiquidacionAhorroaFuturo(); using (dbExequial2010DataContext ahorros = new dbExequial2010DataContext()) { var query = from det in ahorros.tblAhorrosaFuturoDetalles where det.bitPagada == true && det.strCuenta == tstrCuenta select det; int intCuotasPagadas = query.ToList().Count; var query1 = from cue in ahorros.tblAhorrosaFuturos join per in ahorros.tblAhorradores on cue.strCedulaAho equals per.strCedulaAho where cue.bitAnulado == false && cue.bitLiquidada == false && cue.strCuenta == tstrCuenta select new { cue.strCuenta, cue.strCedulaAho, per.strNombreAho, per.strApellido1Aho, per.strApellido2Aho, cue.bitLiquidada, cue.dtmFechaCuenta, cue.dtmFechaLiquidada, cue.fltIntereses, cue.fltPremios, cue.fltValorCuota, cue.intAno, cue.intCuotas }; foreach (var dato in query1.ToList()) { liquidacion.decDescuento = 0; liquidacion.decIntereses = Convert.ToDecimal(dato.fltIntereses); liquidacion.decPorcentajeCuotasPagadas = 0; liquidacion.decPremios = Convert.ToDecimal(dato.fltPremios); liquidacion.decTotalLiquidacion = 0; liquidacion.decTotalRecaudado = Convert.ToDecimal(dato.fltValorCuota) * intCuotasPagadas; liquidacion.intCuotasPagadas = intCuotasPagadas; liquidacion.strAhorrador = dato.strNombreAho + " " + dato.strApellido1Aho + " " + dato.strApellido2Aho; liquidacion.strCuenta = tstrCuenta; liquidacion.strCedulaAho = dato.strCedulaAho; } return(liquidacion); } }
/// <summary> Registra la liquidación de una cuenta de ahorro a futuro. </summary> /// <param name="tstrCuenta"> Cuenta de ahorro a futuro a liquidar. </param> /// <returns> Un string que indica si se registro o no la liquidación. </returns> public string gmtdLiquidarAhorroaFuturo(LiquidacionAhorroaFuturo tobjLiquidacion) { if (tobjLiquidacion.strCuenta == null || tobjLiquidacion.strCuenta.Trim() == "") { return("- Debe de ingresar la cuenta que desea liquidar. "); } if (tobjLiquidacion.decTotalRecaudado <= 0 || tobjLiquidacion.intCuotasPagadas <= 0 || tobjLiquidacion.decTotalLiquidacion <= 0 || tobjLiquidacion.decPorcentajeCuotasPagadas <= 0 || tobjLiquidacion.strAhorrador == null || tobjLiquidacion.strAhorrador == "") { if (tobjLiquidacion.strAhorrador != "") { return("- No se han hecho abonos para liquidar esta cuenta. "); } else { return("- Faltan datos para registrar la liquidación. "); } } tobjLiquidacion.log = metodos.gmtdLog("Registra la liquidación de ahorro a futuro. " + tobjLiquidacion.strCuenta, tobjLiquidacion.strFormulario); return(new daoAhorrosaFuturo().gmtdLiquidarAhorroaFuturo(tobjLiquidacion)); }
/// <summary> Consulta los datos de una cuenta si esta esta liquidada. </summary> /// <param name="tstrCuenta"> Código de la cuenta a consultar. </param> /// <returns> Un objeto del tipo LiquidacionAhorroaFuturo. </returns> public LiquidacionAhorroaFuturo gmtdConsultarCuentaLiquidada(string tstrCuenta) { using (dbExequial2010DataContext cuenta = new dbExequial2010DataContext()) { var query = from cue in cuenta.tblAhorrosaFuturos where cue.strCuenta == tstrCuenta && cue.bitLiquidada == true && cue.bitAnulado == false select cue; if (query.ToList().Count > 0) { LiquidacionAhorroaFuturo cuen = new LiquidacionAhorroaFuturo(); foreach (var dato in query.ToList()) { cuen.strCuenta = tstrCuenta; cuen.intCodigoEgr = (int)dato.intCodigoEgr; cuen.intCodigoIng = (int)dato.intCodigoIng; } return(cuen); } else { return(new LiquidacionAhorroaFuturo()); } } }
/// <summary> Elimina la liquidación de una cuenta de ahorro a futuro. </summary> /// <param name="tobjCuentaLiquidad"> Un objeto con el código de la cuenta a aliminar. </param> /// <returns> Un string que indica si se ejecuto o no la operación. </returns> public string gmtdEliminarLiquidaciondeCuenta(LiquidacionAhorroaFuturo tobjCuentaLiquidada) { if (new daoAhorrosaFuturo().gmtdConsultarCuentaLiquidada(tobjCuentaLiquidada.strCuenta).strCuenta == null) { return("- No se puede eliminar la cuenta por que no aparece liquidada. "); } LiquidacionAhorroaFuturo consulta = new daoAhorrosaFuturo().gmtdConsultarCuentaLiquidada(tobjCuentaLiquidada.strCuenta); tobjCuentaLiquidada.intCodigoEgr = consulta.intCodigoEgr; tobjCuentaLiquidada.intCodigoIng = consulta.intCodigoIng; tobjCuentaLiquidada.log = metodos.gmtdLog("Elimina la liquidación de ahorro a futuro. " + tobjCuentaLiquidada.strCuenta, tobjCuentaLiquidada.strFormulario); return(new daoAhorrosaFuturo().gmtdEliminarLiquidaciondeCuenta(tobjCuentaLiquidada)); }
/// <summary> Crea un objeto del tipo aplicación de acuerdo a la información de los texbox. </summary> /// <returns> Un objeto del tipo aplicación. </returns> private LiquidacionAhorroaFuturo crearObj() { LiquidacionAhorroaFuturo ahorroaFuturo = new LiquidacionAhorroaFuturo(); ahorroaFuturo.decDescuento = Convert.ToDecimal(this.txtDescuento.Text); ahorroaFuturo.decIntereses = Convert.ToDecimal(this.txtIntereses.Text); ahorroaFuturo.decPorcentajeCuotasPagadas = Convert.ToDecimal(this.txtPorcentajeCuotasPagadas.Text); ahorroaFuturo.decPremios = Convert.ToDecimal(this.txtPremios.Text); ahorroaFuturo.decTotalLiquidacion = Convert.ToDecimal(this.txtTotalLiquidacion.Text); ahorroaFuturo.decTotalRecaudado = Convert.ToDecimal(this.txtTotalRecaudado.Text); ahorroaFuturo.intCuotasaPagar = Convert.ToInt32(this.txtCuotasaPagar.Text); ahorroaFuturo.intCuotasPagadas = Convert.ToInt32(this.txtCuotasPagadas.Text); ahorroaFuturo.strAhorrador = this.txtAhorrador.Text; ahorroaFuturo.strCuenta = this.txtCuenta.Text; ahorroaFuturo.strFormulario = this.Name; return(ahorroaFuturo); }
private void btnCalcularLiquidacion_Click(object sender, EventArgs e) { if (this.txtCuenta.Text == null || this.txtCuenta.Text.Trim() == "" || this.txtCuenta.Text == "0") { MessageBox.Show("Debe de digitar el número de la cuenta a liquidar. ", "Liquidar", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } tblAhorrosaFuturo ahorro = new blAhorrosaFuturo().gmtdConsultar(this.txtCuenta.Text); if (ahorro.strCuenta == null) { MessageBox.Show("No se puede liquidar una cuenta que no existe. ", "Liquidar", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } if (ahorro.bitAnulado == true) { MessageBox.Show("No se puede liquidar una cuenta anulada. ", "Liquidar", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } if (ahorro.bitLiquidada == true) { MessageBox.Show("No se puede liquidar una cuenta liquidada. ", "Liquidar", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } liquidacion = new blAhorrosaFuturo().gmtdCalcularLiquidacionAhorroaFuturo(this.txtCuenta.Text); liquidacion.strComputador = Environment.MachineName; liquidacion.strUsuario = propiedades.strLogin; this.txtAhorrador.Text = liquidacion.strAhorrador; this.txtCuotasPagadas.Text = liquidacion.intCuotasPagadas.ToString(); this.txtPorcentajeCuotasPagadas.Text = liquidacion.decPorcentajeCuotasPagadas.ToString(); this.txtCuotasaPagar.Text = "12"; this.txtIntereses.Text = liquidacion.decIntereses.ToString(); this.txtPremios.Text = liquidacion.decPremios.ToString(); this.txtTotalRecaudado.Text = liquidacion.decTotalRecaudado.ToString(); this.txtDescuento.Text = liquidacion.decDescuento.ToString(); this.txtTotalLiquidacion.Text = liquidacion.decTotalLiquidacion.ToString(); }
/// <summary> Registra la liquidación de una cuenta de ahorro a futuro. </summary> /// <param name="tstrCuenta"> Cuenta de ahorro a futuro a liquidar. </param> /// <returns> Un string que indica si se registro o no la liquidación. </returns> public string gmtdLiquidarAhorroaFuturo(LiquidacionAhorroaFuturo tobjLiquidacion) { string strResultado = ""; string strIngreso = ""; string strEgreso = ""; DateTime dtmFechaActual; tblEgreso egreso = new tblEgreso(); tblIngreso ingreso = new tblIngreso(); DataTable dt = new DataTable(); tblEgresosAhorrosaFuturoLiquidacion egresoLiquidacionaFuturo = new tblEgresosAhorrosaFuturoLiquidacion(); try { egresoLiquidacionaFuturo.decValorLiquidacion = tobjLiquidacion.decTotalRecaudado; egresoLiquidacionaFuturo.strCuenta = tobjLiquidacion.strCuenta; egresoLiquidacionaFuturo.decDescuento = tobjLiquidacion.decDescuento; egreso.bitRetiroAhorroaFuturoLiquidacion = true; egreso.decTotal = tobjLiquidacion.decTotalRecaudado; egreso.dtmFechaAnu = Convert.ToDateTime("1/1/1900"); dtmFechaActual = new daoUtilidadesConfiguracion().gmtdCapturarFechadelServidor(); egreso.dtmFechaRec = dtmFechaActual; egreso.strApellido = ""; egreso.strCedulaEgre = tobjLiquidacion.strCedulaAho; egreso.strFormulario = tobjLiquidacion.strFormulario; egreso.strLetras = new blConfiguracion().montoenLetras(tobjLiquidacion.decTotalLiquidacion.ToString()); egreso.strNombre = tobjLiquidacion.strAhorrador; egreso.objEgresosAhorrosaFuturoLiquidacion = egresoLiquidacionaFuturo; if (egresoLiquidacionaFuturo.decDescuento > 0) { tblIngresosAhorrosaFuturoMulta ingresoaFuturoMulta = new tblIngresosAhorrosaFuturoMulta(); ingresoaFuturoMulta.decValorMulta = tobjLiquidacion.decDescuento; ingresoaFuturoMulta.strCuenta = tobjLiquidacion.strCuenta; ingreso.bitAhorroaFuturoMulta = true; ingreso.decTotalIng = tobjLiquidacion.decDescuento; ingreso.dtmFechaAnu = Convert.ToDateTime("1/1/1900"); ingreso.dtmFechaRec = dtmFechaActual; ingreso.strCedulaIng = tobjLiquidacion.strCedulaAho; ingreso.strComputador = tobjLiquidacion.strComputador; ingreso.strFormulario = tobjLiquidacion.strFormulario;; ingreso.strLetras = new blConfiguracion().montoenLetras(tobjLiquidacion.decDescuento.ToString()); ingreso.strNombreIng = tobjLiquidacion.strAhorrador; ingreso.strApellidoIng = ""; ingreso.strUsuario = tobjLiquidacion.strUsuario; ingreso.objIngresosAhorrosaFuturoMulta = ingresoaFuturoMulta; egreso.objIngreso = ingreso; } XmlDocument xml = blRecibosEgresos.SerializeServicio(egreso); List <SqlParameter> lstParametros = new List <SqlParameter>(); SqlParameter objParameter = new SqlParameter(); objParameter.DbType = DbType.Xml; objParameter.Direction = ParameterDirection.Input; objParameter.ParameterName = "xmlEgreso"; objParameter.Value = xml.OuterXml; lstParametros.Add(objParameter); dt = new Utilidad().ejecutarSpConeccionDB(lstParametros, Sp.spEgresoInsertar); } catch (Exception ex) { new dao().gmtdInsertarError(ex); return("- Ocurrió un error al Actualizar el registro"); } strEgreso = dt.Rows[0]["intCodigoEgr"].ToString(); strIngreso = dt.Rows[0]["intCodigoIng"].ToString(); if (egresoLiquidacionaFuturo.decDescuento > 0) { strResultado = "Se hace el registro de los siguientes recibos" + " \n " + strEgreso + " \n " + strIngreso; } else { strResultado = "Se hace el registro del siguiente egreso" + " \n " + strEgreso; } return(strResultado); }
/// <summary> Elimina la liquidación de una cuenta de ahorro a futuro. </summary> /// <param name="tobjCuentaLiquidad"> Un objeto con el código de la cuenta a aliminar. </param> /// <returns> Un string que indica si se ejecuto o no la operación. </returns> public string gmtdEliminarLiquidaciondeCuenta(LiquidacionAhorroaFuturo tobjCuentaLiquidad) { DateTime dtmFechaActual = new blConfiguracion().gmtdCapturarFechadelServidor(); String strResultado; decimal decValorLiquidacion = 0; decimal decValorMulta = 0; string strNombre = ""; string strApellido = ""; try { using (TransactionScope ts = new TransactionScope()) { using (dbExequial2010DataContext reciboEgreso = new dbExequial2010DataContext()) { tblEgreso egre_old = reciboEgreso.tblEgresos.SingleOrDefault(p => p.intCodigoEgr == tobjCuentaLiquidad.intCodigoEgr); egre_old.bitAnulado = true; egre_old.dtmFechaAnu = dtmFechaActual; decValorLiquidacion = egre_old.decTotal; strNombre = egre_old.strNombre; strApellido = egre_old.strApellido; reciboEgreso.tblLogdeActividades.InsertOnSubmit(metodos.gmtdLog("Elimino el egreso " + tobjCuentaLiquidad.intCodigoEgr.ToString(), "FrmAhorrosaFuturoLiquidacion")); reciboEgreso.SubmitChanges(); #region Mvto ingreso x anular liquidación de ahorro a futuro List <cuentaValores>[] cuotasValores = new blCuentaPar().gmtdCalcularValores("0001", decValorLiquidacion); List <cuentaValores> cuentasDebito = cuotasValores[0]; for (int a = 0; a < cuentasDebito.Count; a++) { reciboEgreso.tblCuentasOperacionesContabilidads.InsertOnSubmit(new blRecibosIngresos().gmtdMvtoContableIngresos(cuentasDebito[a].decValor, 0, cuentasDebito[a].strCuenta, "Recibo de ingreso x Anular liquidación de ahorro a futuro", 1, tobjCuentaLiquidad.strCedulaAho, strNombre + " " + strApellido, dtmFechaActual)); } List <cuentaValores> cuentasCredito = cuotasValores[1]; for (int a = 0; a < cuentasCredito.Count; a++) { reciboEgreso.tblCuentasOperacionesContabilidads.InsertOnSubmit(new blRecibosIngresos().gmtdMvtoContableIngresos(cuentasCredito[a].decValor, 0, cuentasCredito[a].strCuenta, "Recibo de ingreso x Anular liquidación de ahorro a futuro", 2, tobjCuentaLiquidad.strCedulaAho, strNombre + " " + strApellido, dtmFechaActual)); } #endregion } if (tobjCuentaLiquidad.intCodigoIng > 0) { using (dbExequial2010DataContext reciboEgreso = new dbExequial2010DataContext()) { tblIngreso ing_old = reciboEgreso.tblIngresos.SingleOrDefault(p => p.intCodigoIng == tobjCuentaLiquidad.intCodigoIng); ing_old.bitAnulado = true; ing_old.dtmFechaAnu = dtmFechaActual; decValorMulta = ing_old.decTotalIng; reciboEgreso.tblLogdeActividades.InsertOnSubmit(metodos.gmtdLog("Elimino el ingreso " + tobjCuentaLiquidad.intCodigoIng.ToString(), "FrmAhorrosaFuturoLiquidacion")); reciboEgreso.SubmitChanges(); #region Mvto egreso x anular liquidación de ahorro navideño List <cuentaValores>[] cuotasValores = new blCuentaPar().gmtdCalcularValores("0001", decValorMulta); List <cuentaValores> cuentasDebito = cuotasValores[0]; for (int a = 0; a < cuentasDebito.Count; a++) { reciboEgreso.tblCuentasOperacionesContabilidads.InsertOnSubmit(new blRecibosIngresos().gmtdMvtoContableIngresos(cuentasDebito[a].decValor, 0, cuentasDebito[a].strCuenta, "Recibo de egreso x Anular liquidación de ahorro navideño", 2, tobjCuentaLiquidad.strCedulaAho, strNombre + " " + strApellido, dtmFechaActual)); } List <cuentaValores> cuentasCredito = cuotasValores[1]; for (int a = 0; a < cuentasCredito.Count; a++) { reciboEgreso.tblCuentasOperacionesContabilidads.InsertOnSubmit(new blRecibosIngresos().gmtdMvtoContableIngresos(cuentasCredito[a].decValor, 0, cuentasCredito[a].strCuenta, "Recibo de egreso x Anular liquidación de ahorro navideño", 1, tobjCuentaLiquidad.strCedulaAho, strNombre + " " + strApellido, dtmFechaActual)); } #endregion } } using (dbExequial2010DataContext ahorro = new dbExequial2010DataContext()) { tblAhorrosaFuturo aho_old = ahorro.tblAhorrosaFuturos.SingleOrDefault(p => p.strCuenta == tobjCuentaLiquidad.strCuenta); aho_old.bitLiquidada = false; aho_old.dtmFechaLiquidada = Convert.ToDateTime("1900/01/01"); ahorro.tblLogdeActividades.InsertOnSubmit(tobjCuentaLiquidad.log); ahorro.SubmitChanges(); strResultado = "Registro Anulado"; } ts.Complete(); } } catch (Exception ex) { new dao().gmtdInsertarError(ex); strResultado = "- Ocurrió un error al Actualizar el registro"; } return(strResultado); }
/// <summary> Elimina la liquidación de una cuenta de ahorro a futuro. </summary> /// <param name="tobjCuentaLiquidad"> Un objeto con el código de la cuenta a aliminar. </param> /// <returns> Un string que indica si se ejecuto o no la operación. </returns> public string gmtdEliminarLiquidaciondeCuenta(LiquidacionAhorroaFuturo tobjCuentaLiquidada) { return(new blAhorrosaFuturo().gmtdEliminarLiquidaciondeCuenta(tobjCuentaLiquidada)); }
/// <summary> Registra la liquidación de una cuenta de ahorro a futuro. </summary> /// <param name="tstrCuenta"> Cuenta de ahorro a futuro a liquidar. </param> /// <returns> Un string que indica si se registro o no la liquidación. </returns> public string gmtdLiquidarAhorroaFuturo(LiquidacionAhorroaFuturo tobjLiquidacion) { return(new blAhorrosaFuturo().gmtdLiquidarAhorroaFuturo(tobjLiquidacion)); }