Beispiel #1
0
        public void AddRow(ro_prestamo_detalle_Info info_det, decimal IdTransaccionSession)
        {
            List <ro_prestamo_detalle_Info> list = get_list(IdTransaccionSession);

            info_det.NumCuota = list.Count == 0 ? 1 : list.Max(q => q.NumCuota) + 1;
            list.Add(info_det);
        }
        public ro_prestamo_detalle_Info get_info(int IdEmpresa, decimal IdPrestamo, int Secuencia)
        {
            try
            {
                ro_prestamo_detalle_Info info = new ro_prestamo_detalle_Info();

                using (Entities_rrhh Context = new Entities_rrhh())
                {
                    ro_prestamo_detalle Entity = Context.ro_prestamo_detalle.FirstOrDefault(q => q.IdEmpresa == IdEmpresa && q.IdPrestamo == IdPrestamo && q.IdPrestamo == IdPrestamo);
                    if (Entity == null)
                    {
                        return(null);
                    }

                    info = new ro_prestamo_detalle_Info
                    {
                        IdEmpresa       = Entity.IdEmpresa,
                        IdPrestamo      = Entity.IdPrestamo,
                        NumCuota        = Entity.NumCuota,
                        SaldoInicial    = Entity.SaldoInicial,
                        TotalCuota      = Entity.TotalCuota,
                        Saldo           = Entity.Saldo,
                        FechaPago       = Entity.FechaPago,
                        EstadoPago      = Entity.EstadoPago,
                        Observacion_det = Entity.Observacion_det
                    };
                }

                return(info);
            }
            catch (Exception)
            {
                throw;
            }
        }
Beispiel #3
0
        public bool Modificar_Cuotas_Forma_Pago(List <ro_prestamo_detalle_Info> listadetalle)
        {
            try
            {
                int secuencia = 0;
                using (EntitiesRoles context = new EntitiesRoles())
                {
                    ro_prestamo_detalle_Info info = new ro_prestamo_detalle_Info();
                    info = listadetalle.FirstOrDefault();
                    // elimino las cuotas de estado pendientes
                    Eliminar_Cuotas_Pendientes(info.IdEmpresa, Convert.ToInt32(info.IdPrestamo));
                    var datos = (from a in context.ro_prestamo_detalle
                                 where a.IdEmpresa == info.IdEmpresa &&
                                 a.IdPrestamo == info.IdPrestamo
                                 select a);

                    if (datos.Count() > 0)
                    {
                        secuencia = (from prod in datos.Where(v => v.EstadoPago == "CAN") select prod.NumCuota).Max();
                    }

                    foreach (var Item in listadetalle)
                    {
                        secuencia = secuencia + 1;
                        ro_prestamo_detalle Deta = new ro_prestamo_detalle();
                        Deta.IdEmpresa         = Item.IdEmpresa;
                        Deta.IdPrestamo        = Item.IdPrestamo;
                        Deta.IdNominaTipoLiqui = Item.IdNominaTipoLiqui;
                        Deta.NumCuota          = secuencia;
                        Deta.SaldoInicial      = Item.SaldoInicial;
                        Deta.Interes           = Item.Interes;
                        Deta.AbonoCapital      = Item.AbonoCapital;
                        Deta.TotalCuota        = Item.TotalCuota;
                        Deta.Saldo             = Item.Saldo;
                        Deta.FechaPago         = Item.FechaPago;
                        Deta.EstadoPago        = Item.EstadoPago;
                        Deta.Estado            = Item.Estado;
                        Deta.Observacion_det   = Item.Observacion_det;
                        Deta.IdUsuario         = Item.IdUsuario;
                        Deta.Fecha_Transac     = Item.Fecha_Transac;
                        Deta.nom_pc            = Item.nom_pc;
                        Deta.ip = Item.ip;
                        context.ro_prestamo_detalle.Add(Deta);
                        context.SaveChanges();
                    }
                }

                return(true);
            }
            catch (Exception ex)
            {
                string array = ToString();
                tb_sis_Log_Error_Vzen_Data oDataLog      = new tb_sis_Log_Error_Vzen_Data();
                tb_sis_Log_Error_Vzen_Info Log_Error_sis = new tb_sis_Log_Error_Vzen_Info(ex.ToString(), "", array, "", "", "", "", "", DateTime.Now);
                oDataLog.Guardar_Log_Error(Log_Error_sis, ref mensaje);
                mensaje = ex.InnerException + " " + ex.Message;
                throw new Exception(ex.InnerException.ToString());
            }
        }
