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; } }
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()); } }
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)); }
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; } }
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()); } }
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"; }
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)); }
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)); }
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) }; } }
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; } }
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()); } }
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; } }
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()); } }