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); }
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()); }
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(); } } }
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(); }
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(); }
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); } }