///<sumary>
        ///El metodo agregarTipoBeca recibe los parámetros necesarios para poder crear la instancia tipo beca
        ///Este envía los parámetros para poder crear un tipo de beca y recibe una instancia
        ///Envía el objeto nuevo al repositorio para agregarlo a la lista del repositorio respectiva.
        ///El objeto es enviado para ser agregado en la base de datos
        ///En caso de algún error se atrapa la excepción
        ///</sumary>
        ///<author>María Jesús Gutiérrez</author>
        ///<param name="descripcion">Esta es la descripción del tipo de beca</param>
        ///<param name="estado">Este es el estado en el que se encuentra el tipo de beca</param>
        ///<param name="nombre"> Este es el nombre del tipo de beca</param>

        public TipoBeca agregarTipoBeca(string nombre, string estado, string descripcion)
        {
            try
            {
                TipoBeca objTipoBeca = new TipoBeca(nombre, estado, descripcion);

                if (objTipoBeca.IsValid)
                {
                    TipoBecaRepository.Instance.Insert(objTipoBeca);
                    return(objTipoBeca);
                }
                else
                {
                    StringBuilder sb = new StringBuilder();
                    foreach (RuleViolation rv in objTipoBeca.GetRuleViolations())
                    {
                        sb.AppendLine(rv.ErrorMessage);
                    }
                    throw new ApplicationException(sb.ToString());
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Example #2
0
        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);
        }
Example #3
0
        public void asignarBeneficio(TipoBeca objTipoBeca)
        {
            using (TransactionScope scope = new TransactionScope())
            {
                try
                {
                    if (_insertItems.Count > 0)
                    {
                        foreach (Beneficio objBeneficio in _insertItems)
                        {
                            asignarBeneficioTipoBeca(objBeneficio, objTipoBeca);
                        }
                    }


                    scope.Complete();
                }
                catch (TransactionAbortedException ex)
                {
                    throw ex;
                }
                catch (ApplicationException ex)
                {
                    throw ex;
                }
                finally
                {
                    Clear();
                }
            }
        }
Example #4
0
        public static PlanPago Insertar(int idAlumno, int idCurso, short porcentajeBeca, int modalidad,
                                        TipoBeca tipoBeca)
        {
            using (var db = new SMPorresEntities())
            {
                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 el curso seleccionado.");
                }

                db.Database.Log = s => _log.Debug(s);
                using (var trx = db.Database.BeginTransaction())
                {
                    try
                    {
                        var plan = CrearPlanPago(db, idAlumno, idCurso, porcentajeBeca, modalidad, tipoBeca);
                        PagosRepository.CrearMatrícula(db, plan);
                        PagosRepository.CrearCuotas(db, plan, modalidad);
                        trx.Commit();
                        return(plan);
                    }
                    catch (Exception ex)
                    {
                        _log.Error(ex);
                        trx.Rollback();
                        throw;
                    }
                }
            }
        }
Example #5
0
        /// <summary>
        /// Trae un DataSet de la base de datos.
        /// Por cada DataRow en el DataSet, instancia un beneficio.
        /// </summary>
        /// <author>Mathias Muller</author>
        /// <returns>Una lista de beneficios</returns>
        public IEnumerable <Beneficio> GetLista(TipoBeca objTipoBeca)
        {
            List <Beneficio> pbeneficio = null;

            SqlCommand cmd = new SqlCommand();

            cmd.Parameters.Add(new SqlParameter("@Nombre", objTipoBeca.nombre));

            DataSet ds = DBAccess.ExecuteSPWithDS(ref cmd, "Sp_consultarTipoBecaBeneficios");

            if (ds.Tables[0].Rows.Count > 0)
            {
                pbeneficio = new List <Beneficio>();
                foreach (DataRow dr in ds.Tables[0].Rows)
                {
                    pbeneficio.Add(new Beneficio
                    {
                        Id         = Convert.ToInt32(dr["idBeneficio"]),
                        Nombre     = dr["Nombre"].ToString(),
                        Porcentaje = Convert.ToDouble(dr["Porcentaje"]),
                        Aplicacion = dr["Aplicabilidad"].ToString()
                    });
                }
            }

            return(pbeneficio);
        }
