Exemple #1
0
        public UserProfileEditableModel GetEditableUserProfile(long objId, PanelComponentsEnum componentId)
        {
            var model  = db.Users.FirstOrDefault(x => x.Id == objId);
            var result = new UserProfileEditableModel
            {
                Id      = model.Id,
                Contact = new UserProfileContactEditableModel
                {
                    Email = model.Email
                }
            };

            if (componentId == PanelComponentsEnum.Contact)
            {
                var profile = model.UsersProfiles.FirstOrDefault();
                if (profile != null && profile.Address != null)
                {
                    result.Contact.PhoneNumber     = profile.PhoneNumber;
                    result.Contact.PhysicalAddress = profile.Address.PhysicalAddress;
                }
            }
            else if (componentId == PanelComponentsEnum.UserInfo)
            {
                var profile = model.UsersProfiles.FirstOrDefault();
                if (profile != null)
                {
                    var states = new BsSelectList <int?>
                    {
                        Items = db.UsersStates.Select(x => new BsSelectListItem
                        {
                            Text  = x.Code,
                            Value = x.Id.ToString()
                        }).ToList(),
                        SelectedValues = profile.Id_State
                    };

                    result.UserInfo = new UserProfileInfoEditableModel
                    {
                        Firstname = model.Firstname,
                        Lastname  = model.Lastname,
                        BirthDay  = new BsDateTime
                        {
                            DateValue = profile.Birthday
                        },
                        Profession    = profile.Profession,
                        StateDropdown = states
                    };
                }
            }

            return(result);
        }
Exemple #2
0
        public BsJsonResult SetContent(UserProfileEditableModel model, PanelComponentsEnum componentId, long objId)
        {
            var msg    = string.Empty;
            var status = BsResponseStatus.Success;
            var html   = string.Empty;

            if (ModelState.IsValid)
            {
                var profileModel = _userProfileRepository.Update(model, objId);
                switch (componentId)
                {
                case PanelComponentsEnum.UserInfo:
                    html = this.BsRenderPartialView("Readonly/_UserInfo", profileModel.UserInfo);
                    break;

                case PanelComponentsEnum.Contact:
                    html = this.BsRenderPartialView("Readonly/_Contact", profileModel.Contact);
                    break;
                }
            }
            else
            {
                return(new BsJsonResult(
                           new Dictionary <string, object> {
                    { "Errors", ModelState.GetErrors() }
                },
                           BsResponseStatus.ValidationError));
            }

            var userData = Session["UserData"] as UserData;

            if (userData != null)
            {
                var cnp = userData.CNP;
                Session["UserData"] = new UserData(HesiraDB, cnp);
            }

            return(new BsJsonResult(
                       new
            {
                Html = html,
            },
                       status,
                       msg));
        }
Exemple #3
0
        public UserProfileModel Update(UserProfileEditableModel model, long objId)
        {
            var userProfile = db.UsersProfiles.FirstOrDefault(x => x.Id_User == objId);

            if (userProfile != null)
            {
                if (model.UserInfo != null)
                {
                    userProfile.User.Firstname = model.UserInfo.Firstname;
                    userProfile.User.Lastname  = model.UserInfo.Lastname;
                    userProfile.Profession     = model.UserInfo.Profession;
                    if (model.UserInfo.BirthDay.DateValue != null)
                    {
                        userProfile.Birthday = model.UserInfo.BirthDay.DateValue.Value;
                    }
                    userProfile.Id_State = model.UserInfo.StateDropdown != null &&
                                           model.UserInfo.StateDropdown.SelectedValues != null
                        ? model.UserInfo.StateDropdown.SelectedValues
                        : null;
                }

                if (model.Contact != null)
                {
                    userProfile.PhoneNumber             = model.Contact.PhoneNumber;
                    userProfile.Address.PhysicalAddress = model.Contact.PhysicalAddress;
                    userProfile.User.Email = model.Contact.Email;
                }

                userProfile.Timestamp = DateTime.Now;
                db.SaveChanges();

                return(GetUserProfile(objId));
            }

            return(null);
        }
        public BsJsonResult SetContent(UserProfileEditableModel model, PanelComponentsEnum componentId)
        {
            var html   = string.Empty;
            var status = BsResponseStatus.Success;
            var msg    = string.Empty;

            switch (componentId)
            {
            case PanelComponentsEnum.UserInfo:
                ModelState.ClearModelState(model.GetPropertyName(m => m.UserInfo) + ".");
                break;

            case PanelComponentsEnum.Contact:
                ModelState.ClearModelState(model.GetPropertyName(m => m.Contact) + ".");
                break;
            }

            try
            {
                if (ModelState.IsValid)
                {
                    var profileModel = GetUserProfileModel();

                    switch (componentId)
                    {
                    case PanelComponentsEnum.UserInfo:

                        var dateValue = model.UserInfo.HireDate.DateValue.Value;

                        if (dateValue.Year == 2014 && dateValue.Day == 1 && dateValue.Month == 1)
                        {
                            throw new Exception("This is how an exception message is displayed inside a panel");
                        }

                        profileModel.UserInfo.Firstname = model.UserInfo.Firstname;
                        profileModel.UserInfo.Lastname  = model.UserInfo.Lastname;
                        profileModel.UserInfo.Password  = model.UserInfo.Password;
                        profileModel.UserInfo.HireDate  = model.UserInfo.HireDate.DateValue.Value;
                        profileModel.Basic.Username     = model.UserInfo.Firstname + " " + model.UserInfo.Lastname;

                        SaveUserProfileModel(profileModel);

                        var passwordRegex = new Regex(".");
                        profileModel.UserInfo.Password = passwordRegex.Replace(profileModel.UserInfo.Password, "*");

                        html = this.BsRenderPartialView("Readonly/_UserInfo", profileModel.UserInfo);

                        return(new BsJsonResult(new
                        {
                            Html = html,
                            Username = profileModel.Basic.Username
                        }));

                        break;

                    case PanelComponentsEnum.Contact:
                        profileModel.Contact.Mail    = model.Contact.Mail;
                        profileModel.Contact.Website = model.Contact.Website;

                        SaveUserProfileModel(profileModel);


                        html = this.BsRenderPartialView("Readonly/_Contact", profileModel.Contact);

                        break;
                    }
                }
                else
                {
                    //JSON serialize ModelState errors
                    return(new BsJsonResult(
                               new Dictionary <string, object> {
                        { "Errors", ModelState.GetErrors() }
                    },
                               BsResponseStatus.ValidationError));
                }
            }

            catch (Exception ex)
            {
                msg    = "<strong>" + Resource.ServerError + "!</strong> " + ex.Message;
                status = BsResponseStatus.ServerError;
            }

            return(new BsJsonResult(new
            {
                Html = html
            }, status, msg));
        }