예제 #1
0
        public ActionResult EliminarUsuario(Int32 UsuarioId)
        {
            try {
                using (var transaction = new TransactionScope())
                {
                    var context = new EVA360Entities();
                    var usuario = context.Usuario.FirstOrDefault(u => u.UsuarioId == UsuarioId);

                    usuario.Estado = UsuarioEstado.Inactivo;

                    context.SaveChanges();
                    transaction.Complete();
                }
            }
            catch (DbEntityValidationException e) {
                Response.StatusCode = (int)HttpStatusCode.BadRequest;

                List <String> errores = new List <String>();

                foreach (var eve in e.EntityValidationErrors)
                {
                    foreach (var ve in eve.ValidationErrors)
                    {
                        errores.Add(ve.ErrorMessage);
                    }
                }

                return(Json(new { errores = errores }));
            }

            return(getData());
        }
        public ActionResult ListarMensajes()
        {
            var context   = new EVA360Entities();
            var viewModel = new ComunicacionInternaForm();

            viewModel.LstCom = context.ComunicacionInterna
                               .OrderByDescending(c => c.FechaCreacion).ToList();
            return(View(viewModel));
        }
예제 #3
0
        public JsonResult getData()
        {
            var context = new EVA360Entities();

            context.Configuration.LazyLoadingEnabled   = false;
            context.Configuration.ProxyCreationEnabled = false;

            var LstPeriodos = context.Periodo.ToList();

            return(Json(new { periodos = LstPeriodos, }, JsonRequestBehavior.AllowGet));
        }
        public JsonResult getData()
        {
            var context = new EVA360Entities();

            context.Configuration.LazyLoadingEnabled   = false;
            context.Configuration.ProxyCreationEnabled = false;

            var LstCInterna = context.ComunicacionInterna.ToList();

            return(Json(new
            {
                comunicaciones = LstCInterna
            }, JsonRequestBehavior.AllowGet));
        }
예제 #5
0
        public ActionResult ActualizarObjetivo(ObjetivoForm objetivoModel)
        {
            var      context = new EVA360Entities();
            Objetivo objetivo;

            if (!objetivoModel.ObjetivoId.HasValue)
            {
                objetivo = new Objetivo();
                objetivo.FechaCreacion     = DateTime.Now;
                objetivo.UsuarioCreacionId = 1;//TO DO
                context.Objetivo.Add(objetivo);
            }
            else
            {
                objetivo = context.Objetivo
                           .FirstOrDefault(o => o.ObjetivoId == objetivoModel.ObjetivoId);
            }

            try {
                using (var transaction = new TransactionScope())
                {
                    objetivo.Nombre      = objetivoModel.Nombre;
                    objetivo.Orden       = objetivoModel.Orden;
                    objetivo.PeriodoId   = objetivoModel.PeriodoId;
                    objetivo.Descripcion = objetivoModel.Descripcion;

                    context.SaveChanges();
                    transaction.Complete();
                }
            }
            catch (DbEntityValidationException e) {
                Response.StatusCode = (int)HttpStatusCode.BadRequest;

                List <String> errores = new List <String>();

                foreach (var eve in e.EntityValidationErrors)
                {
                    foreach (var ve in eve.ValidationErrors)
                    {
                        errores.Add(ve.ErrorMessage);
                    }
                }

                return(Json(new { errores = errores }));
            }

            return(getData());
        }