Beispiel #4
0
        public ActionResult EditingDelete([ModelBinder(typeof(DevExpressEditorsBinder))] ro_prestamo_detalle_Info info_det)
        {
            Lis_ro_prestamo_detalle_lst.DeleteRow(info_det.NumCuota, Convert.ToDecimal(SessionFixed.IdTransaccionSessionActual));
            var model = Lis_ro_prestamo_detalle_lst.get_list(Convert.ToDecimal(SessionFixed.IdTransaccionSessionActual));

            cargar_combos_detalle();
            return(PartialView("_GridViewPartial_prestamos_det", model));
        }
Beispiel #5
0
        public ro_prestamo_Info get_calculomensual(ro_prestamo_Info info)
        {
            try
            {
                info.lst_detalle = new List <ro_prestamo_detalle_Info>();
                int      periodo     = Convert.ToInt32(info.NumCuotas);
                double   valor_cuota = info.MontoSol / info.NumCuotas;
                double   saldo       = info.MontoSol;
                DateTime fecha_pago  = info.Fecha_PriPago;
                info.MontoSol = info.MontoSol;
                List <ro_prestamo_detalle_Info> listaDetalle = new List <ro_prestamo_detalle_Info>();
                for (int i = 1; i <= periodo; i++)
                {
                    ro_prestamo_detalle_Info item = new ro_prestamo_detalle_Info();

                    if (i == 1)
                    {
                        item.FechaPago = fecha_pago;
                    }
                    else
                    {
                        fecha_pago = fecha_pago.AddMonths(1);
                    }

                    item.FechaPago         = info.Fecha_PriPago;
                    item.NumCuota          = i;
                    item.TotalCuota        = valor_cuota;
                    item.Saldo             = info.MontoSol;
                    item.Saldo             = saldo - item.TotalCuota;
                    item.FechaPago         = fecha_pago;
                    item.EstadoPago        = "PEN";
                    item.Observacion_det   = "Cuota número " + i + " fecha pago " + fecha_pago.ToString("dd/MM/yyyy");
                    item.IdNominaTipoLiqui = 2;

                    saldo           = saldo - valor_cuota;
                    item.TotalCuota = Math.Round(item.TotalCuota, 2);
                    item.Saldo      = Math.Round(item.Saldo, 2);

                    info.lst_detalle.Add(item);
                }

                double diferencia = info.MontoSol - info.lst_detalle.Sum(v => v.TotalCuota);
                if (diferencia != 0)
                {
                    foreach (var item in info.lst_detalle)
                    {
                        item.TotalCuota = item.TotalCuota + diferencia;
                        break;
                    }
                }

                return(info);
            }
            catch (Exception)
            {
                throw;
            }
        }
Beispiel #6
0
        public List <ro_prestamo_detalle_Info> GetListConsultaPorEmpleado(int idEmpresa, ro_periodo_x_ro_Nomina_TipoLiqui_Info info_periodo, decimal idEmpleado)
        {
            try
            {
                List <ro_prestamo_detalle_Info> oListado = new List <ro_prestamo_detalle_Info>();

                using (EntitiesRoles db = new EntitiesRoles())
                {
                    var datos = (from a in db.vwRo_Prestamo_Detalle
                                 where a.IdEmpresa == idEmpresa &&
                                 a.IdEmpleado == idEmpleado &&
                                 a.IdNomina_Tipo == info_periodo.IdNomina_Tipo &&
                                 a.IdNominaTipoLiqui == info_periodo.IdNomina_TipoLiqui &&
                                 a.EstadoDetalle == "A" &&
                                 a.EstadoPago == "PEN" &&
                                 a.FechaPago >= info_periodo.pe_FechaIni &&
                                 a.FechaPago <= info_periodo.pe_FechaFin
                                 select a);

                    foreach (var item in datos)
                    {
                        ro_prestamo_detalle_Info info = new ro_prestamo_detalle_Info();

                        info.IdEmpresa         = item.IdEmpresa;
                        info.IdNomina_Tipo     = item.IdNomina_Tipo;
                        info.IdEmpleado        = item.IdEmpleado;
                        info.IdPrestamo        = item.IdPrestamo;
                        info.IdNominaTipoLiqui = item.IdNominaTipoLiqui;
                        info.IdRubro           = item.IdRubro;
                        info.TotalCuota        = item.TotalCuota;
                        info.NumCuota          = item.NumCuota;
                        info.SaldoInicial      = item.SaldoInicial;
                        info.Interes           = item.Interes;
                        info.AbonoCapital      = item.AbonoCapital;
                        info.ru_codRolGen      = item.ru_codRolGen;
                        info.ru_descripcion    = item.ru_descripcion;
                        info.EstadoPrestamo    = item.EstadoPrestamo;
                        info.Saldo             = item.Saldo;
                        info.FechaPago         = item.FechaPago;
                        info.EstadoPago        = item.EstadoPago;
                        info.EstadoDetalle     = item.EstadoDetalle;
                        oListado.Add(info);
                    }
                    return(oListado);
                }
            }

            catch (Exception ex)
            {
                string array = ToString();
                tb_sis_Log_Error_Vzen_Data oDataLog      = new tb_sis_Log_Error_Vzen_Data();
                tb_sis_Log_Error_Vzen_Info Log_Error_sis = new tb_sis_Log_Error_Vzen_Info(ex.ToString(), "", array, "", "", "", "", "", DateTime.Now);
                oDataLog.Guardar_Log_Error(Log_Error_sis, ref mensaje);
                mensaje = ex.InnerException + " " + ex.Message;
                throw new Exception(ex.InnerException.ToString());
            }
        }
