public void Borrar(int inscripcionId)
 {
     using (var transaction = _dbContext.Database.BeginTransaction())
     {
         try
         {
             var inscripcionInDb = _dbContext
                                   .Inscripciones
                                   .SingleOrDefault(i => i.InscripcionId == inscripcionId);
             if (inscripcionInDb != null)
             {
                 _dbContext.Entry(inscripcionInDb).State = EntityState.Deleted;
                 var cursoInDb = _dbContext.Cursos
                                 .SingleOrDefault(c => c.CursoId == inscripcionInDb.CursoId);
                 if (cursoInDb != null)
                 {
                     cursoInDb.Vacantes++;
                     _dbContext.Entry(cursoInDb).State = EntityState.Modified;
                     _dbContext.SaveChanges();
                 }
                 transaction.Commit();
             }
         }
         catch (Exception ex)
         {
             transaction.Rollback();
             throw new Exception(ex.Message);
         }
     }
 }
示例#2
0
 public ActionResult Edit([Bind(Include = "NotificacionVencimientoID,MailNotificacionVencimiento,RegistroCapacitacionID")] NotificacionVencimiento notificacionVencimiento)
 {
     if (ModelState.IsValid)
     {
         db.Entry(notificacionVencimiento).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     ViewBag.RegistroCapacitacionID = new SelectList(db.RegistroCapacitacion, "RegistroCapacitacionID", "UsuarioModificacion", notificacionVencimiento.RegistroCapacitacionID);
     return(View(notificacionVencimiento));
 }
示例#3
0
        public ActionResult Edit([Bind(Include = "RegistroCapacitacionID,Aprobado,Nota,NotaPrevia,Estado,JornadaID,CapacitadoID,FechaVencimiento,EnvioOVALEstado,DocumentacionAdicionalDatos")] RegistroCapacitacion registroCapacitacion,
                                 string PreviousUrl)
        {
            if (ModelState.IsValid)
            {
                registroCapacitacion.SetearAtributosControl();

                db.Entry(registroCapacitacion).State = EntityState.Modified;
                db.SaveChanges();

                if (!String.IsNullOrEmpty(PreviousUrl))
                {
                    return(Redirect(PreviousUrl));
                }
                else
                {
                    return(RedirectToAction("Details", new { id = registroCapacitacion.RegistroCapacitacionID }));
                }
            }
            ViewBag.CapacitadoID = new SelectList(db.Capacitados, "CapacitadoID", "Nombre", registroCapacitacion.CapacitadoID);

            var jornadas = db.Jornada.Where(j => j.UsuarioModificacion == User.Identity.Name);

            ViewBag.JornadaID = new SelectList(jornadas.OrderByDescending(j => j.Fecha).ThenByDescending(j => j.Hora).ToList(), "JornadaID", "JornadaIdentificacionCompleta");

            return(View(registroCapacitacion));
        }
示例#4
0
 public ActionResult EditarItem([Bind(Include = "ConfiguracionID,Index,Order,Seccion,SubSeccion,Label,Value")] Configuracion configuracion)
 {
     if (ModelState.IsValid)
     {
         db.Entry(configuracion).State = EntityState.Modified;
         db.SaveChanges();
         return(View(configuracion));
     }
     return(View("EditarItem", configuracion));
 }
示例#5
0
 public ActionResult Edit([Bind(Include = "LugarID,NombreLugar,AbrevLugar,DireccionHabitual")] Lugar lugar)
 {
     if (ModelState.IsValid)
     {
         db.Entry(lugar).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(lugar));
 }
示例#6
0
 public ActionResult Edit([Bind(Include = "TipoDocumentoID,Descripcion,Abreviacion,PermiteEnviosOVAL,TipoDocumentoOVAL")] TipoDocumento tipoDocumento)
 {
     if (ModelState.IsValid)
     {
         db.Entry(tipoDocumento).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(tipoDocumento));
 }
        public void Guardar(Profesor profesor)
        {
            if (profesor.ProfesorId == 0)
            {
                _dbContext.Profesores.Add(profesor);
            }
            else
            {
                var profesorInDb = _dbContext.Profesores.SingleOrDefault(p => p.ProfesorId == profesor.ProfesorId);
                if (profesorInDb != null)
                {
                    profesorInDb.Nombre   = profesor.Nombre;
                    profesorInDb.Apellido = profesor.Apellido;
                    _dbContext.Entry(profesorInDb).State = EntityState.Modified;
                }
            }

            //_dbContext.SaveChanges();
            //profesorDto.ProfesorId = profesor.ProfesorId;
        }
示例#8
0
        public ActionResult Edit([Bind(Include = "InstructorID,Nombre,Apellido,Documento,FechaNacimiento,Domicilio,Telefono,Activo")] Instructor instructor)
        {
            if (ModelState.IsValid)
            {
                instructor.SetearAtributosControl();

                db.Entry(instructor).State = EntityState.Modified;
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }
            return(View(instructor));
        }
        public void Guardar(Alumno alumno)
        {
            if (alumno.AlumnoId == 0)
            {
                _dbContext.Alumnos.Add(alumno);
            }
            else
            {
                var alumnoInDb = _dbContext.Alumnos.SingleOrDefault(a => a.AlumnoId == alumno.AlumnoId);
                if (alumnoInDb != null)
                {
                    alumnoInDb.Nombre   = alumno.Nombre;
                    alumnoInDb.Apellido = alumno.Apellido;
                    _dbContext.Entry(alumnoInDb).State = EntityState.Modified;
                }
                //_dbContext.Entry(alumno).State = EntityState.Added;
                //_dbContext.Entry(alumno).State = EntityState.Modified;
            }

            //_dbContext.SaveChanges();
            //alumnoEditDto.AlumnoId = alumno.AlumnoId;
        }
示例#10
0
        public void Guardar(Curso curso)
        {
            if (curso.CursoId == 0)
            {
                _dbContext.Cursos.Add(curso);
            }
            else
            {
                var cursoInDb = _dbContext.Cursos.SingleOrDefault(c => c.CursoId == curso.CursoId);
                if (cursoInDb != null)
                {
                    cursoInDb.Nombre                  = curso.Nombre;
                    cursoInDb.Descripcion             = curso.Descripcion;
                    cursoInDb.Vacantes                = curso.Vacantes;
                    cursoInDb.PrecioTotal             = curso.PrecioTotal;
                    cursoInDb.ProfesorId              = curso.ProfesorId;
                    cursoInDb.Nivel                   = curso.Nivel;
                    _dbContext.Entry(cursoInDb).State = EntityState.Modified;
                }
            }

            //_dbContext.SaveChanges();
        }
示例#11
0
 public bool Delete(int categoriaid)
 {
     try
     {
         _cursosDbContext.Entry(new Categoria {
             Id = categoriaid
         }).State = EntityState.Deleted;;
         _cursosDbContext.SaveChanges();
     }
     catch (Exception)
     {
         return(false);
     }
     return(true);
 }
示例#12
0
 public bool Delete(int leccionid)
 {
     try
     {
         _cursosDbContext.Entry(new LeccionPorCurso {
             Id = leccionid
         }).State = EntityState.Deleted;
         _cursosDbContext.SaveChanges();
     }
     catch (Exception)
     {
         return(false);
     }
     return(true);
 }
示例#13
0
        public ActionResult Edit([Bind(Include = "CursoID,Descripcion,DescripcionEnIngles,Costo,Horas,Modulo,Vigencia,EvaluacionConNota,PuntajeMinimo,PuntajeMaximo,ColorDeFondo,RequiereAutorizacion,TieneMinimoAsistentes,MinimoAsistentes,TieneMaximoAsistentes,MaximoAsistentes,TieneCierreIncripcion,HorasCierreInscripcion,PermiteInscripcionesExternas,PermiteEnviosOVAL,PuntoServicioId,RequiereDocumentacionAdicionalInscripcion,DocumentacionAdicionalIdentificador,RequiereDocumentacionAdicionalInscripcionObligatoria")] Curso curso)
        {
            if (ModelState.IsValid)
            {
                if (!curso.PermiteEnviosOVAL)
                {
                    curso.PuntoServicioId = null;
                }

                db.Entry(curso).State = EntityState.Modified;
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }
            return(View(curso));
        }
示例#14
0
        public ActionResult Edit([Bind(Include = "EmpresaID,NombreFantasia,Domicilio,RazonSocial,RUT,DepartamentoID,Localidad,CodigoPostal,Email,Telefono")] Empresa empresa)
        {
            if (ModelState.IsValid)
            {
                empresa.SetearAtributosControl();

                db.Entry(empresa).State = EntityState.Modified;
                db.SaveChanges();

                return(RedirectToAction("Index"));
            }

            ViewBag.DepartamentoID = new SelectList(db.Departamentos, "DepartamentoID", "Nombre");

            return(View(empresa));
        }
示例#15
0
        public bool EnviarDatosRegistroOVAL(int registroCapacitacionId, ref int totalAceptados, ref int totalRechazados)
        {
            //se inicializa nuevamente el db context para evitar que se lean datos cacheados
            db = new CursosDbContext();
            var registroCapacitacion = db.RegistroCapacitacion.Where(r => r.RegistroCapacitacionID == registroCapacitacionId).FirstOrDefault();

            if (registroCapacitacion != null)
            {
                if (registroCapacitacion.ListoParaEnviarOVAL)
                {
                    EstadosEnvioOVAL estado;
                    RespuestaOVAL    respuesta = this.EnviarDatosRegistro(registroCapacitacion);

                    switch (respuesta.Codigo)
                    {
                    case 0:     //si el registro se recibió correctamente

                        estado = EstadosEnvioOVAL.Aceptado;
                        totalAceptados++;

                        break;

                    case 1:     //si el registro no se recibió correctamente

                        estado = EstadosEnvioOVAL.Rechazado;
                        totalRechazados++;

                        break;

                    default:

                        return(false);
                    }

                    registroCapacitacion.EnvioOVALEstado    = estado;
                    registroCapacitacion.EnvioOVALFechaHora = DateTime.Now;
                    registroCapacitacion.EnvioOVALUsuario   = HttpContext.Current.User.Identity.Name;
                    registroCapacitacion.EnvioOVALMensaje   = respuesta.Mensaje;

                    db.Entry(registroCapacitacion).State = EntityState.Modified;
                    db.SaveChanges();
                }
            }

            return(true);
        }
示例#16
0
        public ActionResult Create([Bind(Include = "CapacitadoID,Nombre,Apellido,Documento,Fecha,Telefono,EmpresaID,TipoDocumentoID")] Capacitado capacitado, HttpPostedFileBase upload, int?jornadaId)
        {
            if (ModelState.IsValid)
            {
                capacitado.SetearAtributosControl();

                db.Capacitados.Add(capacitado);
                db.SaveChanges();

                if (upload != null && upload.ContentLength > 0)
                {
                    string nombreArchivo = PathArchivoHelper.GetInstance().ObtenerNombreFotoCapacitado(capacitado.CapacitadoID,
                                                                                                       System.IO.Path.GetExtension(upload.FileName));

                    string carpetaArchivo = PathArchivoHelper.GetInstance().ObtenerCarpetaFotoCapacitado(capacitado.CapacitadoID);

                    string pathDirectorio = Path.Combine(Server.MapPath("~/Images/FotosCapacitados/"), carpetaArchivo);

                    capacitado.PathArchivo = PathArchivoHelper.GetInstance().ObtenerPathArchivo(nombreArchivo,
                                                                                                carpetaArchivo,
                                                                                                pathDirectorio,
                                                                                                upload,
                                                                                                TiposArchivo.FotoCapacitado);

                    db.Entry(capacitado).State = EntityState.Modified;
                    db.SaveChanges();
                }

                //si durante la cración se recibe un id de jornada, el capacitado es agregado a esa jornada
                if (jornadaId != null)
                {
                    Jornada j = db.Jornada.Find(jornadaId);

                    if (j == null)
                    {
                        return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
                    }

                    //se vuelve a cargar el capacitado para leer entidades asociadas
                    capacitado = db.Capacitados.Where(c => c.CapacitadoID == capacitado.CapacitadoID).Include(c => c.TipoDocumento).FirstOrDefault();

                    var nuevoRC = new RegistroCapacitacion();
                    nuevoRC.SetearAtributosControl();

                    nuevoRC.Jornada          = j;
                    nuevoRC.Capacitado       = capacitado;
                    nuevoRC.Nota             = 0;
                    nuevoRC.Aprobado         = true;
                    nuevoRC.FechaVencimiento = j.ObtenerFechaVencimiento(true);

                    if (j.PermiteEnviosOVAL)
                    {
                        nuevoRC.EnvioOVALEstado = EstadosEnvioOVAL.PendienteEnvio;
                    }
                    else
                    {
                        nuevoRC.EnvioOVALEstado = EstadosEnvioOVAL.NoEnviar;
                    }

                    db.RegistroCapacitacion.Add(nuevoRC);
                    db.SaveChanges();

                    //si la incripción fue registrada por un usuario con perfil para inscripciones externas, se notifica por email
                    if (System.Web.HttpContext.Current.User.IsInRole("InscripcionesExternas"))
                    {
                        NotificacionesEMailHelper.GetInstance().EnviarEmailsNotificacionInscripcionExterna(nuevoRC, true);
                    }

                    return(RedirectToAction("Details", "Jornadas", new { id = jornadaId }));
                }

                return(RedirectToAction("Details", "Capacitados", new { id = capacitado.CapacitadoID }));
            }

            ViewBag.TipoDocumentoID = new SelectList(db.TiposDocumento.ToList(), "TipoDocumentoID", "Descripcion", capacitado.TipoDocumentoID);
            ViewBag.EmpresaID       = new SelectList(db.Empresas.OrderBy(e => e.NombreFantasia).ToList(), "EmpresaID", "NombreFantasia", capacitado.EmpresaID);

            return(View(capacitado));
        }