/// <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 LiquidacionAhorroNavideno. </returns> public LiquidacionAhorroNatilleraEscolar gmtdConsultarCuentaLiquidada(string tstrCuenta) { using (dbExequial2010DataContext cuenta = new dbExequial2010DataContext()) { var query = from cue in cuenta.tblAhorrosNatilleraEscolars where cue.strCuenta == tstrCuenta && cue.bitLiquidada == true && cue.bitAnulado == false select cue; if (query.ToList().Count > 0) { LiquidacionAhorroNatilleraEscolar cuen = new LiquidacionAhorroNatilleraEscolar(); foreach (var dato in query.ToList()) { cuen.strCuenta = tstrCuenta; cuen.intCodigoEgr = (int)dato.intCodigoEgr; cuen.intCodigoIng = (int)dato.intCodigoIng; } return(cuen); } else { return(new LiquidacionAhorroNatilleraEscolar()); } } }
/// <summary> Registra la liquidación de una cuenta de ahorro Navideño. </summary> /// <param name="tstrCuenta"> Cuenta de ahorro navideño a liquidar. </param> /// <param name="pstrUsuario"> Usuario que hizo la liquidación. </param> /// <param name="pstrMaquina"> Maquina desde la quie se hizo la operación. </param> /// <returns> Un string que indica si se registro o no la liquidación. </returns> public string gmtdLiquidarAhorroNatilleraEscolar(LiquidacionAhorroNatilleraEscolar tobjLiquidacion, string pstrUsuario, string pstrMaquina) { 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 Navideño. " + tobjLiquidacion.strCuenta, "FrmAhorrosNavideñoLiquidacion"); tobjLiquidacion.strCedulaAho = new blAhorrosNatilleraEscolar().gmtdConsultar(tobjLiquidacion.strCuenta).strCedulaAho; return(new daoAhorrosNatilleraEscolar().gmtdLiquidarAhorroNatilleraEscolar(tobjLiquidacion, pstrUsuario, pstrMaquina)); }
/// <summary> Consulta los datos de la liquidación de una cuenta de ahorro navideño. </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 LiquidacionAhorroNatilleraEscolar gmtdCalcularLiquidacionAhorroNatilleraEscolar(string tstrCuenta, int tintAño) { LiquidacionAhorroNatilleraEscolar liquidacion = new LiquidacionAhorroNatilleraEscolar(); using (dbExequial2010DataContext ahorros = new dbExequial2010DataContext()) { var query = from det in ahorros.tblAhorrosNatilleraEscolarDetalles join enc in ahorros.tblAhorrosNatilleraEscolars on det.strCuenta equals enc.strCuenta where det.bitPagada == true && det.strCuenta == tstrCuenta && enc.intAno == tintAño orderby det.dtmFechaCuota ascending select new { det, enc }; int intCuotasPagadas = query.ToList().Count; if (intCuotasPagadas != 38) { var queryCuotas = from det in ahorros.tblAhorrosNatilleraEscolarDetalles join enc in ahorros.tblAhorrosNatilleraEscolars on det.strCuenta equals enc.strCuenta where det.strCuenta == tstrCuenta && enc.intAno == tintAño orderby det.dtmFechaCuota ascending select det; DateTime dtmUltimaCuota = queryCuotas.ToList()[queryCuotas.ToList().Count - 1].dtmFechaCuota; if (new daoUtilidadesConfiguracion().gmtdCapturarFechadelServidor() < dtmUltimaCuota) { liquidacion.bitAplicarMulta = true; } else { liquidacion.bitAplicarMulta = false; } } var query1 = from cue in ahorros.tblAhorrosNatilleraEscolars 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; } return(liquidacion); } }
/// <summary> Elimina la liquidación de una cuenta de ahorro navideño. </summary> /// <param name="tobjCuentaLiquidad"> Un objeto con el código de la cuenta a eliminar. </param> /// <returns> Un string que indica si se ejecuto o no la operación. </returns> public string gmtdEliminarLiquidaciondeCuenta(LiquidacionAhorroNatilleraEscolar tobjCuentaLiquidada) { if (new daoAhorrosNatilleraEscolar().gmtdConsultarCuentaLiquidada(tobjCuentaLiquidada.strCuenta).strCuenta == null) { return("- No se puede eliminar la liquidación de cuenta por que no aparece liquidada. "); } LiquidacionAhorroNatilleraEscolar consulta = new daoAhorrosNatilleraEscolar().gmtdConsultarCuentaLiquidada(tobjCuentaLiquidada.strCuenta); tobjCuentaLiquidada.intCodigoEgr = consulta.intCodigoEgr; tobjCuentaLiquidada.intCodigoIng = consulta.intCodigoIng; tobjCuentaLiquidada.log = metodos.gmtdLog("Elimina la liquidación de ahorro Navideño. " + tobjCuentaLiquidada.strCuenta, tobjCuentaLiquidada.strFormulario); return(new daoAhorrosNatilleraEscolar().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 LiquidacionAhorroNatilleraEscolar crearObj() { LiquidacionAhorroNatilleraEscolar ahorroNatilleraEscolar = new LiquidacionAhorroNatilleraEscolar(); ahorroNatilleraEscolar.decDescuento = Convert.ToDecimal(this.txtDescuento.Text); ahorroNatilleraEscolar.decIntereses = Convert.ToDecimal(this.txtIntereses.Text); ahorroNatilleraEscolar.decPorcentajeCuotasPagadas = Convert.ToDecimal(this.txtPorcentajeCuotasPagadas.Text); ahorroNatilleraEscolar.decPremios = Convert.ToDecimal(this.txtPremios.Text); ahorroNatilleraEscolar.decTotalLiquidacion = Convert.ToDecimal(this.txtTotalLiquidacion.Text); ahorroNatilleraEscolar.decTotalRecaudado = Convert.ToDecimal(this.txtTotalRecaudado.Text); ahorroNatilleraEscolar.intCuotasaPagar = Convert.ToInt32(this.txtCuotasaPagar.Text); ahorroNatilleraEscolar.intCuotasPagadas = Convert.ToInt32(this.txtCuotasPagadas.Text); ahorroNatilleraEscolar.strAhorrador = this.txtAhorrador.Text; ahorroNatilleraEscolar.strCuenta = this.txtCuenta.Text; ahorroNatilleraEscolar.strFormulario = this.Name; return(ahorroNatilleraEscolar); }
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; } tblAhorrosNatilleraEscolar ahorro = new blAhorrosNatilleraEscolar().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 blAhorrosNatilleraEscolar().gmtdCalcularLiquidacionAhorroNatilleraEscolar(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 = "52"; 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> Elimina la liquidación de una cuenta de ahorro navideño. </summary> /// <param name="tobjCuentaLiquidad"> Un objeto con el código de la cuenta a eliminar. </param> /// <returns> Un string que indica si se ejecuto o no la operación. </returns> public string gmtdEliminarLiquidaciondeCuenta(LiquidacionAhorroNatilleraEscolar tobjCuentaLiquidad) { String strResultado; DateTime dtmFechaActual = new blConfiguracion().gmtdCapturarFechadelServidor(); 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 navideño 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 navideño", 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 navideño", 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 a futuro", 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 a futuro", 1, tobjCuentaLiquidad.strCedulaAho, strNombre + " " + strApellido, dtmFechaActual)); } #endregion } } using (dbExequial2010DataContext ahorro = new dbExequial2010DataContext()) { tblAhorrosNatilleraEscolar aho_old = ahorro.tblAhorrosNatilleraEscolars.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> Registra la liquidación de una cuenta de ahorro navideño. </summary> /// <param name="tstrCuenta"> Cuenta de ahorro navideño a liquidar. </param> /// <returns> Un string que indica si se registro o no la liquidación. </returns> public string gmtdLiquidarAhorroNatilleraEscolar(LiquidacionAhorroNatilleraEscolar tobjLiquidacion, string pstrUsuario, string pstrMaquina) { String strResultado; string strIngreso = ""; string strEgreso = ""; DateTime dtmFechaActual; tblEgreso egreso = new tblEgreso(); tblIngreso ingreso = new tblIngreso(); DataTable dt = new DataTable(); try { tblEgresosAhorrosNatilleraEscolarLiquidacion egresoLiquidacionNavideno = new tblEgresosAhorrosNatilleraEscolarLiquidacion(); egresoLiquidacionNavideno.strCuenta = tobjLiquidacion.strCuenta; egreso.bitRetiroAhorroNatilleraEscolarLiquidacion = true; if (tobjLiquidacion.bitAplicarMulta) { egresoLiquidacionNavideno.decValorLiquidacion = tobjLiquidacion.decTotalRecaudado; egreso.decTotal = tobjLiquidacion.decTotalRecaudado; } else { egresoLiquidacionNavideno.decValorLiquidacion = tobjLiquidacion.decTotalLiquidacion; egreso.decTotal = tobjLiquidacion.decTotalLiquidacion; } 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.strMaquina = pstrMaquina; egreso.strUsuario = pstrUsuario; egreso.objEgresosAhorrosNatilleraEscolarLiquidacion = egresoLiquidacionNavideno; 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); strResultado = "- Ocurrió un error al Actualizar el registro"; } strEgreso = dt.Rows[0]["intCodigoEgr"].ToString(); strIngreso = dt.Rows[0]["intCodigoIng"].ToString(); strResultado = "Se hace el registro del siguiente egreso" + " \n " + strEgreso; return(strResultado); }