예제 #6
0
        public ActionResult ActualizarPeriodo(PeriodoForm periodomodel)
        {
            var     context = new EVA360Entities();
            Periodo periodo;

            if (periodomodel.PeriodoId.HasValue == false)   // Crear nuevo
            {
                periodo = new Periodo();
                periodo.FechaCreacion = DateTime.Now;
                context.Periodo.Add(periodo);
            }
            else   // Editar exsistente
            {
                periodo = context.Periodo
                          .FirstOrDefault(p => p.PeriodoId == periodomodel.PeriodoId);
            }

            try {
                using (var Transaction = new TransactionScope())
                {
                    periodo.Nombre      = periodomodel.Nombre;
                    periodo.Estado      = periodomodel.Estado;
                    periodo.FechaInicio = periodomodel.FechaInicio;
                    periodo.FechaFin    = periodomodel.FechaFin;

                    context.SaveChanges();
                    Transaction.Complete();
                }
            }
            catch (DbEntityValidationException e) {
                Response.StatusCode = (int)HttpStatusCode.BadRequest;

                List <String> errores = new List <String>();

                foreach (var eve in e.EntityValidationErrors)
                {
                    foreach (var ve in eve.ValidationErrors)
                    {
                        errores.Add(ve.ErrorMessage);
                    }
                }

                return(Json(new { errores = errores }));
            }
            return(getData());
        }
예제 #7
0
        public ActionResult LoginPost(LoginForm loginModel)
        {
            if (!ModelState.IsValid)
            {
                TempData["ErrorMessage"] = "Debe completar todos los campos";
                return(RedirectToAction("Index"));
            }

            string saltedPassword = PasswordHelper.MD5Hash(loginModel.Password);

            var context = new EVA360Entities();
            var usuario = context.Usuario
                          .FirstOrDefault(u => u.Codigo == loginModel.Usuario &&
                                          u.Password == u.Salt + saltedPassword + u.Salt);

            if (usuario != null)
            {
                Session["UsuarioId"]      = usuario.UsuarioId;
                Session["Nombre"]         = usuario.Nombre;
                Session["NombreCompleto"] = usuario.Apellido + " " + usuario.Nombre;

                if (usuario.Administrador != null)
                {
                    Session["UsuarioRol"] = "ADMIN";
                }
                else if (usuario.Supervisor != null)
                {
                    Session["UsuarioRol"] = "SUPERVISOR";
                }
                else if (usuario.Proveedor != null)
                {
                    Session["UsuarioRol"] = "PROVEEDOR";
                }
                else if (usuario.Empleado != null)
                {
                    Session["UsuarioRol"] = "EMPLEADO";
                }

                return(RedirectToAction("Index", "Home"));
            }

            TempData["ErrorMessage"] = "Datos Incorrectos";
            return(RedirectToAction("Index"));
        }
예제 #8
0
        public JsonResult getData()
        {
            var context = new EVA360Entities();

            context.Configuration.LazyLoadingEnabled   = false;
            context.Configuration.ProxyCreationEnabled = false;

            var LstEvaluaciones = context.Evaluacion.ToList();

            var LstSupervisores = context.Supervisor.Select(x => new
            {
                x.SupervisorId,
                x.Usuario.Nombre,
                x.Usuario.Apellido
            }).ToList();
            var LstProveedores = context.Proveedor.Select(x => new
            {
                x.ProveedorId,
                x.Usuario.Nombre,
                x.Usuario.Apellido
            }).ToList();
            var LstEmpleados = context.Empleado.Select(x => new
            {
                x.EmpleadoId,
                x.Usuario.Nombre,
                x.Usuario.Apellido
            }).ToList();
            var LstPeriodos = context.Periodo.Select(x => new
            {
                x.PeriodoId,
                x.Nombre
            }).ToList();

            return(Json(new
            {
                evaluaciones = LstEvaluaciones,
                supervisores = LstSupervisores,
                proveedores = LstProveedores,
                empleados = LstEmpleados,
                periodos = LstPeriodos
            }, JsonRequestBehavior.AllowGet));
        }
