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); }
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()); }