Beispiel #7
0
        public void UpdateRow(ro_prestamo_detalle_Info info_det, decimal IdTransaccionSession)
        {
            ro_prestamo_detalle_Info edited_info = get_list(IdTransaccionSession).Where(m => m.NumCuota == info_det.NumCuota).First();

            edited_info.IdNominaTipoLiqui = info_det.IdNominaTipoLiqui;
            edited_info.FechaPago         = info_det.FechaPago;
            edited_info.TotalCuota        = info_det.TotalCuota;
            edited_info.EstadoPago        = "PEN";
        }
Beispiel #8
0
        public ActionResult AbonoEditingUpdate([ModelBinder(typeof(DevExpressEditorsBinder))] ro_prestamo_detalle_Info info_det)
        {
            if (ModelState.IsValid)
            {
                Lis_ro_prestamo_detalle_lst.AbonoUpdateRow(info_det, Convert.ToDecimal(SessionFixed.IdTransaccionSessionActual));
            }
            var model = Lis_ro_prestamo_detalle_lst.get_list(Convert.ToDecimal(SessionFixed.IdTransaccionSessionActual));

            cargar_combos_detalle();
            return(PartialView("_GridViewPartial_prestamos_abono_det", model));
        }
Beispiel #9
0
        public ActionResult EditingAddNew([ModelBinder(typeof(DevExpressEditorsBinder))] ro_prestamo_detalle_Info info_det)
        {
            if (ModelState.IsValid)
            {
                Lis_ro_prestamo_detalle_lst.AddRow(info_det, Convert.ToDecimal(SessionFixed.IdTransaccionSessionActual));
            }
            ro_prestamo_Info model = new ro_prestamo_Info();

            model.lst_detalle = Lis_ro_prestamo_detalle_lst.get_list(Convert.ToDecimal(SessionFixed.IdTransaccionSessionActual));
            cargar_combos_detalle();
            return(PartialView("_GridViewPartial_prestamos_det", model));
        }
Beispiel #10
0
 public Boolean ModificarEstadoCobroDB(ro_prestamo_detalle_Info info)
 {
     try
     {
         return(oData.ModificarEstadoCobroDB(info));
     }
     catch (Exception ex)
     {
         Core.Erp.Info.Log_Exception.LoggingManager.Logger.Log(Core.Erp.Info.Log_Exception.LoggingCategory.Error, ex.Message);
         throw new Core.Erp.Info.Log_Exception.DalException(string.Format("", "ModificarEstadoCobroDB", ex.Message), ex)
               {
                   EntityType = typeof(ro_prestamo_detalle_Bus)
               };
     }
 }
