Example #1
0
        /// <summary>
        /// Creates the list of models selected by the system users
        /// </summary>
        /// <param name="result"></param>
        /// <returns></returns>
        private static List <RoleModel> BindRoleModels(ValueProviderResult result)
        {
            var rawValue = result.RawValue as string[];

            if (rawValue == null || rawValue.Length == 0)
            {
                return(null);
            }

            List <RoleModel> models = ManageRoleModelHelper.GetRoleModels(rawValue);

            return(models);
        }
Example #2
0
        public static bool Register(this UserModel model, out Status status)
        {
            try
            {
                using (var db = new DbContextHelper())
                {
                    if (model.EmailExists())
                    {
                        status = Status.DuplicateEmail;
                        return(false);
                    }

                    var user = db.Users.Create();
                    user.Roles = new List <Role>();

                    // TODO: Get Facebook app role for current user
                    //       If administrator or developer grant full access
                    if (false)
                    {
                        user.Roles.Add(ManageRoleModelHelper.GetRole(Role.ADMINISTRATOR_ID, db));
                        user.Roles.Add(ManageRoleModelHelper.GetRole(Role.CONTENT_APPROVER_ID, db));
                        user.Roles.Add(ManageRoleModelHelper.GetRole(Role.CONTENT_PUBLISHER_ID, db));
                        user.Roles.Add(ManageRoleModelHelper.GetRole(Role.MINISTRY, db));
                    }
                    else
                    {
                        user.Roles.Add(ManageRoleModelHelper.GetRole(Role.BASIC_ID, db));
                    }

                    user.IdKey          = Guid.NewGuid();
                    user.FacebookId     = model.FacebookId;
                    user.Link           = model.Link;
                    user.FirstName      = model.FirstName;
                    user.LastName       = model.LastName;
                    user.ScreenName     = model.ScreenName;
                    user.AccessToken    = model.AccessToken;
                    user.UserStatusEnum = UserStatus.Active;
                    user.Created        = DateTime.Now;
                    user.LastAccessed   = DateTime.Now;
                    user.Email          = model.Email;
                    user.ScreenName     = model.Email;

                    user = db.Users.Add(user);
                    db.SaveChanges();

                    model.Id        = user.Id;
                    model.IdKey     = user.IdKey;
                    model.UserIdKey = user.IdKey;

                    List <Role> roles = user.Roles as List <Role>;
                    model.Roles = roles.GetRoleModelsFromRoles();

                    model.CreateAuthorizationTicket();

                    status = Status.Success;
                    return(true);
                }
            }
            catch (Exception ex)
            {
                LogHelper.LogFatalError("UserModelHelper.Register", ex);
                status = Status.SystemException;
            }
            return(false);
        }