Пример #1
0
        public ActionResult SettingDefine(settingDefineViewModel model, string returnUrl)
        {
            //if (model.memset.settingId.groupId != null)
            //{
            using (var db = new UsersContext())
            {
                if (model.literalValue == null || model.literalValue == "")
                {
                    ModelState.AddModelError("", "Your setting value is missing, please try again");
                    return View(new searchHeadlineViewModel());
                }
                if (model.settingName == null || model.settingName == "")
                {
                    ModelState.AddModelError("", "Your setting is missing, please try again");
                    return View(new searchHeadlineViewModel());
                }
                var defaultColor = "";
                var defaultFont = "";
                var defaultHighlight = "";
                if (model.settingName == "styleSheet")
                {
                    switch (model.literalValue)
                    {
                        case "Foundation":
                            defaultColor = "Black";
                            defaultFont = "white";
                            defaultHighlight = "white";
                            break;
                        case "Windows":
                            defaultColor = "white";
                            defaultFont = "silver";
                            defaultHighlight = "blue";
                            break;
                    }
                    memberSetting defaultNeeded = db.memberSettings.FirstOrDefault(u => u.UserId.UserId ==
                        WebSecurity.CurrentUserId && u.settingId_settingId.Key == "backgroundColor");
                    memberSetting defaultNeeded2 = db.memberSettings.FirstOrDefault(u => u.UserId.UserId ==
                        WebSecurity.CurrentUserId && u.settingId_settingId.Key == "fontColor");
                    memberSetting defaultNeeded3 = db.memberSettings.FirstOrDefault(u => u.UserId.UserId ==
                        WebSecurity.CurrentUserId && u.settingId_settingId.Key == "highlightColor");
                    defaultNeeded.literalValue = defaultColor;
                    defaultNeeded2.literalValue = defaultFont;
                    defaultNeeded3.literalValue = defaultHighlight;
                }


                var settouse = (from set in db.Settings
                                where set.Key == model.settingName//model.settingId.name
                                select set.Key).FirstOrDefault();

                memberSetting memset = db.memberSettings.FirstOrDefault(u => u.UserId.UserId == WebSecurity.CurrentUserId
                    && u.settingId_settingId.Key == model.settingName);
                memset.literalValue = model.literalValue;
                db.SaveChanges();
            }
            //}
            return View(new settingDefineViewModel());
        }
        public ActionResult editHeadline(headlineView model, string id, HttpPostedFileBase headlineHeader)
        {
            var thistitle = model.title;
            if (User.Identity.IsAuthenticated == false)
            {
                ModelState.AddModelError("editHeadline", "You must be logged in to change this");
                return Redirect("/headlines/editHeadline/" + thistitle);
            }
            if (WebSecurity.CurrentUserId != (from headlines in user.headlines
                                              where headlines.title == id
                                              select headlines.adminId.UserId).FirstOrDefault())
            {
                ModelState.AddModelError("editHeadline", "You are not authenticated to make a change here, please contact"
                    + WebSecurity.CurrentUserName + "to gain access to the group");
                return Redirect("/headlines/editHeadline/" + thistitle);
            }

            using (var db = new UsersContext())
            {
                files.updateImage(headlineHeader, id, "HeadlineHeader");
                headlineView headlineToEdit = db.headlines.FirstOrDefault(m => m.title == id);
                headlineToEdit.title = thistitle;
                headlineToEdit.accessLevel = model.accessLevel;
                db.SaveChanges();
            }
            return Redirect("/headlines/editHeadline/" + thistitle);
        }