Beispiel #11
0
        public ro_prestamo_Info get_calculoquincenal(ro_prestamo_Info info)
        {
            try
            {
                info.lst_detalle = new List <ro_prestamo_detalle_Info>();
                int      periodo     = Convert.ToInt32(info.NumCuotas);
                double   valor_cuota = info.MontoSol / info.NumCuotas;
                double   saldo       = info.MontoSol;
                DateTime fecha_pago  = info.Fecha_PriPago;
                info.MontoSol = info.MontoSol;
                List <ro_prestamo_detalle_Info> listaDetalle = new List <ro_prestamo_detalle_Info>();
                for (int i = 1; i <= periodo; i++)
                {
                    ro_prestamo_detalle_Info item = new ro_prestamo_detalle_Info();

                    if (i == 1)
                    {
                        //item.FechaPago = fecha_pago;
                        fecha_pago = new DateTime(fecha_pago.Year, fecha_pago.Month, 15);
                    }
                    else
                    {
                        var fecha_pago_sgte = fecha_pago.AddMonths(1);
                        fecha_pago = new DateTime(fecha_pago_sgte.Year, fecha_pago_sgte.Month, 15);
                    }

                    item.FechaPago         = info.Fecha_PriPago;
                    item.NumCuota          = i;
                    item.TotalCuota        = valor_cuota;
                    item.Saldo             = info.MontoSol;
                    item.Saldo             = saldo - item.TotalCuota;
                    item.FechaPago         = fecha_pago;
                    item.EstadoPago        = "PEN";
                    item.Observacion_det   = "Cuota número " + i + " fecha pago " + fecha_pago.ToString("dd/MM/yyyy");
                    item.IdNominaTipoLiqui = 1;

                    saldo           = saldo - valor_cuota;
                    item.TotalCuota = Math.Round(item.TotalCuota, 2);
                    item.Saldo      = Math.Round(item.Saldo, 2);
                    info.lst_detalle.Add(item);
                }
                return(info);
            }
            catch (Exception)
            {
                throw;
            }
        }
Beispiel #12
0
        public Boolean ModificarEstadoCobroDB(ro_prestamo_detalle_Info info)
        {
            try
            {
                using (EntitiesRoles context = new EntitiesRoles())
                {
                    var contact = context.ro_prestamo_detalle.First(VProdu => VProdu.IdEmpresa == info.IdEmpresa && VProdu.IdPrestamo == info.IdPrestamo && VProdu.NumCuota == info.NumCuota);
                    contact.EstadoPago = info.EstadoPago;
                    context.SaveChanges();

                    mensaje = "Se ha procedido a Actualizar la Información Exitosamente...";
                }
                return(true);
            }
            catch (Exception ex)
            {
                string array = ToString();
                tb_sis_Log_Error_Vzen_Data oDataLog      = new tb_sis_Log_Error_Vzen_Data();
                tb_sis_Log_Error_Vzen_Info Log_Error_sis = new tb_sis_Log_Error_Vzen_Info(ex.ToString(), "", array, "", "", "", "", "", DateTime.Now);
                oDataLog.Guardar_Log_Error(Log_Error_sis, ref mensaje);
                mensaje = ex.InnerException + " " + ex.Message;
                throw new Exception(ex.InnerException.ToString());
            }
        }
Beispiel #13
0
        public ro_prestamo_Info get_calculoquincenal_y_men(ro_prestamo_Info info)
        {
            try
            {
                info.lst_detalle = new List <ro_prestamo_detalle_Info>();
                int      periodo     = Convert.ToInt32(info.NumCuotas);
                double   valor_cuota = info.MontoSol / info.NumCuotas;
                double   saldo       = info.MontoSol;
                DateTime fecha_pago  = info.Fecha_PriPago;
                info.TotalPrestamo = info.MontoSol;
                List <ro_prestamo_detalle_Info> listaDetalle = new List <ro_prestamo_detalle_Info>();
                for (int i = 1; i <= periodo; i++)
                {
                    ro_prestamo_detalle_Info item = new ro_prestamo_detalle_Info();

                    if (i == 1)
                    {
                        fecha_pago = info.Fecha_PriPago;
                    }
                    else
                    {
                        fecha_pago = fecha_pago.AddDays(15);
                    }
                    if (fecha_pago.Day > 15)
                    {
                        if (fecha_pago.Month != 2)
                        {
                            fecha_pago = Convert.ToDateTime("30/" + fecha_pago.Month.ToString() + "/" + fecha_pago.Year.ToString());
                        }
                        else
                        {
                            fecha_pago = Convert.ToDateTime("28/" + fecha_pago.Month.ToString() + "/" + fecha_pago.Year.ToString());
                        }
                    }
                    else
                    {
                        fecha_pago = Convert.ToDateTime("15/" + fecha_pago.Month.ToString() + "/" + fecha_pago.Year.ToString());
                    }

                    item.FechaPago       = info.Fecha_PriPago;
                    item.NumCuota        = i;
                    item.TotalCuota      = valor_cuota;
                    item.Saldo           = info.MontoSol;
                    item.Saldo           = saldo - item.TotalCuota;
                    item.FechaPago       = fecha_pago;
                    item.EstadoPago      = "PEN";
                    item.Observacion_det = "Cuota número " + i + " fecha pago " + fecha_pago.ToString("dd/MM/yyyy");
                    if (info.Fecha_PriPago.Day > 15)
                    {
                        item.IdNominaTipoLiqui = 2;
                    }
                    else
                    {
                        item.IdNominaTipoLiqui = 1;
                    }
                    saldo           = saldo - valor_cuota;
                    item.TotalCuota = Math.Round(item.TotalCuota, 2);
                    item.Saldo      = Math.Round(item.Saldo, 2);
                    info.lst_detalle.Add(item);
                }
                return(info);
            }
            catch (Exception)
            {
                throw;
            }
        }
