internal static List <Pago> CrearCuotas(SMPorresEntities db, PlanPago planPago, int modalidad) { //leer modalidad y obtener minCuota y maxCuota short minC = CursosRepository.ObtieneMinCuota(modalidad); short maxC = CursosRepository.ObtieneMaxCuota(modalidad); var result = new List <Pago>(); if (minC != maxC) { var curso = CursosRepository.ObtenerCursoPorId(planPago.IdCurso); var cuotas = from c in CuotasRepository.ObtenerCuotasActuales() select new { c.NroCuota, c.VtoCuota }; for (short i = minC; i <= maxC; i++) { var p = new Pago(); p.Id = db.Pagos.Any() ? db.Pagos.Max(p1 => p1.Id) + 1 : 1; p.IdPlanPago = planPago.Id; p.NroCuota = i; p.ImporteCuota = (i == 0) ? curso.ImporteMatricula : curso.ImporteCuota; p.Estado = (byte)EstadoPago.Impago; p.FechaVto = cuotas.First(c => c.NroCuota == i).VtoCuota; db.Pagos.Add(p); db.SaveChanges(); result.Add(p); } } return(result); }
private async Task RegistrarListaPlanPago(CDPDto cdp, List <LineaPlanPagoDto> lista) { valorPciId = User.FindFirst(ClaimTypes.Role).Value; if (!string.IsNullOrEmpty(valorPciId)) { pciId = int.Parse(valorPciId); } List <PlanPago> listaPlanPago = new List <PlanPago>(); PlanPago planPago = null; int numeroPagos = 1; DateTime fechaActual = _generalInterface.ObtenerFechaHoraActual(); int mesAnterior = 0; if (lista != null && lista.Count > 0) { foreach (var item in lista) { planPago = MapearPlanPago(cdp, fechaActual.Year, item.MesId, item.Valor, numeroPagos, item.Viaticos); planPago.PciId = pciId; listaPlanPago.Add(planPago); mesAnterior = item.MesId; numeroPagos++; } await _dataContext.PlanPago.AddRangeAsync(listaPlanPago); await _dataContext.SaveChangesAsync(); } }
private static PlanPago CrearPlanPago(SMPorresEntities db, int idAlumno, int idCurso, short porcentajeBeca, int modalidad, TipoBeca tipoBeca) { var curso = CursosRepository.ObtenerCursoPorId(idCurso); var plan = new PlanPago { Id = db.PlanesPago.Any() ? db.PlanesPago.Max(c1 => c1.Id) + 1 : 1, IdAlumno = idAlumno, IdCurso = idCurso, //Curso = curso, CantidadCuotas = CursosRepository.ObtieneMaxCuota(modalidad), //Configuration.MaxCuotas, NroCuota = CursosRepository.ObtieneMinCuota(modalidad), //1, ImporteCuota = curso.ImporteCuota, PorcentajeBeca = porcentajeBeca, TipoBeca = (byte)tipoBeca, Estado = (short)EstadoPlanPago.Vigente, IdUsuarioEstado = Session.CurrentUser.Id, FechaGrabacion = Configuration.CurrentDate, IdUsuario = Session.CurrentUser.Id, Modalidad = modalidad //curso.Modalidad }; db.PlanesPago.Add(plan); db.SaveChanges(); return(plan); }
public async Task RegistrarPlanPago(PlanPago plan) { await _context.PlanPago.AddAsync(plan); //bool resultado = await _unitOfWork.CompleteAsync(); //return resultado; }
public async Task <PlanPago> ObtenerUltimoPlanPagoDeCompromisoXMes(int crp, int MesId) { PlanPago ultimoPlanPago = new PlanPago(); var lista = await(from c in _context.PlanPago where (c.Crp == crp) where (c.MesPago == MesId) select new PlanPago() { PlanPagoId = c.PlanPagoId, Cdp = c.Cdp, Crp = c.Crp, AnioPago = c.AnioPago, MesPago = c.MesPago, ValorAPagar = c.ValorAPagar, Viaticos = c.Viaticos, NumeroPago = c.NumeroPago, EstadoPlanPagoId = c.EstadoPlanPagoId, NumeroRadicadoSupervisor = c.NumeroRadicadoSupervisor, FechaRadicadoSupervisor = c.FechaRadicadoSupervisor, ValorFacturado = c.ValorFacturado, TerceroId = c.TerceroId }).ToListAsync(); if (lista != null && lista.Count > 0) { ultimoPlanPago = lista.OrderBy(x => x.NumeroPago).Last(); } return(ultimoPlanPago); }
public frmEdición(string alumno, string cursoView, string nombreCurso, PlanPago plan) : this(alumno, cursoView, nombreCurso) { this.Text = "Edición de plan de pago"; txtCuota.Text = String.Format("{0} de {1}", plan.NroCuota, plan.CantidadCuotas); cargarCbModalidad(Convert.ToInt16(plan.Modalidad)); txtPorcentajeBeca.DecValue = plan.PorcentajeBeca; this.TipoBeca = (TipoBeca)plan.TipoBeca; }
//SE AGREGA NUEVO REPOSITORIO public List <PlanPago> GetPlanPagos(int CodPrest) { List <PlanPago> CitasList = new List <PlanPago>(); try { SqlCommand cmd = CrearComando("SP_Calculo_Pago_Cod"); //Pasamos el procedimiento almacenado. cmd.Parameters.AddWithValue("@CodPrest", CodPrest); //cmd.Parameters.AddWithValue("@Monto", Monto);//Agregamos los parametros. //cmd.Parameters.AddWithValue("@Tasa", Tasa); //cmd.Parameters.AddWithValue("@Plazo", Plazo); //cmd.Parameters.AddWithValue("@Frecuency", Frecuency); //cmd.Parameters.AddWithValue("@FecAprob", Fecha); //cmd.Parameters.AddWithValue("@Tipo", Tipopres); SqlDataAdapter da = new SqlDataAdapter(cmd); DataTable dt = new DataTable(); AbrirConexion(); da.Fill(dt); CerrarConexion(); //Bind EmpModel generic list using LINQ CitasList = (from DataRow dr in dt.Rows select new PlanPago() { Codigo = Convert.ToString(dr["Codigo"]), Num = Convert.ToInt32(dr["Num"]), Fecha = Convert.ToString(dr["Fecha"]), Capital = Convert.ToDecimal(dr["Cuota"]), Interes = Convert.ToDecimal(dr["Interes"]), //Frecuency = Convert.ToString(dr["Frecuency"]), Total = Convert.ToDecimal(dr["Capital"]), Saldo = Convert.ToDecimal(dr["Saldo"]), Accion = 1 //Mensaje = "Se cargó correctamente la información de la cita." }).ToList(); if (CitasList.Count == 0) { PlanPago ss = new PlanPago(); ss.Accion = 0; //ss.Mensaje = "No se encontraron registros!"; CitasList.Add(ss); } } catch (Exception ex) { PlanPago oCita = new PlanPago(); //oCita.Accion = 0; //oCita.Mensaje = ex.Message.ToString(); CitasList.Add(oCita); throw new Exception("Error Obteniendo todos los registros " + ex.Message, ex); } return(CitasList); }
public async Task <PlanPago> ObtenerPlanPagoDetallado(int planPagoId) { PlanPago planPago = new PlanPago(); var parameter = new SqlParameter("planPagoId", planPagoId); var lista = await _context.PlanPago .FromSqlRaw("EXECUTE dbo.USP_PlanPago_ObtenerDetallado @planPagoId", parameter) .ToListAsync(); if (lista != null) { planPago = lista[0]; } return(planPago); }
internal static Pago CrearMatrícula(SMPorresEntities db, PlanPago planPago) { var p = new Pago(); p.Id = db.Pagos.Any() ? db.Pagos.Max(p1 => p1.Id) + 1 : 1; p.IdPlanPago = planPago.Id; p.NroCuota = 0; var curso = CursosRepository.ObtenerCursoPorId(planPago.IdCurso); p.ImporteCuota = curso.ImporteMatricula; var vto = (from c in CuotasRepository.ObtenerCuotasActuales() where c.NroCuota == 0 select c.VtoCuota).First(); p.FechaVto = vto; p.Estado = (byte)EstadoPago.Impago; db.Pagos.Add(p); db.SaveChanges(); return(p); }
private PlanPago MapearPlanPago(CDPDto cdp, int anio, int mesPago, decimal valor, int numeroPago, bool viaticos) { var planPago = new PlanPago(); planPago.Crp = cdp.Crp; planPago.EstadoPlanPagoId = (int)EstadoPlanPago.PorPagar; planPago.Cdp = cdp.Cdp; planPago.AnioPago = anio; planPago.MesPago = mesPago; planPago.ValorInicial = valor; planPago.ValorAdicion = 0; planPago.ValorAPagar = valor; planPago.SaldoDisponible = valor; planPago.Viaticos = viaticos; planPago.TerceroId = cdp.TerceroId; planPago.NumeroPago = numeroPago; planPago.PciId = pciId; planPago.UsuarioIdRegistro = usuarioId; planPago.FechaRegistro = _generalInterface.ObtenerFechaHoraActual(); return(planPago); }
public static PlanPago Insertar(SMPorresEntities db, int idAlumno, int idCurso) { _log.Debug("Creando plan de pago"); if (idAlumno == 0) { throw new Exception("No se pudo determinar el alumno."); } if (idCurso == 0) { throw new Exception("No se pudo determinar el curso."); } if (db.PlanesPago.Any(pp => pp.IdAlumno == idAlumno && pp.IdCurso == idCurso & pp.Estado == (short)EstadoPlanPago.Vigente)) { throw new Exception("El alumno ya tiene un plan de pago vigente en este curso."); } var curso = CursosRepository.ObtenerCursoPorId(idCurso); if (curso == null) { throw new Exception("No se encontró el curso " + idCurso); } var id = db.PlanesPago.Any() ? db.PlanesPago.Max(c1 => c1.Id) + 1 : 1; //var trx = db.Database.BeginTransaction(); var plan = new PlanPago { Id = id, IdAlumno = idAlumno, IdCurso = idCurso, CantidadCuotas = CursosRepository.ObtieneMaxCuota(curso.Modalidad), //Configuration.MaxCuotas, NroCuota = CursosRepository.ObtieneMinCuota(curso.Modalidad), //1, ImporteCuota = curso.ImporteCuota, PorcentajeBeca = 0, TipoBeca = (byte)TipoBeca.AplicaHastaVto, Estado = (short)EstadoPlanPago.Vigente, IdUsuarioEstado = Session.CurrentUser.Id, FechaGrabacion = Configuration.CurrentDate, IdUsuario = Session.CurrentUser.Id, Modalidad = curso.Modalidad }; _log.Debug("Generando pagos"); try { db.PlanesPago.Add(plan); db.SaveChanges(); PagosRepository.InsertarMatricula(db, curso, id); PagosRepository.InsertarPagosCuotas(db, curso, id); } catch (Exception ex) { _log.Error(ex.Message, ex); //trx.Rollback(); throw; } return(plan); }
public void ActualizarPlanPago(PlanPago plan) { _context.PlanPago.Update(plan); }
public void CambiarPlanPago(PlanPago planPago, Reserva reserva) { throw new NotImplementedException(); }
public void GenerarContrato(Reserva reserva, PlanPago planPago) { throw new NotImplementedException(); }
private async Task ActualizarListaPlanPago(CDPDto cdp, List <LineaPlanPagoDto> listaTotal) { valorPciId = User.FindFirst(ClaimTypes.Role).Value; if (!string.IsNullOrEmpty(valorPciId)) { pciId = int.Parse(valorPciId); } int numeroPagos = 1; List <PlanPago> listaPlanPago = new List <PlanPago>(); PlanPago planPago = null; DateTime fechaActual = _generalInterface.ObtenerFechaHoraActual(); #region Registrar nuevos List <LineaPlanPagoDto> listaNueva = listaTotal .Where(x => x.EstadoModificacion == (int)EstadoModificacion.Insertado) .OrderBy(x => x.MesId) .ToList(); if (listaNueva != null && listaNueva.Count > 0) { var listaActualXCompromiso = await _repo.ObtenerLineasPlanPagoXCompromiso((int)cdp.Crp, pciId); foreach (var item in listaNueva) { var planesPagoBD = listaActualXCompromiso.ToList(); if (planesPagoBD == null) { numeroPagos = 1; } else { if (numeroPagos == 1) { numeroPagos = planesPagoBD.Count() + 1; } } planPago = MapearPlanPago(cdp, fechaActual.Year, item.MesId, item.Valor, numeroPagos, item.Viaticos); listaPlanPago.Add(planPago); numeroPagos++; } await _dataContext.PlanPago.AddRangeAsync(listaPlanPago); await _dataContext.SaveChangesAsync(); } #endregion Registrar nuevos #region Actualizar registros List <LineaPlanPagoDto> listaModificada = listaTotal .Where(x => x.EstadoModificacion == (int)EstadoModificacion.Modificado) .ToList(); if (listaModificada != null && listaModificada.Count > 0) { foreach (var item in listaModificada) { planPago = await _repo.ObtenerPlanPagoBase(item.PlanPagoId); if (planPago != null) { planPago.ValorInicial = item.Valor; planPago.ValorAdicion = 0; planPago.ValorAPagar = item.Valor; planPago.SaldoDisponible = 0; planPago.UsuarioIdModificacion = usuarioId; planPago.Viaticos = item.Viaticos; planPago.FechaModificacion = _generalInterface.ObtenerFechaHoraActual(); await _dataContext.SaveChangesAsync(); } } } #endregion Actualizar registros }
private List <PlanPago> obtenerListaPlanPago(IList <PlanPagoDto> lista) { List <PlanPago> listaCDP = new List <PlanPago>(); PlanPago cdp = null; var listaTercero = _context.Tercero.ToList(); var listaRubrosPresupuestales = _context.RubroPresupuestal.ToList(); var listaUsoPresupuestal = _context.UsoPresupuestal.ToList(); var listaEstadoPlanPago = _context.Estado .Where(x => x.TipoDocumento.ToUpper() == "PLANDEPAGOS") .ToList(); var listaEstadoOrdenPago = _context.Estado .Where(x => x.TipoDocumento.ToUpper() == "ORDENPAGO") .ToList(); foreach (var item in lista) { cdp = new PlanPago(); cdp.Cdp = item.Cdp; cdp.Crp = item.Crp; cdp.AnioPago = item.AnioPago; cdp.MesPago = item.MesPago; if (item.ValorInicial > 0) { cdp.ValorInicial = item.ValorInicial; } if (item.ValorAPagar > 0) { cdp.ValorAPagar = item.ValorAPagar; } if (item.SaldoDisponible > 0) { cdp.SaldoDisponible = item.SaldoDisponible; } cdp.Viaticos = item.ViaticosDescripcion == "NO" ? false : true; if (item.NumeroPago > 0) { cdp.NumeroPago = item.NumeroPago; } if (!string.IsNullOrEmpty(item.NumeroRadicadoProveedor)) { cdp.NumeroRadicadoProveedor = item.NumeroRadicadoProveedor; } if (item.FechaRadicadoProveedor != DateTime.MinValue) { cdp.FechaRadicadoProveedor = item.FechaRadicadoProveedor; } if (!string.IsNullOrEmpty(item.NumeroRadicadoSupervisor)) { cdp.NumeroRadicadoSupervisor = item.NumeroRadicadoSupervisor; } if (item.FechaRadicadoSupervisor != DateTime.MinValue) { cdp.FechaRadicadoSupervisor = item.FechaRadicadoSupervisor; } if (!string.IsNullOrEmpty(item.NumeroFactura)) { cdp.NumeroFactura = item.NumeroFactura; } if (item.ValorFacturado > 0) { cdp.ValorFacturado = item.ValorFacturado; } if (!string.IsNullOrEmpty(item.Observaciones)) { cdp.Observaciones = item.Observaciones; } if (item.FechaFactura != DateTime.MinValue) { cdp.FechaFactura = item.FechaFactura; } //Tercero if (item.TipoIdentificacionTercero > 0 && !string.IsNullOrEmpty(item.IdentificacionTercero)) { var tercero = listaTercero .Where(c => c.TipoIdentificacion == item.TipoIdentificacionTercero) .Where(c => c.NumeroIdentificacion == item.IdentificacionTercero) .FirstOrDefault(); if (tercero != null) { cdp.TerceroId = tercero.TerceroId; } } //Estado PlanPago if (!string.IsNullOrEmpty(item.EstadoPlanPago)) { var estado = listaEstadoPlanPago .Where(c => c.Nombre.ToUpper() == item.EstadoPlanPago.ToUpper()) .FirstOrDefault(); if (estado != null) { cdp.EstadoPlanPagoId = estado.EstadoId; } } //Estado OrdenPago if (!string.IsNullOrEmpty(item.EstadoOrdenPago)) { var estado = listaEstadoOrdenPago .Where(c => c.Nombre.ToUpper() == item.EstadoOrdenPago.ToUpper()) .FirstOrDefault(); if (estado != null) { cdp.EstadoOrdenPagoId = estado.EstadoId; } } //Rubro Presupuestal if (!string.IsNullOrEmpty(item.IdentificacionRubroPresupuestal)) { var rubro = listaRubrosPresupuestales .Where(c => c.Identificacion.ToUpper() == item.IdentificacionRubroPresupuestal.ToUpper()) .FirstOrDefault(); if (rubro != null) { cdp.RubroPresupuestalId = rubro.RubroPresupuestalId; } } //Uso Presupuestal if (!string.IsNullOrEmpty(item.IdentificacionUsoPresupuestal)) { var uso = listaUsoPresupuestal .Where(c => c.Identificacion.ToUpper() == item.IdentificacionUsoPresupuestal.ToUpper()) .FirstOrDefault(); if (uso != null) { cdp.UsoPresupuestalId = uso.UsoPresupuestalId; } } listaCDP.Add(cdp); } return(listaCDP); }
public void EscogerPlanPago(PlanPago planPago, PreReserva prereserva) { throw new NotImplementedException(); }