public JsonResult RegisterUser(string username, string password, string email, string name, string surname) { User user = new User(); user.username = username; user.password = password; user.email = email == null ? null : email.ToLower(); user.name = name; user.surname = surname; user.guest = 0; user.registrationdate = DateTime.UtcNow; List <Error> errors; if (UserValidator.CheckAdditionUser(user, out errors)) { var foundUser = dbContext.Users.Where(x => x.username.ToLower() == user.username.ToLower()).ToList(); if (foundUser.Count > 0) { errors.Add(new Error { error = "Пользователь с таким именем уже существует" }); } else { foundUser = dbContext.Users.Where(x => x.email == user.email).ToList(); if (foundUser.Count > 0) { errors.Add(new Error { error = "Пользователь с таким email адресом уже существует" }); } else { try { dbContext.Users.Add(user); dbContext.SaveChanges(); } catch (System.Data.SqlClient.SqlException sEx) { errors.Add(new Error { error = "Ошибка БД. " + sEx.Message }); } //catch (Exception) { errors.Add(new Error { error = "Неизвестная ошибка БД" }); } } } } if (errors.Count > 0) { return(Json(errors, JsonRequestBehavior.AllowGet)); } else { return(Json("ok", JsonRequestBehavior.AllowGet)); } }
public JsonResult NoMoreGuest(string token, string username, string password, string email, string name, string surname) { if (!AuthProvider.Instance.CheckToken(dbContext, token)) { return(Json("wrong token", JsonRequestBehavior.AllowGet)); } int userID = dbContext.Tokens.Find(token).user; if (dbContext.Users.Find(userID).guest != 1) { return(Json("not a guest", JsonRequestBehavior.AllowGet)); } User updatedUser = new User(); updatedUser.username = username; updatedUser.password = password; updatedUser.email = email == null ? null : email.ToLower(); updatedUser.name = name; updatedUser.surname = surname; updatedUser.guest = 0; List <Error> errors; if (UserValidator.CheckAdditionUser(updatedUser, out errors)) { var foundUser = dbContext.Users.Where(x => x.username.ToLower() == updatedUser.username.ToLower()).ToList(); if (foundUser.Count > 0) { errors.Add(new Error { error = "Пользователь с таким именем уже существует" }); } foundUser = dbContext.Users.Where(x => x.email == updatedUser.email && x.id != userID).ToList(); if (foundUser.Count > 0) { errors.Add(new Error { error = "Пользователь с таким email адресом уже существует" }); } else { var user = dbContext.Users.Find(userID); dbContext.Users.Attach(user); var entry = dbContext.Entry(user); entry.Property(e => e.username).IsModified = true; entry.Entity.username = updatedUser.username; entry.Property(e => e.password).IsModified = true; entry.Entity.password = updatedUser.password; entry.Property(e => e.email).IsModified = true; entry.Entity.email = updatedUser.email; entry.Property(e => e.name).IsModified = true; entry.Entity.name = updatedUser.name; entry.Property(e => e.surname).IsModified = true; entry.Entity.surname = updatedUser.surname; entry.Property(e => e.guest).IsModified = true; entry.Entity.guest = updatedUser.guest; dbContext.SaveChanges(); } } if (errors.Count > 0) { return(Json(errors, JsonRequestBehavior.AllowGet)); } else { return(Json("ok", JsonRequestBehavior.AllowGet)); } }