Exemple #1
0
        // GET: Datos_Usuarios/Details/5
        public ActionResult Details(string id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            var oUser = new Datos_Usuarios();

            using (BD_EvaluacionEntities Db = new BD_EvaluacionEntities())
            {
                var dUser = Db.Datos_Usuarios.Find(id);
                oUser = (from usr in Db.Usuarios
                         join dus in Db.Datos_Usuarios on usr.Codigo_Usuario equals dus.Codigo_Usuario
                         where usr.Codigo_Usuario == id
                         select new Datos_Usuarios
                {
                    Codigo_Usuario = dUser.Codigo_Usuario,
                    Nombre_Completo = dUser.Nombre_Completo,
                    Fecha_Nacimiento = dUser.Fecha_Nacimiento,
                    Rut = dUser.Rut
                }).FirstOrDefault();
            }

            if (oUser == null)
            {
                return(HttpNotFound());
            }
            return(View(oUser));
        }
        private void DettachUser_TI_Click(object sender, EventArgs e)
        {
            User item = (User)Datos.Current;

            _usuarios.DettachItem(item, AppContext.ActiveSchema);

            SetGridFormat(Users_DGW);
            Datos_Usuarios.ResetBindings(false);
            Datos_Permisos.ResetBindings(false);
        }
        public ActionResult Edit(UserEditViewModel model)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    using BD_EvaluacionEntities Db = new BD_EvaluacionEntities();
                    var oUser = Db.Usuarios.Find(model.Codigo_Usuario);
                    oUser.Codigo_Usuario = model.Codigo_Usuario.ToUpper();
                    oUser.Nombre_Usuario = model.Nombre_Usuario.ToUpper();
                    oUser.Tipo_Usuario   = model.Tipo_Usuario;
                    oUser.Codigo_Cargo   = model.Codigo_Cargo;
                    if (model.PASS != null && model.PASS.Trim() != "")
                    {
                        oUser.PASS = Crypto.Hash(model.PASS);
                    }
                    if (model.IdState > 0)
                    {
                        oUser.IdState = model.IdState;
                    }
                    Db.Entry(oUser).State = System.Data.Entity.EntityState.Modified;

                    //DateTime dt = new DateTime();

                    var Existe = true;
                    var Dat    = (from usr in Db.Datos_Usuarios where usr.Codigo_Usuario == model.Codigo_Usuario select usr);
                    if (Dat.Count() == 0 || Dat == null)
                    {
                        Existe = false;
                    }
                    else
                    {
                        Dat = null;
                    }
                    #region Graba datos
                    Datos_Usuarios dUser = new Datos_Usuarios
                    {
                        Codigo_Usuario   = model.Codigo_Usuario.ToUpper(),
                        Nombre_Completo  = model.Nombre_Completo.ToUpper(),
                        Fecha_Nacimiento = model.Fecha_Nacimiento,
                        Rut                    = model.Rut,
                        Fondo                  = model.Fondo,
                        Fecha_Ingreso          = model.Fecha_Ingreso,
                        Fecha_Termino_Contrato = model.Fecha_Termino_Contrato,
                        Calidad_Contrato       = model.Calidad_Contrato ?? string.Empty,
                        Tipo_Contrato          = model.Tipo_Contrato ?? string.Empty,
                        Codigo_Contrato        = model.Codigo_Contrato ?? string.Empty
                    };
                    if (Existe)
                    {
                        Db.Entry(dUser).State = System.Data.Entity.EntityState.Modified;
                    }
                    else
                    {
                        Db.Datos_Usuarios.Add(dUser);
                    }
                    mensaje = "Ok";
                    Db.SaveChanges();
                    #endregion
                }
                else
                {
                    string errors = string.Empty;
                    foreach (var item in ModelState.Values)
                    {
                        if (item.Errors.Count > 0)
                        {
                            mensaje += string.Format("{0} \n", item.Errors[0].ErrorMessage);
                        }
                    }
                    mensaje += " Contacte al Administrador";
                }
                return(RedirectToAction("Edit", "User", new { id = model.Codigo_Usuario, mensaje }));
            }
            catch (Exception ex)
            {
                mensaje = ex.Message;
                return(RedirectToAction("Edit", "User", new { id = model.Codigo_Usuario, mensaje }));
            }
        }
        public ActionResult Create(UsuarioViewModel user)
        {
            Usuarios oUser = (Usuarios)Session["User"];

            ViewBag.TipoUsuario = new SelectList(Tools.LeerTipoUsuario(Convert.ToInt32(oUser.Tipo_Usuario)), "Tipo_Usuario", "Nombre", "");
            ViewBag.Cargos      = new SelectList(Tools.LeerCargos(Convert.ToInt32(oUser.Tipo_Usuario)), "Codigo_Cargo", "Nombre_Cargo", "");
            ViewBag.UserState   = new SelectList(Utils.Tools.LeerEstados(), "IdState", "StateDescription", "");

            try
            {
                IEnumerable <ModelError> AllErrors = ModelState.Values.SelectMany(v => v.Errors);
                string messages = string.Join("; ", ModelState.Values
                                              .SelectMany(x => x.Errors)
                                              .Select(x => x.ErrorMessage));
                //Validación del Modelo
                if (ModelState.IsValid)
                {
                    #region Valida si existe usuario
                    var UCodeExists = IsUserCodeExists(user.Codigo_Usuario);
                    if (!UCodeExists)
                    {
                        ViewBag.Message = "Código de Usuario ya ingresado";
                        ViewBag.Status  = false;
                        return(View());
                    }
                    #endregion
                    else
                    {
                        #region Valida si existe Nombre de Usuario
                        var UserExists = IsUserExists(user.Nombre_Usuario);
                        if (!UserExists)
                        {
                            ViewBag.Message = "Nombre de Usuario ya ingresado";
                            ViewBag.Status  = false;
                            return(View());
                        }
                        #endregion
                        else
                        {
                            #region encripta Password
                            user.PASS = Crypto.Hash(user.PASS);

                            #endregion
                            #region Graba Datos
                            try
                            {
                                DateTime dt = new DateTime();
                                using var bd = new BD_EvaluacionEntities();
                                var oDUsuario = new Datos_Usuarios
                                {
                                    Codigo_Usuario   = user.Codigo_Usuario.ToUpper(),
                                    Nombre_Completo  = user.Nombre_Completo,
                                    Fecha_Nacimiento = user.Fecha_Nacimiento == null ? dt : user.Fecha_Nacimiento,
                                    Rut                    = Convert.ToInt32(user.Rut),
                                    Fondo                  = user.Fondo ?? "",
                                    Fecha_Ingreso          = user.Fecha_Ingreso == null ? dt : user.Fecha_Ingreso,
                                    Fecha_Termino_Contrato = user.Fecha_Termino_Contrato == null ? dt : user.Fecha_Termino_Contrato,
                                    Calidad_Contrato       = user.Calidad_Contrato,
                                    Tipo_Contrato          = user.Tipo_Contrato,
                                    Codigo_Contrato        = user.Codigo_Contrato
                                };
                                bd.Datos_Usuarios.Add(oDUsuario);
                                bd.SaveChanges();

                                var oUsuario = new Usuarios
                                {
                                    IdState        = 1,
                                    Codigo_Usuario = user.Codigo_Usuario.ToUpper(),
                                    Nombre_Usuario = user.Nombre_Usuario,
                                    Tipo_Usuario   = user.Tipo_Usuario,
                                    Codigo_Cargo   = user.Codigo_Cargo,
                                    PASS           = user.PASS
                                };
                                bd.Usuarios.Add(oUsuario);
                                bd.SaveChanges();
                                mensaje = "Ok";
                            }
                            catch (Exception e)
                            {
                                mensaje = e.Message;
                            }
                            #endregion
                        }
                    }
                }
                else
                {
                    mensaje = string.Join("; ", ModelState.Values
                                          .SelectMany(x => x.Errors)
                                          .Select(x => x.ErrorMessage));
                    mensaje += " Los datos del usuario No fueron grabados";
                }
            }
            catch (DbEntityValidationException ex)
            {
                mensaje = ex.Message;
            }
            return(RedirectToAction("Create", "User", new { mensaje }));
        }