public ActionResult RegisterPage(RegisterViewModel model, HttpPostedFileBase file) { if (ModelState.IsValid) { UsersService userService = new UsersService(); User currentUser = userService.FindUserByUsername(model.Username); if (currentUser != null) { ViewBag.Error = "Username already exist!"; return View(); } if (!model.Password.Equals(model.repeatPassword)) { ViewBag.Error = "Password doesn't match!"; return View(); } currentUser = userService.FindUserByEmail(model.Email); if (currentUser != null) { ViewBag.Error = "Email address already exist!!"; return View(); } User user = new User(); user.Email = model.Email; user.FirstName = model.FirstName; user.LastName = model.LastName; user.Password = model.Password; user.Username = model.Username; user.DateCreated = DateTime.Now; user.IsUserAdmin = false; user.IsUserRegistered = false; user.LastLoginDate = DateTime.Now; user.VacationDays = 20; if (file != null) { using (MemoryStream ms = new MemoryStream()) { file.InputStream.CopyTo(ms); byte[] array = ms.GetBuffer(); if (array.Length > 55000) { ViewBag.Error = "Image size can't be more than ~50Kb!!"; return View(); } user.ProfilePicture = array; } } userService.Create(user); return RedirectToAction("RegisterOK", "Home"); } return View(); }
public ActionResult EditPage(EditAccountViewModel model, HttpPostedFileBase file) { UsersService users = new UsersService(); String currentUsername = User.Identity.Name; User user = (User)users.FindUserByUsername(currentUsername); if (user != null) { if (!currentUsername.Equals(user.Username)) { return RedirectToAction("Index", "Home"); } } User checkForMail = (User)users.FindUserByEmail(model.Email); if (checkForMail == null || checkForMail.Email.Equals(user.Email)) { user.FirstName = model.FirstName; user.LastName = model.LastName; user.Email = model.Email; if (!model.removeImage) { if (file != null) { using (MemoryStream ms = new MemoryStream()) { file.InputStream.CopyTo(ms); byte[] array = ms.GetBuffer(); if (array.Length > 55000) { ViewBag.Error = "Image size can't be more than ~50Kb!!"; return View(model); } user.ProfilePicture = array; } } } else { user.ProfilePicture = null; } users.Edit(user); return RedirectToAction("Index", "Home"); } else { ViewBag.Error = "Email address already exist!!"; return View(model); } }