private void detach_Users(User entity) { this.SendPropertyChanging(); entity.UserRank = null; }
private void detach_Refferers(User entity) { this.SendPropertyChanging(); entity.Refferer = null; }
private void attach_Users(User entity) { this.SendPropertyChanging(); entity.UserRank = this; }
private void attach_Refferers(User entity) { this.SendPropertyChanging(); entity.Refferer = this; }
/// <summary> /// Регистрирует пользователя в системе /// </summary> /// <param name="user"></param> public void RegisterUser(User user) { user.Rank = 1; DataContext.Users.InsertOnSubmit(user); SubmitChanges(); }
public ActionResult Register(RegistrationModel model) { // Проверяем уникальность логина var exist = UsersManager.FindUserByLogin(model.Login) != null; string message = ""; if (!exist) { var user = new User() { FirstName = model.FirstName, LastName = model.LastName, Login = model.Login, PasswordHash = PasswordUtils.QuickMD5(model.Password), AvatarUrl = "/Content/images/layout/tmpavatar.png", IsAdmin = false, Status = (short) UserStatuses.Active, AccountLevel = (short) AccountLevels.Common, LoginProvider = "bee", Email = model.Email, ReferalId = model.ReffererId.HasValue ? model.ReffererId.Value : -1, DateRegistred = DateTime.Now }; UsersManager.RegisterUser(user); message = "Вы были успешно зарегистрированы в системе"; AuthorizeUser(user,true); } else { message = "Пользователь с таким логином уже существует"; } ViewBag.message = message; return View("RegistrationResult"); }
public ActionResult LoginSocial(string token) { // Запрашиваем данные HttpWebRequest request = (HttpWebRequest)WebRequest.Create(String.Format("http://ulogin.ru/token.php?token={0}&host={1}",token,"http://beepas.ru/account/login-social")); request.Method = "GET"; WebResponse response = request.GetResponse(); StreamReader sr = new StreamReader(response.GetResponseStream(), System.Text.Encoding.UTF8); string json = sr.ReadToEnd(); sr.Close(); response.Close(); // Декодируем dynamic dataObject = new DynamicJsonObject(json); string network = dataObject.network; string identity = dataObject.identity; string firstName = dataObject.first_name; string lastName = dataObject.last_name; string photoUrl = dataObject.photo_big; string email = dataObject.email; // Ищем пользователя var user = UsersManager.FindUserByLogin(identity); if (user == null) { user = new User() { FirstName = firstName, LastName = lastName, Login = identity, PasswordHash = PasswordUtils.QuickMD5(PasswordUtils.GeneratePassword(10)), AvatarUrl = photoUrl, IsAdmin = false, Status = (short) UserStatuses.Active, AccountLevel = (short) AccountLevels.Common, LoginProvider = network, Email = email, ReferalId = -1, DateRegistred = DateTime.Now }; UsersManager.RegisterUser(user); } else { // Обновляем данные user.FirstName = firstName; user.LastName = lastName; user.AvatarUrl = photoUrl; user.DateModified = DateTime.Now; UsersManager.SubmitChanges(); } // Авторизуем пользователя в системе AuthorizeUser(user,true); return RedirectToAction("Index", "Apiary"); }
/// <summary> /// Авторизирует текущего пользователя /// </summary> /// <param name="user">Пользователь которого установить как текущего</param> /// <param name="remember">Запомнить ли пользователя</param> public void AuthorizeUser(User user, bool remember = true) { CurrentUser = user; if (remember) { // Устанавливаем собственные авторизационные куки var authCookie = new HttpCookie("auth"); authCookie.Values["identity"] = user.Login; authCookie.Values["pass"] = user.PasswordHash; authCookie.Expires = DateTime.Now.AddDays(7); Response.Cookies.Add(authCookie); } // Добавляем запись в таблицу авторизаций var loginHistoryItem = new UserLoginHistory() { DateCreated = DateTime.Now, User = user, LoginDateTime = DateTime.Now, LoginIP = Request.UserHostAddress }; user.UserLoginHistories.Add(loginHistoryItem); UsersManager.SubmitChanges(); }