예제 #9
0
        public JsonResult getData()
        {
            var context = new EVA360Entities();

            context.Configuration.LazyLoadingEnabled   = false;
            context.Configuration.ProxyCreationEnabled = false;

            var LstObjetivos = context.Objetivo.ToList();
            var LstPeriodos  = context.Periodo.Select(x => new
            {
                x.PeriodoId,
                x.Nombre
            }).ToList();

            return(Json(new
            {
                objetivos = LstObjetivos,
                periodos = LstPeriodos
            }, JsonRequestBehavior.AllowGet));
        }
        public ActionResult CrearMensaje(ComunicacionInternaForm comunicacionModel)
        {
            var context = new EVA360Entities();
            ComunicacionInterna comunicacion;

            comunicacion = new ComunicacionInterna();

            context.ComunicacionInterna.Add(comunicacion);

            try {
                using (var transaction = new TransactionScope())
                {
                    comunicacion.EmpleadoId        = 1;
                    comunicacion.Contenido         = comunicacionModel.Contenido;
                    comunicacion.FechaCreacion     = DateTime.Now;
                    comunicacion.UsuarioCreacionId = comunicacion.EmpleadoId;

                    context.SaveChanges();
                    transaction.Complete();
                }
            }
            catch (DbEntityValidationException e) {
                Response.StatusCode = (int)HttpStatusCode.BadRequest;

                List <String> errores = new List <String>();

                foreach (var eve in e.EntityValidationErrors)
                {
                    foreach (var ve in eve.ValidationErrors)
                    {
                        errores.Add(ve.ErrorMessage);
                    }
                }

                return(Json(new { errores = errores }));
            }

            return(RedirectToAction("ListarMensajes"));
        }
예제 #11
0
        public JsonResult getData()
        {
            var context = new EVA360Entities();

            context.Configuration.LazyLoadingEnabled   = false;
            context.Configuration.ProxyCreationEnabled = false;

            var LstUsuarios       = context.Usuario.ToList();
            var LstTipoDocumentos = context.TipoDocumento.Select(x => new
            {
                x.TipoDocumentoId,
                x.Sigla
            }).ToList();

            List <String> LstRoles = ModeloTipo.Roles;

            return(Json(new
            {
                usuarios = LstUsuarios,
                tipodocumentos = LstTipoDocumentos,
                roles = LstRoles
            }, JsonRequestBehavior.AllowGet));
        }
예제 #12
0
        public ActionResult ActualizarUsuario(UsuarioForm usuarioModel)
        {
            var     context = new EVA360Entities();
            Usuario usuario;

            if (!usuarioModel.UsuarioId.HasValue)    // Crear nuevo
            {
                usuario = new Usuario();
                usuario.FechaCreacion     = DateTime.Now;
                usuario.Estado            = UsuarioEstado.Activo;
                usuario.Codigo            = usuarioModel.Codigo;
                usuario.Salt              = PasswordHelper.GetSalt();
                usuario.UsuarioCreacionId = 1;
                var aux = PasswordHelper.MD5Hash(usuarioModel.Password); //Encriptamos el password
                usuario.Password = usuario.Salt + aux + usuario.Salt;

                context.Usuario.Add(usuario);
            }
            else   // Editar exsistente
            {
                usuario = context.Usuario
                          .FirstOrDefault(u => u.UsuarioId == usuarioModel.UsuarioId);
            }

            try {
                using (var transaction = new TransactionScope())
                {
                    usuario.Nombre          = usuarioModel.Nombre;
                    usuario.Apellido        = usuarioModel.Apellido;
                    usuario.Email           = usuarioModel.Email;
                    usuario.FechaNacimiento = usuarioModel.FechaNacimiento;
                    usuario.Sexo            = usuarioModel.Sexo;
                    usuario.TipoDocumentoId = usuarioModel.TipoDocumentoId;
                    usuario.NroDocumento    = usuarioModel.NroDocumento;
                    usuario.FechaCreacion   = DateTime.Now;

                    context.SaveChanges();

                    if (!usuarioModel.UsuarioId.HasValue)
                    {
                        String rol = usuarioModel.Rol;

                        switch (rol)
                        {
                        case "ADMIN":
                            Administrador admin = new Administrador();
                            admin.AdministradorId   = usuario.UsuarioId;
                            admin.FechaCreacion     = DateTime.Now;
                            admin.UsuarioCreacionId = (int)Session["UsuarioId"];
                            context.Administrador.Add(admin);
                            break;

                        case "SUPERVISOR":
                            Supervisor supervisor = new Supervisor();
                            supervisor.SupervisorId      = usuario.UsuarioId;
                            supervisor.FechaCreacion     = DateTime.Now;
                            supervisor.UsuarioCreacionId = (int)Session["UsuarioId"];
                            context.Supervisor.Add(supervisor);
                            break;

                        case "EMPLEADO":
                            Empleado empleado = new Empleado();
                            empleado.EmpleadoId        = usuario.UsuarioId;
                            empleado.FechaCreacion     = DateTime.Now;
                            empleado.UsuarioCreacionId = (int)Session["UsuarioId"];
                            context.Empleado.Add(empleado);
                            break;

                        case "PROVEEDOR":
                            Proveedor proveedor = new Proveedor();
                            proveedor.ProveedorId       = usuario.UsuarioId;
                            proveedor.FechaCreacion     = DateTime.Now;
                            proveedor.UsuarioCreacionId = (int)Session["UsuarioId"];
                            context.Proveedor.Add(proveedor);
                            break;
                        }
                        context.SaveChanges();
                    }

                    transaction.Complete();
                }
            }
            catch (DbEntityValidationException e) {
                Response.StatusCode = (int)HttpStatusCode.BadRequest;

                List <String> errores = new List <String>();

                foreach (var eve in e.EntityValidationErrors)
                {
                    foreach (var ve in eve.ValidationErrors)
                    {
                        errores.Add(ve.ErrorMessage);
                    }
                }

                return(Json(new { errores = errores }));
            }

            return(getData());
        }