Пример #3
0
        public ActionResult additionalDetails(additionalMemberDetailsViewModel model, HttpPostedFileBase file)
        {
            UsersContext db = new UsersContext();
            if (model.deleteProfileImage)
            {
                memsr.deleteProfileImage(file, WebSecurity.CurrentUserName);
            }
            else
            {
                if (model.userdetails.useOnlineImg == false)
                {
                    files.updateImage(file, WebSecurity.CurrentUserName,"member");
                }
            }

            userDefinition user = (from users in db.userDefinition
                                   join user2 in db.UserProfiles
                                   on users.usernameFK equals user2
                                   where user2.UserId == WebSecurity.CurrentUserId
                                   select users).FirstOrDefault();
            user.recoveryEmail = model.userdetails.recoveryEmail;
            user.forename = model.userdetails.forename;
            user.surname = model.userdetails.surname;
            user.isPublic = model.userdetails.isPublic;
            user.birthday = model.userdetails.birthday;
            user.help = model.userdetails.help;
            user.securityAnswer = model.userdetails.securityAnswer;
            user.securityQuestionID = (from secans in db.securityQuestions
                                       select secans).FirstOrDefault();
            user.homePage = model.userdetails.homePage;
            user.emailAddress = model.userdetails.emailAddress;
            user.activitiesPublic = model.userdetails.activitiesPublic;
            user.followingPublic = model.userdetails.followingPublic;
            user.DOBPublic = model.userdetails.DOBPublic;
            user.interestPublic = model.userdetails.interestPublic;
            user.useOnlineImg = model.userdetails.useOnlineImg;
            user.language = (from lang in db.languages
                             where lang.languageID == model.userdetails.language.languageID
                             select lang).First();
            if (model.userdetails.useOnlineImg)
            {
                if (model.deleteProfileImage)
                {
                    user.onlineUrl = "";
                }
                else
                {
                    if (model.userdetails.useOnlineImg)
                    {
                        user.onlineUrl = model.userdetails.onlineUrl;
                    }
                }
            }
            db.SaveChanges();
            return View(new additionalMemberDetailsViewModel());
        }
Пример #4
0
        public void updateUserPermission(string username, List<string> permlist, string headlinename)
        {
            UsersContext user = new UsersContext();
            removePermission(username, headlinename);
            var isView = permlist[0].Substring(5).ToString();
            var isEdit = permlist[1].Substring(6).ToString();
            var isInsert = permlist[2].Substring(8).ToString();
            if (isView == "false" && isEdit == "false" && isInsert == "false")
            {
                var userRemove = (from headlineuse in user.headlineToUsers
                                  join headlines in user.headlines
                                  on headlineuse.headlineID equals headlines
                                  join users in user.UserProfiles
                                  on headlineuse.personID equals users
                                  where users.UserName == username
                                  where headlines.title == headlinename
                                  select headlineuse).FirstOrDefault();
                var headlineToUpdate = (from headlines in user.headlines
                                        where headlines.title == headlinename
                                        select headlines).FirstOrDefault();
                headlineToUpdate.followingCount -= 1;
                user.headlineToUsers.Remove(userRemove);
                user.SaveChanges();
            }
            foreach (var item in permlist)
            {
                var permissionEdit = ""; var index = 0;
                var indexToUse = item.IndexOf(":");
                switch (indexToUse)
                {
                    case 4:
                        permissionEdit = "view";
                        index = 4;
                        break;
                    case 5:
                        permissionEdit = "edit";
                        index = 5;
                        break;
                    case 7:
                        permissionEdit = "insert";
                        index = 7;
                        break;
                }
                var isThisSet = item.Substring(index + 1).ToString();
                if (isThisSet == "true")
                {

                    user.permissionsToGroup.Add(new permissionToGroup
                    {
                        sourceID = (from headlines in user.headlines
                                    where headlines.title == headlinename
                                    select headlines.headlineDefinedId).First(),
                        defineGroup = (from groups in user.groups
                                       where groups.groupName == headlinename + permissionEdit
                                       select groups).First(),
                        defineSource = "Headline",
                        permissionDefined = (from perms in user.permissions
                                             where perms.permissionName == permissionEdit
                                             select perms).First(),
                        personConnecting = (from users in user.UserProfiles
                                            where users.UserName == username
                                            select users).First()
                    });
                    user.SaveChanges();
                }
            }
        }
Пример #5
0
 public void requestPermission(string permissionLevel, string headlinename)
 {
     UsersContext user = new UsersContext();
     //remove all associated permissions first
     removePermission(WebSecurity.CurrentUserName, headlinename);
     string userForRequest = (from users in user.UserProfiles
                              join headlines in user.headlines
                              on users equals headlines.adminId
                              where headlines.title == headlinename
                              select users.UserName).First();
     user.notifications.Add(new notifications
     {
         forType = itemType.headline,
         fromWho = WebSecurity.CurrentUserName,
         messageType = messageType.permissionRequest,
         read = false,
         toWho = (from use in user.UserProfiles
                  where use.UserName == userForRequest
                  select use).First(),
         optionalData1 = permissionLevel,
         typeID = (from hline in user.headlines
                   where hline.title == headlinename
                   select hline.headlineDefinedId).First(),
         whenNotifying = DateTime.Now
     });
     user.SaveChanges();
 }
