示例#1
0
        /// <summary>
        /// Creates a new model
        /// </summary>
        /// <param name="data">Name value collection of information used to create new model</param>
        /// <returns>Actual model if successful else null</returns>
        /// <remarks> Keys required are as follow:
        /// id
        /// access_token
        /// username
        /// email
        /// first_name
        /// last_name
        /// birthday
        /// </remarks>
        public static UserModel Create(Dictionary<string, object> data)
        {
            try
            {
                var model = new UserModel
                {
                    FacebookId = int.Parse(data["id"].ToString()),
                    AccessToken = data["access_token"].ToString(),
                    Email = data["email"].ToString(),
                    ScreenName = data["username"].ToString(),
                    FirstName = data["first_name"].ToString(),
                    LastName = data["last_name"].ToString(),
                    //Birthday = DateTime.Parse(data["birthday"].ToString()),
                };

                return model;
            }
            catch
            {
                return null;
            }
        }
        public static User GetUserFromModel(UserModel model, DbContextHelper db)
        {
            if (model == null)
                return null;

            User user = new User
            {
                FirstName = model.FirstName,
                LastName = model.LastName,
                ScreenName = model.ScreenName,
                Email = model.Email,
                Link = model.Link,
                AccessToken = model.AccessToken,
                FacebookId = model.FacebookId,                
                UserStatusEnum = model.UserStatus,
                LastAccessed = model.LastAcecssed,
                Created = model.Created,
                Id = model.Id,
                Roles = ManageRoleModelHelper.GetRolesFromModel(model.Roles, db)
            };

            return user;
        }
        private static User CreateNewUserFromModel(UserModel model, DbContextHelper db)
        {
            if (model == null)
                return null;

            User user = db.Users.Create();

            user.FirstName = model.FirstName;
            user.LastName = model.LastName;
            user.ScreenName = model.ScreenName;
            user.Email = model.Email;
            user.UserStatusEnum = model.UserStatus;
            user.LastAccessed = model.LastAcecssed;
            user.Created = model.Created;
            user.IdKey = model.IdKey;

            var roles = ManageRoleModelHelper.GetRolesFromModel(model.Roles, db);
            if (roles.Count > 0)
            {
                user.Roles = new List<Role>();
                foreach (var role in roles)
                    user.Roles.Add(role);
            }

            var ministries = ManageMinistryModelHelper.GetMinistriesFromModel(model.Ministries, db);
            if (ministries.Count > 0)
            {
                user.Ministries = new List<Ministry>();
                foreach (var ministry in ministries)
                    user.Ministries.Add(ministry);
            }

            return user;
        }
 /// <summary>
 /// Creates model for the Manage.UserController.Add action
 /// </summary>
 /// <returns></returns>
 public static UserModel GetUserModelForAdd()
 {
     var model = new UserModel();
     model.UpdateUserModelForAdd();
     return model;
 }
示例#5
0
        /// <summary>
        /// Gets a user model using the Facebook Oauth code
        /// </summary>
        /// <param name="code"></param>
        /// <returns></returns>
        public static UserModel GetUserModel(string code, out Status status)
        {
            string accessToken = GetAccessToken(code);
            var model = GetMe(accessToken);

            status = Status.Success;
            if (model == null)
            {
                model = new UserModel();

                model.SubTitle = "Authorization";
                model.PageTitle = "Holy Angels Site Authorization Page";

                status = Status.FacebookAccessFailed;
            }

            return model;
        }
示例#6
0
        /// <summary>
        /// Gets the model for UserController.ForgotPassword
        /// </summary>
        /// <returns></returns>
        public static UserModel GetUserModelForForgotPassword()
        {
            var model = new UserModel();

            model.PageTitle = "Holy Angels Forgot Password";
            model.SubTitle = "Forgot Password";

            model.MetaDescription = "";
            model.MetaKeywords = "";
            model.MetaSubject = "";

            return model;
        }