Example #6
0
 public static PlanPago Actualizar(int planDePagoId, short porcentajeBeca, TipoBeca tipoBeca)
 {
     using (var db = new SMPorresEntities())
     {
         var p = db.PlanesPago.Find(planDePagoId);
         p.PorcentajeBeca = porcentajeBeca;
         p.TipoBeca       = (byte)tipoBeca;
         db.SaveChanges();
         return(p);
     }
 }
 /// <summary>
 /// Método que elimina un tipo de beca por medio de un nombre en específico.
 /// </summary>
 /// <author>María Jesús Gutiérrez Calvo</author>
 /// <param name="pnombre">nombre de un tipo de beca que se envía por parámetro para eliminar un tipo de beca en específico</param>
 public void eliminarTipoBeca(String pnombre)
 {
     try
     {
         TipoBeca objTipoBeca = ContenedorMantenimiento.Instance.crearTipoBeca(pnombre);
         TipoBecaRepository.Instance.Delete(objTipoBeca);
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
 //Crear TipoBeca
 public async Task Create(TipoBeca TipoBeca)
 {
     try
     {
         _ctx.TipoBeca.Add(TipoBeca);
         await _ctx.SaveChangesAsync();
     }
     catch (Exception e)
     {
         throw new Exception(e.Message, e);
     }
 }
 /// <summary>
 /// Método que busca un tipo de beca por su nombre y trae el id que se relaciona a ese nombre del tipo de beca
 /// </summary>
 /// <author>María Jesús Gutiérrez Calvo</author>
 /// <param name="pnombre">nombre del tipo de beca que es enviado por parámetro</param>
 /// <returns>Retorna el id del tipo de beca de acuerdo al nombre enviado</returns>
 public int idTipoBeca(string pnombre)
 {
     try
     {
         TipoBeca tmpTipo = buscarUnTipoBeca(pnombre);
         return(tmpTipo.Id);
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
 /// <summary>
 /// Método que modifica los beneficios asociados a un tipo de beca
 /// </summary>
 /// <author>María Jesús Gutiérrez Calvo</author>
 /// <param name="listaBeneficios">envía por parámetro la lista de beneficios</param>
 /// <param name="objTipoBeca">envíapor parámetro un objeto de tipo beca</param>
 public void modificarBeneficios(List <Beneficio> listaBeneficios, TipoBeca objTipoBeca)
 {
     try {
         BeneficioRepository.objTipoBeca = objTipoBeca;
         foreach (Beneficio objBeneficio in listaBeneficios)
         {
             BeneficioRepository.Instance.Insert(objBeneficio);
         }
         BeneficioRepository.Instance.asignarBeneficio();
     }
     catch (Exception ex) {
         throw ex;
     }
 }
 /// <summary>
 /// Método que modifica los requisitos asociados a un tipo de beca
 /// </summary>
 /// <author>María Jesús Gutiérrez Calvo</author>
 /// <param name="listaRequisitos">lista de requisitos asociados a un tipo de beca en específico</param>
 /// <param name="objTipoBeca">objeto de tipo de beca</param>
 public void modificarRequisitos(List <Requisito> listaRequisitos, TipoBeca objTipoBeca)
 {
     try {
         RequisitoRepository.objTipoBeca = objTipoBeca;
         foreach (Requisito objRequisito in listaRequisitos)
         {
             RequisitoRepository.Instance.Update(objRequisito);
         }
         RequisitoRepository.Instance.asignarRequisito();
     }
     catch (Exception ex) {
         throw ex;
     }
 }
 /// <summary>
 /// Método que inserta un alista de requisitos para asignarlos a un tipo de beca
 /// </summary>
 /// <author>María Jesús Gutiérrez Calvo</author>
 /// <param name="listaRequisitos">lista de requisitos que es enviada por parámetro para asignar a un tipo de beca</param>
 /// <param name="objTipoBeca">objeto de tipo de beca</param>
 public void asignarRequisitoTipoBeca(List <Requisito> listaRequisitos, TipoBeca objTipoBeca)
 {
     try {
         RequisitoRepository.objTipoBeca = objTipoBeca;
         foreach (Requisito objRequisito in listaRequisitos)
         {
             RequisitoRepository.Instance.Insert(objRequisito);
         }
         RequisitoRepository.Instance.asignarRequisito(objTipoBeca);
     }
     catch (Exception ex) {
         throw ex;
     }
 }
 public IEnumerable <Requisito> mostrarRequisitoTB(TipoBeca ptipoBeca)
 {
     try {
         if (RequisitoRepository.Instance.GetLista(ptipoBeca) == null)
         {
             throw new ApplicationException("El tipo de beca seleccionado no tiene requisitos asignados");
         }
         else
         {
             return(RequisitoRepository.Instance.GetLista(ptipoBeca));
         }
     }
     catch (Exception ex) {
         throw ex;
     }
 }
Example #14
0
        public void asignarBeneficioTipoBeca(Beneficio objBeneficio, TipoBeca objTipoBeca)
        {
            try
            {
                SqlCommand cmd = new SqlCommand();

                cmd.Parameters.Add(new SqlParameter("@idBeneficio", objBeneficio.Id));
                cmd.Parameters.Add(new SqlParameter("@idTipoBeca", objTipoBeca.nombre));


                DataSet ds = DBAccess.ExecuteSPWithDS(ref cmd, "Sp_insertarBeneficiosTiposBeca");
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
                throw ex;
            }
        }
Example #15
0
                                                    //Actualizar TipoBeca
                                                    public async Task UpdateEstado(TipoBeca TipoBeca)
                                                    {
                                                        try
                                                        {
                                                            var _TipoBeca = await _ctx.TipoBeca.FirstOrDefaultAsync(e => e.TipoBecaId == TipoBeca.TipoBecaId);

                                                            if (_TipoBeca != null)
                                                            {
                                                                _TipoBeca.Estado = TipoBeca.Estado;

                                                                await _ctx.SaveChangesAsync();
                                                            }
                                                        }
                                                        catch (Exception e)
                                                        {
                                                            throw new Exception(e.Message, e);
                                                        }
                                                    }
        /// <summary>
        /// Método que modifica los datos de un tipo de beca, busca los beneficios y requisitos que están asociados a un tipo de beca
        /// vuelve a asignar a un tipo de beca los beneficios y requisitos marcados.
        /// </summary>
        /// <author>María Jesús Gutiérrez Calvo</author>
        /// <param name="idTipoBeca">id tipo de beca a modificar</param>
        /// <param name="pnombre">nombre del tipo de beca que se desea modificar</param>
        /// <param name="pestado">estado a modificar en que se encuentra la beca (activo o inactivo)</param>
        /// <param name="pdescripcion">descripción del tipo de beca que se desea modificar</param>
        /// <param name="plistaBeneficios">lista de beneficios associados a un tipo de beca en específico</param>
        /// <param name="plistaRequisitos">lista de requisitos asociados a un tipo de beca en específico</param>
        public void modificarTipoBeca(int idTipoBeca, string pnombre, string pestado, string pdescripcion, List <int> plistaBeneficios, List <int> plistaRequisitos)
        {
            try
            {
                TipoBeca         objTipoBeca     = ContenedorMantenimiento.Instance.crearTipoBeca(idTipoBeca, pnombre, pestado, pdescripcion);
                List <Beneficio> listaBeneficios = new List <Beneficio>();
                List <Requisito> listaRequisitos = new List <Requisito>();
                if (objTipoBeca.IsValid)
                {
                    TipoBecaRepository.Instance.Update(objTipoBeca);
                    eliminarBeneficiosTipoBeca(idTipoBeca);
                    eliminarRequisitoTipoBeca(idTipoBeca);

                    foreach (int idBeneficio in plistaBeneficios)
                    {
                        Beneficio beneficio = new Beneficio(idBeneficio);
                        listaBeneficios.Add(beneficio);
                    }

                    foreach (int idRequisito in plistaRequisitos)
                    {
                        Requisito requisito = new Requisito(idRequisito);
                        listaRequisitos.Add(requisito);
                    }
                    asignarBeneficioTipoBeca(listaBeneficios, objTipoBeca);
                    asignarRequisitoTipoBeca(listaRequisitos, objTipoBeca);
                }
                else
                {
                    StringBuilder sb = new StringBuilder();
                    foreach (RuleViolation rv in objTipoBeca.GetRuleViolations())
                    {
                        sb.AppendLine(rv.ErrorMessage);
                    }
                    throw new ApplicationException(sb.ToString());
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Example #17
0
        public IEnumerable <Requisito> GetLista(TipoBeca objTipoBeca)
        {
            try {
                List <Requisito> prequisito = null;

                SqlCommand cmd = new SqlCommand();
                cmd.Parameters.Add(new SqlParameter("@Nombre", objTipoBeca.nombre));

                DataSet ds = DBAccess.ExecuteSPWithDS(ref cmd, "Sp_consultarTipoBecaRequisito");

                if (ds.Tables[0].Rows.Count > 0)
                {
                    prequisito = new List <Requisito>();
                    foreach (DataRow dr in ds.Tables[0].Rows)
                    {
                        prequisito.Add(new Requisito
                                       (

                                           dr["Nombre"].ToString(),
                                           dr["Descripcion"].ToString(),
                                           Convert.ToInt32(dr["idRequisito"])
                                       ));
                    }
                }

                return(prequisito);
            }
            catch (SqlException ex)
            {
                numero  = ex.Number;
                mensaje = exceptions.validarExcepcion(numero);
                throw new CustomExceptions.DataAccessException(mensaje, ex);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Example #18
0
        public void asignarRequisitoTipoBeca(Requisito objRequisito, TipoBeca objTipoBeca)
        {
            try
            {
                SqlCommand cmd = new SqlCommand();

                cmd.Parameters.Add(new SqlParameter("@idRequisito", objRequisito.Id));
                cmd.Parameters.Add(new SqlParameter("@Nombre", objTipoBeca.nombre));


                DataSet ds = DBAccess.ExecuteSPWithDS(ref cmd, "Sp_insertarRequisitoTipoBeca");
            }
            catch (SqlException ex)
            {
                numero  = ex.Number;
                mensaje = exceptions.validarExcepcion(numero);
                throw new CustomExceptions.DataAccessException(mensaje, ex);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        public TipoBeca crearTipoBeca(string pnombre)
        {
            TipoBeca objTipoBeca = new TipoBeca(pnombre);

            return(objTipoBeca);
        }
Example #20
0
                                                      //crear TipoBeca
                                                      [HttpPost][Authorize] public async Task <IHttpActionResult> Create(TipoBeca TipoBeca)
                                                      {
                                                          try { log.Info(new MDCSet(this.ControllerContext.RouteData));
                                                                await _TipoBecaRepo.Create(TipoBeca);

                                                                return(Ok("Registro creado correctamente!")); }
                                                          catch (Exception e) { log.Error(new MDCSet(this.ControllerContext.RouteData), e);

                                                                                return(InternalServerError(e)); }
                                                      }
Example #21
0
                                                      public async Task <IHttpActionResult> UpdateEstado(TipoBeca TipoBeca)
                                                      {
                                                          try { log.Info(new MDCSet(this.ControllerContext.RouteData));
                                                                await _TipoBecaRepo.UpdateEstado(TipoBeca);

                                                                return(Ok()); }
                                                          catch (Exception e) { log.Error(new MDCSet(this.ControllerContext.RouteData), e);

                                                                                return(InternalServerError(e)); }
                                                      }