Пример #6
0
 public void removePermission(string username, string headlinename)
 {
     UsersContext user = new UsersContext();
     var removeThese = (from permg in user.permissionsToGroup
                        join perms in user.permissions on permg.permissionDefined equals perms
                        join groups in user.groups on permg.defineGroup equals groups
                        where perms.permissionName == "view" || perms.permissionName == "edit"
                        || perms.permissionName == "insert"
                        where permg.personConnecting.UserName == username
                        where groups.groupName.Contains(headlinename)
                        select permg.ID).ToList();
     foreach (var item in removeThese)
     {
         var toRemove = (from permg in user.permissionsToGroup
                         where permg.ID == item
                         select permg).First();
         user.permissionsToGroup.Remove(toRemove);
     }
     user.SaveChanges();
 }
Пример #7
0
        public void registerUser(registerViewModel model, Boolean isExternal)
        {
            var secureSetting = "";
            if (model.isSecure) { secureSetting = model.secureString; }
            WebSecurity.CreateUserAndAccount(model.UserName, model.Password, model.status);
            WebSecurity.Login(model.UserName, model.Password);
            using (var db = new UsersContext())
            {
                userDefinition userSubmission = new userDefinition
                {
                    showOuter = true,
                    homePage = "/Member/memberDetails/",
                    activitiesPublic = model.activitiesPublic,
                    DOBPublic = model.DOBPublic,
                    followingPublic = model.followingPublic,
                    interestPublic = model.interestPublic,
                    usernameFK = (from userDefined in db.UserProfiles
                                  where userDefined.UserName == model.UserName
                                  select userDefined).FirstOrDefault(),
                };
                if(isExternal)
                {
                    userSubmission.useOnlineImg = model.useOnlineImg;
                    userSubmission.onlineUrl = model.onlineImg;
                    userSubmission.language = (from lang in db.languages
                                               where lang.Description == "English"
                                               select lang).First();
                }
                if (isExternal == false)
                {
                    var secQuestion = (from secq in db.securityQuestions
                                       where secq.questionID == model.securityQuestionID
                                       select secq).First();
                    userSubmission.language = (from lang in db.languages
                                               where lang.languageID == model.languageDefined
                                               select lang).First();
                    userSubmission.securityQuestionID = secQuestion;
                    userSubmission.secure = sec.GetMD5Hash(secureSetting);
                    userSubmission.emailAddress = model.emailAddress;
                    userSubmission.status = model.status;
                    userSubmission.recommendedBy = model.recommendedBy;
                    userSubmission.securityAnswer = model.securityAnswer;
                    userSubmission.personTypeID = (from ptype in db.personType
                                                   where ptype.Description == model.personType
                                                   select ptype).First();
                    userSubmission.useOnlineImg = false;
                }

                db.userDefinition.Add(userSubmission);

                db.SaveChanges();
                mem.imRegistering(false);
                var user = db.userDefinition.Where(u => u.emailAddress == model.emailAddress)
                    .OrderBy(u => u.ID).FirstOrDefault();

                db.highlightsComputedMessages.Add(
                    new highlightsComputedMessage
                    {
                        createdUserID = (from users in db.UserProfiles
                                         orderby users.UserId descending
                                         select users.UserId).First(),
                        sourceDefinition = model.UserName,
                        highlightID = (from highlights in db.highlightsPerType
                                       where highlights.highlightMethod == "personRegister"
                                       select highlights).First()
                    }
                );
                db.SaveChanges();

                memberServices memThis = new memberServices();
                var userIdDefined = (from idd in db.UserProfiles
                                     orderby idd.UserId descending
                                     select idd.UserId).First();
                getActivityForIntRank(model.personType, userIdDefined, model.UserName, model.styleSheetName);
            }
        }