public Result Index(string nickname, string number, string email, string firstName, string lastName, string position, string password, string specialty, string group) { var result = new Result(); try { using (var db = new DatabaseContext()) { var user = new Database.User(); user.Nickname = nickname; user.FirstName = firstName; user.LastName = lastName; user.Number = number; user.PasswordHash = password.GetSHA256(); user.UserId = db.Users.Count() + 1; user.Token = user.PasswordHash.GetSHA256() + new Random().Next(1, 999999999); user.Friends = ""; user.FirendsRequests = ""; user.PathProfilePic = "avatars/Stock/usr.jpg"; user.FriendsRequested = ""; user.Status = "online"; user.Group = ""; user.Position = position; user.Specialty = specialty; user.Group = group; user.Specialty = ""; user.AccessLevel = 1; user.EMail = email; db.Users.Add(user); db.UnreadMessages.Add(new UnreadMessages() { Messages = "", UserId = user.UserId }); db.SaveChanges(); var response = new Shared.Models.Register(); response.Token = user.Token; response.UserId = user.UserId; result.Data = response; result.Status = true; } } catch (Exception e) { var error = new Error(); error.Code = 1; error.Message = "Неизвестная ошибка"; result.Data = error; result.Status = false; return(result); } return(result); }
public Result Get(string login, string password, string name, string lastName, string number) { _logger.Info("Запрос на регистрацию."); var result = new Result(); using (var db = new DatabaseContext()) { if (db.Users.Any(u => u.Nickname.ToLower() == login.ToLower())) { //Такой пользователь уже зарегестрирован var error = new Error(); error.Code = 3; error.Message = "Этот никнейм уже занят."; result.Data = error; result.Status = false; return(result); } if (db.Users.Any(u => u.Number == number)) { var error = new Error(); error.Code = 3; error.Message = "Такой номер телефона уже используется."; result.Data = error; result.Status = false; return(result); } //Регистрация try { var user = new Database.User(); user.Nickname = login; user.FirstName = name; user.LastName = lastName; user.Number = number; user.PasswordHash = password.GetSHA256(); user.UserId = db.Users.Count() + 1; user.Token = user.PasswordHash.GetSHA256() + new Random().Next(1, 999999999); user.Friends = ""; user.FirendsRequests = ""; user.PathProfilePic = "avatars/Stock/usr.jpg"; user.FriendsRequested = ""; user.Status = "online"; db.Users.Add(user); db.UnreadMessages.Add(new UnreadMessages() { Messages = "", UserId = user.UserId }); db.SaveChanges(); var response = new Shared.Models.Register(); response.Token = user.Token; response.UserId = user.UserId; result.Data = response; result.Status = true; _logger.Info($"Зарегистрирован новый пользователь {user.Nickname}"); } catch (Exception e) { _logger.Error("Register", e); var error = new Error(); error.Code = 1; error.Message = "Неизвестная ошибка"; } } return(result); }