예제 #13
0
 public BaseController()
 {
     context = new EVA360Entities();
 }
예제 #14
0
        public ActionResult ActualizarEvaluacion(EvaluacionForm evaluacionModel)
        {
            var        context = new EVA360Entities();
            Evaluacion evaluacion;

            if (!evaluacionModel.EvaluacionId.HasValue)
            {
                evaluacion = new Evaluacion();
                evaluacion.FechaCreacion     = DateTime.Now;
                evaluacion.UsuarioCreacionId = 1;//TO DO
                context.Evaluacion.Add(evaluacion);
            }
            else
            {
                evaluacion = context.Evaluacion
                             .FirstOrDefault(e => e.EvaluacionId == evaluacionModel.EvaluacionId);
            }

            try
            {
                using (var transaction = new TransactionScope())
                {
                    evaluacion.Nombre           = evaluacionModel.Nombre;
                    evaluacion.PorcentajeAvance = evaluacionModel.PorcentajeAvance;
                    evaluacion.SupervisorId     = evaluacionModel.SupervisorId;
                    evaluacion.EmpleadoId       = evaluacionModel.EmpleadoId;
                    evaluacion.PeriodoId        = evaluacionModel.PeriodoId;
                    evaluacion.ProveedorId      = evaluacionModel.ProveedorId;
                    evaluacion.RutaInforme      = evaluacionModel.RutaInforme;

                    if (Request.Files["Informe360"] != null)
                    {
                        var filename = "360_" + DateTime.Now.Ticks + "_" + Request.Files["Informe360"].FileName;
                        var filepath = Server.MapPath("~/Content/360/" + filename);
                        Request.Files["Informe360"].SaveAs(filepath);
                        evaluacion.RutaInforme = filename;
                    }

                    context.SaveChanges();
                    transaction.Complete();
                }
            }
            catch (DbEntityValidationException e)
            {
                Response.StatusCode = (int)HttpStatusCode.BadRequest;

                List <String> errores = new List <String>();

                foreach (var eve in e.EntityValidationErrors)
                {
                    foreach (var ve in eve.ValidationErrors)
                    {
                        errores.Add(ve.ErrorMessage);
                    }
                }

                return(Json(new { errores = errores }));
            }

            return(getData());
        }