public SendNotificationCommand(UserService userService, IDataFactory dataFactory, IEmailService emailService, SiteUserService siteUserService, IRouteManager routeManager)
 {
     _userService     = userService;
     _dataFactory     = dataFactory;
     _emailService    = emailService;
     _siteUserService = siteUserService;
     _routeManager    = routeManager;
 }
Ejemplo n.º 2
0
 //
 // POST: /Account/ExternalLogin
 public AccountController(BusinessFactory business, UserService userService, SiteUserService siteUserService,
                          IEmailService emailService, UserManager <ApplicationUser> userManager,
                          SignInManager <ApplicationUser> signInManager) : base(business)
 {
     _userService     = userService;
     _siteUserService = siteUserService;
     _emailService    = emailService;
     UserManager      = userManager;
     SignInManager    = signInManager;
 }
Ejemplo n.º 3
0
 public AddSiteCommand(IDataFactory dataFactorySource, IDataFactory dataFactoryDestination,
                       UserService userService, IEmailService emailService, CacheProvider cacheProvider, SiteUserService siteUserService, BusinessModuleFactory businessModuleFactory, IRouteManager routeManager, IRouteProvider routeProvider)
 {
     _dataFactorySource      = dataFactorySource;
     _dataFactoryDestination = dataFactoryDestination;
     _userService            = userService;
     _emailService           = emailService;
     _cacheProvider          = cacheProvider;
     _siteUserService        = siteUserService;
     _businessModuleFactory  = businessModuleFactory;
     _routeManager           = routeManager;
     _routeProvider          = routeProvider;
 }
        public static async Task <SaveUserResult> CreateNewSiteUserAsync(SiteUserService _siteUserService, UserService _userService, string siteId, string userId)
        {
            var userDbModel = await _userService.FindApplicationUserByIdAsync(userId);

            var saveUserInput = new SaveSiteUserInput
            {
                SiteId    = siteId,
                Mail      = userDbModel.Email,
                FirstName = userDbModel.FirstName,
                LastName  = userDbModel.LastName,
                Birthdate = null,
                Roles     = new List <SiteUserRole>()
                {
                    SiteUserRole.Administrator
                }
            };
            var result = await SaveUserAsync(_siteUserService, _userService, null, saveUserInput);

            return(result);
        }
Ejemplo n.º 5
0
        public static async Task AttachRolesAsync(UserService userService, SiteUserService siteUserService, string userId)
        {
            var user = await userService.FindApplicationUserByIdAsync(userId);

            var siteUsers = await siteUserService.FindUsersByEmailAsync(user.Email);

            foreach (var siteUserDbModel in siteUsers)
            {
                if (siteUserDbModel.FlaggedRoles != null)
                {
                    foreach (var siteUserRole in siteUserDbModel.FlaggedRoles)
                    {
                        string role = UserSecurity.MapRole(siteUserDbModel.SiteId, siteUserRole);
                        if (user.Roles.Count(c => c == role) <= 0)
                        {
                            user.Roles.Add(role);
                        }
                    }
                }
            }
            await userService.SaveAsync(user);
        }
Ejemplo n.º 6
0
 public LoadUserCommand(UserService userService, SiteUserService siteUserService)
 {
     _userService     = userService;
     _siteUserService = siteUserService;
 }
        public static async Task <SaveUserResult> SaveUserAsync(SiteUserService _siteUserService, UserService _userService, ApplicationUser creatorUserDb, SaveSiteUserInput saveSiteUser)
        {
            var result = new SaveUserResult();

            var             siteId          = saveSiteUser.SiteId;
            var             mail            = saveSiteUser.Mail.ToLower().Trim();
            SiteUserDbModel siteUserDbModel = null;

            var siteUserId = saveSiteUser.SiteUserId;

            if (String.IsNullOrEmpty(siteUserId))
            {
                // 1: Creation
                siteUserDbModel = await _siteUserService.FindByEmailAsync(siteId, mail);

                if (siteUserDbModel != null)
                {
                    result.Error      = "user_email_already_added";
                    result.IsSuccess  = false;
                    result.SiteUserId = siteUserDbModel.Id;
                    return(result);
                }
                siteUserDbModel        = new SiteUserDbModel();
                siteUserDbModel.SiteId = siteId;
            }
            else
            {
                // 1: Mise à jour
                siteUserDbModel = await _siteUserService.FindAsync(siteUserId);

                var siteUserDbModelCheck = await _siteUserService.FindByEmailAsync(siteId, mail);

                if (siteUserDbModelCheck != null && siteUserDbModel.Id != siteUserDbModelCheck.Id)
                {
                    result.Error      = "user_email_already_added";
                    result.IsSuccess  = false;
                    result.SiteUserId = siteUserDbModel.Id;
                    return(result);
                }
            }

            // On doit créer le userSite
            siteUserDbModel.Mail         = mail;
            siteUserDbModel.FirstName    = saveSiteUser.FirstName;
            siteUserDbModel.LastName     = saveSiteUser.LastName;
            siteUserDbModel.Birthdate    = saveSiteUser.Birthdate;
            siteUserDbModel.Tags         = saveSiteUser.Tags;
            siteUserDbModel.Comments     = saveSiteUser.Comments;
            siteUserDbModel.Civility     = saveSiteUser.Civility;
            siteUserDbModel.IsEmailNotif = saveSiteUser.IsEmailNotif;
            siteUserDbModel.FlaggedRoles = saveSiteUser.Roles;

            var updatedUserDb = await _userService.FindApplicationUserByEmailAsync(mail);

            if (updatedUserDb != null)
            {
                siteUserDbModel.UserId = updatedUserDb.Id;
            }

            await _siteUserService.SaveAsync(siteUserDbModel);

            result.SiteUserId = siteUserDbModel.Id;

            var resultManageRoleAdministrator = await ManageRolesAsync(_userService, saveSiteUser, updatedUserDb, siteId, SiteUserRole.Administrator);

            switch (resultManageRoleAdministrator)
            {
            case "user_updated":
                result.SendMailAdmin = new SendMailAdmin()
                {
                    Mail        = mail,
                    UserCreated = updatedUserDb,
                    SiteId      = siteId,
                    UserCreator = creatorUserDb
                };
                break;

            case "no_user_found":
                result.SendMailAdmin = new SendMailAdmin()
                {
                    Mail        = mail,
                    SiteId      = siteId,
                    UserCreator = creatorUserDb
                };
                result.Error = "no_user_found";
                break;
            }

            var resultManageRoleUserPrivate = await ManageRolesAsync(_userService, saveSiteUser, updatedUserDb, siteId + "_private_user", SiteUserRole.PrivateUser);

            return(result);
        }