Exemple #1
0
        internal static void ActualizarModalidad(int idPlanPago, string nombreCurso, int modalidad)
        {
            using (var db = new SMPorresEntities())
            {
                int  anual = 1;
                int  primerCuatrimestre  = 2;
                int  segundoCuatrimestre = 3;
                int  sinCursado          = 4;
                bool actualizaCuotas     = false;

                int idCurso = db.PlanesPago.Find(idPlanPago).IdCurso;
                var curso   = db.Cursos.Find(idCurso);

                var modActual = db.PlanesPago.Find(idPlanPago).Modalidad;
                if (modActual == modalidad)
                {
                    return;
                }

                if (modActual == anual)
                {
                    if (modalidad == primerCuatrimestre & !PagosRegistrados(idPlanPago, segundoCuatrimestre))
                    {
                        EliminaCuotas(segundoCuatrimestre, idPlanPago);
                        actualizaCuotas = true;
                    }
                    if (modalidad == segundoCuatrimestre & !PagosRegistrados(idPlanPago, primerCuatrimestre))
                    {
                        EliminaCuotas(primerCuatrimestre, idPlanPago);
                        actualizaCuotas = true;
                    }
                    if (modalidad == sinCursado & !PagosRegistrados(idPlanPago, anual))
                    {
                        EliminaCuotas(anual, idPlanPago);
                        actualizaCuotas = true;
                    }
                }

                if (modActual == primerCuatrimestre)
                {
                    if (modalidad == anual)
                    {
                        GeneraCuotas(segundoCuatrimestre, idPlanPago, curso);
                        actualizaCuotas = true;
                    }
                    if (modalidad == segundoCuatrimestre & !PagosRegistrados(idPlanPago, primerCuatrimestre))
                    {
                        EliminaCuotas(primerCuatrimestre, idPlanPago);
                        GeneraCuotas(segundoCuatrimestre, idPlanPago, curso);
                        actualizaCuotas = true;
                    }
                    if (modalidad == sinCursado & !PagosRegistrados(idPlanPago, primerCuatrimestre))
                    {
                        EliminaCuotas(primerCuatrimestre, idPlanPago);
                        actualizaCuotas = true;
                    }
                }

                if (modActual == segundoCuatrimestre)
                {
                    if (modalidad == anual & !PagosRegistrados(idPlanPago, segundoCuatrimestre))
                    {
                        GeneraCuotas(primerCuatrimestre, idPlanPago, curso);
                        actualizaCuotas = true;
                    }
                    if (modalidad == primerCuatrimestre & !PagosRegistrados(idPlanPago, segundoCuatrimestre))
                    {
                        EliminaCuotas(segundoCuatrimestre, idPlanPago);
                        GeneraCuotas(primerCuatrimestre, idPlanPago, curso);
                        actualizaCuotas = true;
                    }
                    if (modalidad == sinCursado & !PagosRegistrados(idPlanPago, segundoCuatrimestre))
                    {
                        EliminaCuotas(segundoCuatrimestre, idPlanPago);
                        actualizaCuotas = true;
                    }
                }

                if (modActual == sinCursado)
                {
                    if (modalidad == anual)
                    {
                        GeneraCuotas(anual, idPlanPago, curso);
                        actualizaCuotas = true;
                    }
                    if (modalidad == primerCuatrimestre)
                    {
                        GeneraCuotas(primerCuatrimestre, idPlanPago, curso);
                        actualizaCuotas = true;
                    }
                    if (modalidad == segundoCuatrimestre)
                    {
                        GeneraCuotas(segundoCuatrimestre, idPlanPago, curso);
                        actualizaCuotas = true;
                    }
                }

                if (actualizaCuotas)
                {
                    var pp = db.PlanesPago.Find(idPlanPago);
                    pp.Modalidad = modalidad;
                    db.SaveChanges();

                    PlanesPagoRepository.ActualizarNroyCantidadCuotas(idPlanPago, modalidad);
                }
            }
        }
 public static void Actualizar(int id, string nombre, int idCarrera, decimal importeMatrícula, decimal descuentoMatrícula, DateTime descuentoHasta,
                               decimal cuota1, decimal cuota2, decimal cuota3, decimal importeCuota, int modalidad, short estado)
 {
     using (var db = new SMPorresEntities())
     {
         if (!db.Cursos.Any(t => t.Id == id))
         {
             throw new Exception(String.Format("No existe el curso {0} - {1}", id, nombre));
         }
         var c = db.Cursos.Find(id);
         c.Nombre    = nombre;
         c.IdCarrera = idCarrera;
         //c.Estado = estado;
         //c.Modalidad = modalidad;  //la baja desde listado / botón eliminar
         var trx = db.Database.BeginTransaction();
         try
         {
             if (c.DescuentoMatricula != descuentoMatrícula)
             {
                 c.DescuentoMatricula = descuentoMatrícula;
             }
             if (c.FechaVencDescuento != descuentoHasta)
             {
                 c.FechaVencDescuento = descuentoHasta;
             }
             if (c.Cuota1 != cuota1)
             {
                 c.Cuota1 = cuota1;
             }
             if (c.Cuota2 != cuota2)
             {
                 c.Cuota2 = cuota2;
             }
             if (c.Cuota3 != cuota3)
             {
                 c.Cuota3 = cuota3;
             }
             if (c.Modalidad != modalidad)
             {
                 c.Modalidad = modalidad;
             }
             if (c.ImporteMatricula != importeMatrícula)
             {
                 c.ImporteMatricula = importeMatrícula;
                 PagosRepository.ActualizarCuotas(id, importeMatrícula, true);
             }
             if (c.ImporteCuota != importeCuota)
             {
                 c.ImporteCuota = importeCuota;
                 PagosRepository.ActualizarCuotas(id, importeCuota, false);
                 PlanesPagoRepository.Actualizar(id, importeCuota);
             }
             db.SaveChanges();
             trx.Commit();
         }
         catch (Exception)
         {
             trx.Rollback();
             throw;
         }
     }
 }