Beispiel #14
0
        public void AbonoUpdateRow(ro_prestamo_detalle_Info info_det, decimal IdTransaccionSession)
        {
            ro_prestamo_detalle_Info edited_info = get_list(IdTransaccionSession).Where(m => m.NumCuota == info_det.NumCuota).First();

            edited_info.EstadoPago = info_det.EstadoPago;
        }
        public void CalculoPrestamoSinInteres(ro_prestamo_Info info_Prestamo, int numero, string tipoCalculo)
        {
            try
            {
                DateTime fechaPago = info_Prestamo.Fecha_PriPago;


                for (int i = 1; i <= periodo; i++)
                {
                    ro_prestamo_detalle_Info item = new ro_prestamo_detalle_Info();
                    //para interes = 0
                    if (tipoCalculo == "CUOTA")
                    {
                        cuota2 = info_Prestamo.MontoSol / periodo;
                    }
                    else
                    {
                        cuota2 = Convert.ToDouble(info_Prestamo.NumCuotas);
                    }
                    if (i == 1)
                    {
                        saldoInicial = info_Prestamo.MontoSol;
                        abonoCapital = 0;
                        totalPago    = Math.Round(cuota2, 2);
                        saldo        = Math.Round((saldoInicial - totalPago), 2);
                    }
                    else
                    {
                        if (i > 1 && i <= periodo - 1)
                        {
                            saldoInicial = Math.Round(saldo, 2);
                            abonoCapital = 0;
                            totalPago    = Math.Round(cuota2, 2);
                            saldo        = Math.Round((saldoInicial - totalPago), 2);
                        }

                        else
                        {
                            if (i == periodo)
                            {
                                saldoInicial = Math.Round(saldo, 2);
                                abonoCapital = 0;
                                totalPago    = Math.Round(cuota2, 2);
                                saldo        = Math.Round((saldoInicial - totalPago), 2);

                                if (saldo <= 1)
                                {
                                    totalPago = totalPago + saldo;
                                    saldo     = 0;
                                }
                                else
                                {// si el saldo es mayor ha uno
                                    i = i - 1;
                                }
                            }
                        }
                    }

                    item.NumCuota     = i;
                    item.SaldoInicial = saldoInicial;
                    item.AbonoCapital = abonoCapital;
                    if (saldo < 1 && saldo > 0)
                    {
                        totalPago = totalPago + saldo;
                    }


                    item.TotalCuota        = totalPago;
                    item.Saldo             = saldo;
                    item.EstadoPago        = "PEN";
                    item.FechaPago         = fechaPago;
                    item.Observacion_det   = "";
                    item.Estado            = "A";
                    item.IdNominaTipoLiqui = Convert.ToInt32(cmbnominaTipo.EditValue);

                    lista_prestamos_detalle.Add(item);
                    fechaPago = fechaPago.AddDays(numero);

                    if (i == periodo)
                    {
                        if (saldo < 1)
                        {
                            item.Saldo = 0;
                        }
                        else
                        {
                            periodo = periodo + 1;
                        }
                    }
                }
                this.gridControl_Prestamos.DataSource = lista_prestamos_detalle;
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString());
                Log_Error_bus.Log_Error(ex.ToString());
            }
        }