Ejemplo n.º 1
0
 public User Create(User user)
 {
     try {
         string key = ConfigurationManager.AppSettings["SecretKey"];
         //user.email = Security.Security.EncryptString(key, user.email);
         user.password = Security.Security.EncryptString(key, user.password);
         bool res;
         using (var unit = new UnitWork <User>()) {
             unit.genericDAL.Add(user);
             res = unit.Complete();
         }
         if (res)
         {
             if (user.rol.Equals("C"))
             {
                 UserDataHistory udh = new UserDataHistory()
                 {
                     date   = DateTime.Now,
                     heigth = user.height,
                     weight = user.weight,
                     idUser = user.idUser
                 };
                 using (var u = new UnitWork <UserDataHistory>()) {
                     u.genericDAL.Add(udh);
                     if (u.Complete())
                     {
                         return(user);
                     }
                     else
                     {
                         using (var u2 = new UnitWork <User>()) {
                             u2.genericDAL.Remove(user);
                             u2.Complete();
                         }
                     }
                 }
             }
             else
             {
                 return(user);
             }
         }
     } catch (Exception e) {
         Console.Write(e);
     }
     return(null);
 }
Ejemplo n.º 2
0
        public ActionResult EditProfile(UserViewModel userVM)
        {
            string key    = ConfigurationManager.AppSettings["SecretKey"];
            bool   result = false;
            User   aux;

            using (var unit = new UnitWork <User>()) {
                aux = unit.genericDAL.Get(userVM.idUser);
            }
            if (aux != null)
            {
                userVM.password = aux.password;
                if (!userVM.rol.Equals("C"))
                {
                    userVM.height = 10;
                    userVM.weight = 10;
                }
            }
            if (ModelState.IsValid)
            {
                UserDALImp imp = new UserDALImp();
                string     msg = imp.ValidationUserCreation(UserViewModel.Converter(userVM));
                if (msg.Equals(""))
                {
                    userVM.email = Security.Security.EncryptString(key, userVM.email);
                    User user = UserViewModel.Converter(userVM);
                    try {
                        using (var unit = new UnitWork <User>()) {
                            unit.genericDAL.Update(user);
                            result = unit.Complete();
                        }
                        if (result && userVM.rol.Equals("C") && (aux.height != userVM.height || aux.weight != userVM.weight))
                        {
                            UserDataHistory udh = new UserDataHistory()
                            {
                                date   = DateTime.Now,
                                heigth = user.height,
                                weight = user.weight,
                                idUser = user.idUser
                            };
                            using (var u = new UnitWork <UserDataHistory>()) {
                                u.genericDAL.Add(udh);
                                u.Complete();
                            }
                        }
                        ViewBag.msg = (!result) ? "No se pudo actualizar el perfil" : "El perfil se ha modificado";
                    } catch (Exception e) {
                        result = false;
                    }
                }
                else
                {
                    ViewBag.msg    = msg;
                    ViewBag.status = false;
                }
            }
            else
            {
                result = false;
            }

            ViewBag.status = result;
            if (result)
            {
                userVM.password = null;
                userVM.email    = Security.Security.DecryptString(key, userVM.email);
                Session["User"] = userVM;
            }
            return(EditProfile());
        }