public static void CopyFrom(this EditProfileModel model, UserInfoData data) { if (data == null) return; model.EditMainInfoModel = new EditMainInfoModel { UserId = data.User.Id, UpdateUserName = data.User.UserName, UpdateUserEmail = data.User.Email, LastName = data.LastName, FirstName = data.FirstName, SexId = data.SexId, ShowEmail = data.User.ShowEmail }; model.EditAdvanceInfoModel = new EditAdvanceInfoModel { Activity = data.Activity, AboutMe = data.AboutMe, DateBirth = data.DateBirth.HasValue ? data.DateBirth.Value.ToString(Constants.DateFormat) : string.Empty, Country = data.Country, Town = data.Town, Street = data.Street, HomeNum = data.HomeNumber }; model.EditBindInfoModel = new EditBindInfoModel { SiteLink = data.SiteLink, Icq = data.Icq, Skype = data.Skype, BattleLog = data.BattleLog, Steam = data.Steam }; }
public ActionResult EditMainInfo(EditMainInfoModel model) { if (ModelIsValid) { var data = new UserInfoData { UserId = model.UserId, UserName = model.UpdateUserName, UserEmail = model.UpdateUserEmail, FirstName = model.FirstName, LastName = model.LastName, SexId = model.SexId, ShowUserEmail = model.ShowEmail }; Execute(() => _accountService.UpdateMainInfo(data)); if (CurrentUser.IsMe(model.UserId)) Execute(() => CurrentUser = _accountService.GetUser(model.UserId)); } return View("_EditMainInfoPartial", model); }
public ActionResult EditBindInfo(EditBindInfoModel model) { if (ModelIsValid) { var data = new UserInfoData { UserId = model.UserId, SiteLink = model.SiteLink, Icq = model.Icq, Skype = model.Skype, BattleLog = model.BattleLog, Steam = model.Steam }; Execute(() => _accountService.UpdateBindInfo(data)); } return View("_EditBindInfoPartial", model); }
public ActionResult EditAdvanceInfo(EditAdvanceInfoModel model) { if (ModelIsValid) { var dateBirth = default(DateTime?); if (!string.IsNullOrWhiteSpace(model.DateBirth)) { DateTime date; if (DateTime.TryParse(model.DateBirth, CultureInfo.CurrentCulture, DateTimeStyles.None, out date)) dateBirth = date; else ModelState.AddModelError(string.Empty, "Неверный формат даты."); } if (ModelIsValid) { var data = new UserInfoData { UserId = model.UserId, AboutMe = model.AboutMe, Activity = model.Activity, DateBirth = dateBirth, Country = model.Country, Town = model.Town, Street = model.Street, HomeNumber = model.HomeNum }; Execute(() => _accountService.UpdateAdvanceInfo(data)); } } return View("_EditAdvanceInfoPartial", model); }
void IAccountService.UpdateMainInfo(UserInfoData data) { var users = _userRepository.Query(o => o.UserName == data.UserName && o.Id != data.UserId); if (users.Any()) throw new ArgumentException("Пользователь с таким именем существует."); users = _userRepository.Query(o => o.Email == data.UserEmail && o.Id != data.UserId); if (users.Any()) throw new ArgumentException("Пользователь с такой электронной почтой существует."); var user = _userRepository.Query(o => o.Id == data.UserId).SingleOrDefault(); if (user == null) throw new ArgumentNullException(string.Format("user")); user.UserName = data.UserName; user.Email = data.UserEmail; user.ShowEmail = data.ShowUserEmail; var entityUserInfo = _userInfoRepository.Query(o => o.UserId == data.UserId).SingleOrDefault(); var userInfo = entityUserInfo ?? new UserInfo { User = user }; userInfo.FirstName = data.FirstName; userInfo.LastName = data.LastName; var sex = _sexRepository.Query(o => o.Id == data.SexId.Value).SingleOrDefault(); userInfo.SexId = sex != null ? sex.Id : (int?)null; if (entityUserInfo == null) _userInfoRepository.Add(userInfo); UnitOfWork.Commit(); }
void IAccountService.UpdateBindInfo(UserInfoData data) { var user = _userRepository.Query(o => o.Id == data.UserId).SingleOrDefault(); if (user == null) throw new ArgumentNullException(string.Format("user")); var entityUserInfo = _userInfoRepository.Query(o => o.UserId == data.UserId).SingleOrDefault(); var userInfo = entityUserInfo ?? new UserInfo { User = user }; userInfo.SiteLink = data.SiteLink; userInfo.ICQ = data.Icq; userInfo.Skype = data.Skype; userInfo.BattleLog = data.BattleLog; userInfo.Steam = data.Steam; if (entityUserInfo == null) _userInfoRepository.Add(userInfo); UnitOfWork.Commit(); }
void IAccountService.UpdateAdvanceInfo(UserInfoData data) { var user = _userRepository.Query(o => o.Id == data.UserId).SingleOrDefault(); if (user == null) throw new ArgumentNullException(string.Format("user")); var entityUserInfo = _userInfoRepository.Query(o => o.UserId == data.UserId).SingleOrDefault(); var userInfo = entityUserInfo ?? new UserInfo { User = user }; userInfo.AboutMe = data.AboutMe; userInfo.Activity = data.Activity; userInfo.DateBirth = data.DateBirth; userInfo.Country = data.Country; userInfo.Town = data.Town; userInfo.Street = data.Street; userInfo.HomeNumber = data.HomeNumber; if (entityUserInfo == null) _userInfoRepository.Add(userInfo); UnitOfWork.Commit(); }
public static void CopyFrom(this UserProfileModel model, UserInfoData data) { if (data == null) return; model.UserId = data.User.Id; model.UserName = data.User.UserName; model.UserEmail = data.User.Email; model.UserRole = data.User.RoleName; model.LastName = data.LastName; model.FirstName = data.FirstName; model.PhotoPath = data.User.PhotoPath; model.SexName = data.SexName; model.ShowEmail = data.User.ShowEmail; var dateNow = DateTime.UtcNow.UtcToTimeZone(Constants.BelarusTimeZone); if (data.DateBirth.HasValue) { var dateBirthDay = data.DateBirth.Value; if (dateNow.Date > dateBirthDay.Date) { var years = dateNow.Year - dateBirthDay.Year; if (dateNow.Month < dateBirthDay.Month || dateNow.Month == dateBirthDay.Month && dateNow.Day < dateBirthDay.Day) years--; model.Age = years.GetRussianYears(); } } model.Activity = data.Activity; model.AboutMe = data.AboutMe; model.DateBirth = data.DateBirth; var address = new StringBuilder(); if (!string.IsNullOrWhiteSpace(data.Country)) address.Append(string.Format("{0}, ", data.Country)); if (!string.IsNullOrWhiteSpace(data.Town)) address.Append(string.Format("{0}, ", data.Town)); if (!string.IsNullOrWhiteSpace(data.Street)) address.Append(string.Format("{0}, ", data.Street)); if (!string.IsNullOrWhiteSpace(data.HomeNumber)) address.Append(string.Format("{0},", data.HomeNumber)); var str = address.ToString().Trim(); var index = str.LastIndexOf(','); if (index >= 0) model.Address = str.Substring(0, index); var dateCreate = data.User.CreateDate; if (dateNow.Date > dateCreate.Date) { var days = (int)(dateNow - dateCreate).TotalDays; if (days < 32) model.Experience = string.Format("{0}", days.GetRussianDays()).Trim(); else { var years = dateNow.Year - dateCreate.Year; var months = dateNow.Month - dateCreate.Month; if (dateNow.Month < dateCreate.Month || dateNow.Month == dateCreate.Month && dateNow.Day < dateCreate.Day) years--; if (dateNow.Month < dateCreate.Month) months = 12 - (dateCreate.Month - dateNow.Month); model.Experience = string.Format("{0} {1}", years.GetRussianYears(), months.GetRussianMonths()).Trim(); } } model.CreateDate = data.User.CreateDate.UtcToTimeZone(Constants.BelarusTimeZone); model.LastActivity = data.User.LastActivity.UtcToTimeZone(Constants.BelarusTimeZone); model.SiteLink = data.SiteLink; model.Icq = data.Icq; model.Skype = data.Skype; model.BattleLog = data.BattleLog; model.Steam = data.Steam; }