public virtual Profile CreateProfile(Profile profile) { if (!String.IsNullOrEmpty(profile.FriendlyName)) { if (_profileRepository.CheckIfFriendlyNameExists(profile.FriendlyName, profile.Id)) { throw new KatushaFriendlyNameExistsException(profile); } } if (!(profile.Gender == (byte)Sex.Male || profile.Gender == (byte)Sex.Female)) { throw new KatushaGenderNotExistsException(profile); } _profileRepository.Add(profile); _profileRepository.Save(); var user = _userRepository.SingleAttached(p => p.Id == profile.UserId); user.Gender = profile.Gender; _userRepository.FullUpdate(user); _katushaGlobalCache.Delete("U:" + user.UserName); UpdateRavenProfile(profile.Id); _notificationService.ProfileCreated(profile); return(profile); }
public void UpdateUser(User user) { _repository.FullUpdate(user); }
public IList <string> SetExtendedProfile(AdminExtendedProfile extendedProfile) { var list = new List <string>(); var userDb = _userRepository.SingleAttached(p => p.UserName == extendedProfile.User.UserName); if (userDb == null) { var user = Mapper.Map <User>(extendedProfile.User); if (user == null) { list.Add("WRONG USER"); return(list); } user.CreationDate = DateTime.Now; user.DeletionDate = new DateTime(1900, 1, 1); user.ModifiedDate = DateTime.Now; userDb = _userRepository.Add(user); } else { if (userDb.Guid != extendedProfile.User.Guid) { userDb.Guid = userDb.Guid; } userDb.Email = extendedProfile.User.Email; userDb.EmailValidated = extendedProfile.User.EmailValidated; userDb.FacebookUid = extendedProfile.User.FacebookUid; userDb.PaypalPayerId = extendedProfile.User.PaypalPayerId; userDb.UserRole = (long)extendedProfile.User.UserRole; userDb.Phone = extendedProfile.User.Phone; userDb.UserName = extendedProfile.User.UserName; _userRepository.FullUpdate(userDb); } if (extendedProfile.Profile.Height < 100) { extendedProfile.Profile.Height = 170; } if (extendedProfile.Profile.Height > 240) { extendedProfile.Profile.Height = 235; } if (extendedProfile.Profile.BirthYear < 1941) { extendedProfile.Profile.BirthYear = 1941; } if (extendedProfile.Profile.BirthYear > (DateTime.Now.Year - 18)) { extendedProfile.Profile.BirthYear = DateTime.Now.Year - 19; } var profile = GetProfile(_profileService.GetProfileId(userDb.Guid), userDb, extendedProfile); foreach (var photo in profile.Photos) { SetDatetime(photo); } if (profile.Id == 0) { if (!String.IsNullOrEmpty(extendedProfile.Profile.FriendlyName)) { if (_profileRepository.CheckIfFriendlyNameExists(extendedProfile.Profile.FriendlyName)) { extendedProfile.Profile.FriendlyName = ""; } } SetDatetime(profile); TryFixLocation(profile.Location); profile = _profileService.CreateProfile(profile); } else { profile = _profileService.UpdateProfile(profile); } if (extendedProfile.CountriesToVisit != null) { foreach (var item in extendedProfile.CountriesToVisit) { var country = (item == "USA") ? "us" : GetCountryToVisit(item); if (String.IsNullOrWhiteSpace(country)) { continue; } _profileService.AddCountriesToVisit(profile.Id, country); } } if (extendedProfile.Searches != null) { LookingFor searches; foreach (var item in extendedProfile.Searches) { if (Enum.TryParse(item, out searches)) { _profileService.AddSearches(profile.Id, searches); } } } if (extendedProfile.LanguagesSpoken != null) { foreach (var item in extendedProfile.LanguagesSpoken) { var language = GetLanguage(item); if (String.IsNullOrEmpty(language)) { continue; } _profileService.AddLanguagesSpoken(profile.Id, language); } } if (extendedProfile.PhotoBackups.Count > 0) { foreach (var photoBackup in extendedProfile.PhotoBackups) { _photoBackupService.AddPhoto(Mapper.Map <PhotoBackup>(photoBackup)); } list.AddRange(from photo in extendedProfile.Profile.Photos from suffix in PhotoTypes.Versions.Keys where _photoBackupService.GeneratePhoto(photo.Guid, (PhotoType)suffix) select "CREATED\t" + photo.Guid); } if (extendedProfile.Messages != null && extendedProfile.Messages.Count > 0) { foreach (var message in Mapper.Map <IList <Conversation> >(extendedProfile.Messages)) { Guid otherGuid; if (message.ToGuid == extendedProfile.Profile.Guid) { message.ToId = _profileService.GetProfileId(message.ToGuid); otherGuid = message.FromGuid; message.FromId = _profileService.GetProfileId(message.FromGuid); } else { message.FromId = profile.Id; otherGuid = message.ToGuid; message.ToId = _profileService.GetProfileId(message.ToGuid); } var otherUser = _userRepository.GetByGuid(otherGuid); if (otherUser == null) { continue; } var messageGuid = message.Guid; var messageDb = _conversationRepository.SingleAttached(p => p.Guid == messageGuid); if (messageDb != null) { _conversationService.SendMessage((message.FromId == profile.Id) ? userDb : otherUser, message); } } } return(list); }