public EducationService(IExerciseService exerciseService, ICourseCategoryService courseService, IJournalEntryService journalEntryService, IUnitOfWorkFactory unitOfWorkFactory) { _exerciseService = exerciseService; _courseService = courseService; _journalEntryService = journalEntryService; _systemUnitOfWork = unitOfWorkFactory.CreateSystem(); }
public DefaultAccessPolicy(IUnitOfWorkFactory unitOfWorkFactory) { _systemUnitOfWork = unitOfWorkFactory.CreateSystem(); }
private void _AttachImage(ISystemUnitOfWork unitOfWork, User user, string url) { if (!Uri.IsWellFormedUriString(url, UriKind.Absolute)) return; Exception error; var image = _fileSystemService.SaveFile(new Uri(url), out error); if (error == null) { user.Image = image.ToObject<FileData>(); } }
private User RegisterUser(ISystemUnitOfWork unitOfWork, ExtAccount extAccount) { User user = _securityUserService.RegisterUser(unitOfWork, extAccount.ToUser()); if (user == null) return null; extAccount.User = user; _AttachImage(unitOfWork, user, extAccount.ProfilePicture); _extAccountService.Create(unitOfWork, extAccount); return user; }
private User Authorize(ISystemUnitOfWork unitOfWork, ExtAccount extAccount) { User user = _extAccountService.GetAll(unitOfWork) .Where(x => x.Type == extAccount.Type && x.ExternalId == extAccount.ExternalId) .Select(x => x.User).FirstOrDefault(); if (user == null) { var securityUser = _securityUserService.GetSecurityUser(extAccount.Email); if (securityUser != null) { AddAccount(unitOfWork, extAccount); user = new User { Login = securityUser.Login }; } else { user = RegisterUser(unitOfWork, extAccount); } } return user; }
public async Task<User> Authorize(ISystemUnitOfWork unitOfWork, ServiceType type, string code) { ExtAccount extAccount = await GetAccountInfo(type, code); return Authorize(unitOfWork, extAccount); }
public User RegisterUser(ISystemUnitOfWork unitOfWork, User user) { var config = _settingsService.GetValue(Base.Security.Consts.KEY_CONFIG, null) as Config; #if !DEBUG if (config != null && config.AllowRegistration == false) throw new InvalidOperationException(String.Format( "Регистрация новых пользователей запрещена администратором системы", user.Login)); #endif var oldUser = this.GetUser(unitOfWork, user.Login); if (oldUser != null && !oldUser.IsUnregistered) throw new InvalidOperationException(String.Format( "Пользователь с логином {0} уже имеется в системе", user.Login)); user.Password = new PasswordCryptographer().GenerateSaltedPassword(user.Password); if (user.Roles == null || !user.Roles.Any()) { var roleRep = unitOfWork.GetRepository<Role>(); var externalRole = roleRep.Find(x => x.SystemRole == SystemRole.Base); if (externalRole == null) throw new InvalidOperationException("В системе отсутствует базовая роль"); user.Roles = new Collection<Role> { externalRole }; } var catRep = unitOfWork.GetRepository<UserCategory>(); string systemName = UserType.Base.ToString(); string name = UserType.Base.GetDescription(); var userCategory = catRep.Find(x => x.SystemName == systemName); if (userCategory != null) user.CategoryID = userCategory.ID; else user.UserCategory = new UserCategory { Name = name, SystemName = systemName }; if (user.ID == 0) unitOfWork.GetRepository<User>().Create(user); else unitOfWork.GetRepository<User>().Update(user); unitOfWork.SaveChanges(); return user; }
public TestController(ISystemUnitOfWork sytemRepository) { _sytemRepository = sytemRepository; }
public SystemService(string systemConnection) { this.systemUnitOfWork = new SystemUnitOfWork(systemConnection); }
public void Register(ISystemUnitOfWork unitOfWork, Uri systemUrl, string email, string password, string firstName, string lastName) { User user = _securityUserService.GetUser(unitOfWork, email, includeAwaitConfirm: true); if (user != null && user.Hidden) { throw new Exception("Вы уже регистрировались ранее. На указанный вами почтовый адрес было отправлено письмо. " + "Для завершения регистрации перейдите по содержащейся в нем ссылке."); } UserConfirmRequest request = new UserConfirmRequest() { Type = ConfirmType.NewUser, RequestTime = DateTime.Now, ValidUntil = DateTime.Now.Add(RegisterRequestLifeTime), Code = Guid.NewGuid().ToString("N") }; if (user == null) { user = new User { Login = email, Email = email, Password = password, FirstName = firstName, LastName = lastName, Hidden = true, ConfirmRequests = new List<UserConfirmRequest> { request } }; } else { if (user.IsUnregistered) // registered by someone else { user.Email = email; user.Password = password; user.FirstName = firstName; user.LastName = lastName; user.MiddleName = ""; if (user.ConfirmRequests == null) user.ConfirmRequests = new List<UserConfirmRequest>(); user.ConfirmRequests.Add(request); } } _securityUserService.RegisterUser(unitOfWork, user); _SendMail(systemUrl, request, email); }