public ActionResult editHeadline(string id) { headlineViewModel hv = new headlineViewModel(); hv.headlinev = (from hview in user.headlines where hview.title == id select hview).First(); var canEdit = headlineq.permissionCount(id, "edit"); ViewBag.headlineTitle = id; ViewBag.Title = "Edit " + id; var annotation = (from head in user.annotation where head.headlineAnnotated.title == id where head.isHeader == true select head).First(); int checkHeader = annotation.fileType.fileTypeID; string DirectoryForImage = "/Images/Headlines/" + id; string extension = ".jpg";//expectation before it is checked for hv.fileTypeDefined = checkHeader; hv.headerUrl = annotation.fileDescription; if (checkHeader == 1) { var fileList = Directory.GetFiles(System.Web.HttpContext.Current.Server.MapPath("~" + DirectoryForImage), "header*"); foreach (var file in fileList) { extension = file.Substring(file.IndexOf("header.")); //There will only be one entry here ever. } hv.headerUrl = DirectoryForImage + "/" + extension; } if (canEdit == 0) { ModelState.AddModelError("editHeadline", "You are not authenticated to make a change here, please contact " + "the admin" + " to gain access to the group"); return View(hv); } var tagExist = (from headlines in user.headlines where headlines.title == id select headlines.title).Count(); if (tagExist == 0) { return RedirectToAction("createHeadline"); } @ViewBag.headlineTags = getTags(id); @ViewBag.Title = "Edit " + id; if (User.Identity.IsAuthenticated == false) { ModelState.AddModelError("editHeadline", "You must be logged in to change this"); return View(hv); } return View(hv); }
public ActionResult createHeadline(headlineViewModel model, HttpPostedFileBase headlineHeader) { bool hasError = false; if(model.fileSummary == "" || model.fileSummary == null) { ModelState.AddModelError("", "The file summary is required"); hasError = true; } if (model.headlinev.numberOfUsers < 1) { ModelState.AddModelError("", "The number of users needs to a real number"); hasError = true; } if (model.headlinev.numberOfUsers > 25) { ModelState.AddModelError("", "The maximum number of users at one time is 25"); hasError = true; } if (User.Identity.IsAuthenticated == false) { ModelState.AddModelError("", "You must be logged in to change this"); hasError = true; } string annotateError = uHline.checkAnnotation(headlineHeader, model.fileTypeDefined); if (annotateError != "") { hasError = true; ModelState.AddModelError("", annotateError); } if (hasError) { return View(new headlineViewModel()); } if (ModelState.IsValid && hasError == false) { if ((from title in user.headlines where title.title == model.headlinev.title select title).Count() >= 1) { ModelState.AddModelError("", "Try the title again"); return View(new headlineViewModel()); } else { try { headlineView newHeadline = new headlineView { numberOfUsers = model.headlinev.numberOfUsers, followingCount = 1, title = model.headlinev.title, accessLevel = model.headlinev.accessLevel, adminId = (from usershere in user.UserProfiles where usershere.UserId == WebSecurity.CurrentUserId select usershere).FirstOrDefault(), }; user.headlines.Add(newHeadline); string description = model.fileDescription; if (model.fileTypeDefined == 1) { model.fileDescription = files.updateImage(headlineHeader, model.headlinev.title, "HeadlineHeader"); //files.updateImage(headlineHeader, model.headlinev.title, "HeadlineHeader"); description = "image"; } var personConnectingDefined = (from users in user.UserProfiles where users.UserId == WebSecurity.CurrentUserId select users).FirstOrDefault(); var permissionDefined = (from perms in user.permissions where perms.ID < 4 where perms.ID > 0 orderby perms.ID ascending select perms).ToList(); user.SaveChanges(); foreach (var item in permissionDefined) { var newGroup = new group { forPeople = false, groupName = model.headlinev.title + item.permissionName, }; var sourceDefined = (from headlines in user.headlines where headlines.title == model.headlinev.title select headlines.headlineDefinedId).First(); user.SaveChanges(); user.permissionsToGroup.Add( new permissionToGroup { defineGroup = newGroup, defineSource = "Headline", permissionDefined = item, sourceID = sourceDefined, personConnecting = personConnectingDefined }); } var followingPerson = (from users in user.UserProfiles join user2 in user.userDefinition on users equals user2.usernameFK where users.UserId == WebSecurity.CurrentUserId select user2).First(); followingPerson.following += 1; user.highlightsComputedMessages.Add(new highlightsComputedMessage { createdUserID = WebSecurity.CurrentUserId, sourceDefinition = model.headlinev.title, highlightID = (from highlights in user.highlightsPerType where highlights.highlightMethod == "headlineCreate" select highlights).First() }); user.headlineToUsers.Add( new headlineToUser { personID = (from ytu in user.UserProfiles where ytu.UserId == WebSecurity.CurrentUserId select ytu).FirstOrDefault(), headlineID = (from headlines in user.headlines where headlines.title == model.headlinev.title orderby headlines.headlineDefinedId select headlines).First(), }); user.SaveChanges(); uHline.addAnnotation(model.fileDescription, model.fileTypeDefined, newHeadline, model.fileSummary); } catch (Exception e) { ModelState.AddModelError("", e.Message.ToString()); return View(new headlineViewModel()); } return Redirect("/headlines/editHeadline/" + model.headlinev.title); } } else { ModelState.AddModelError("", "Unknown error"); return View(new headlineViewModel()); } }
public ActionResult viewHeadline(headlineViewModel model, string id) { int permissionCount = headlineq.permissionCount(id, "view"); ViewBag.Title = id; ViewBag.headlineTitle = id; model.annotations = (from ann in user.annotation where ann.headlineAnnotated.title == id select ann).ToList(); if (permissionCount == 0) { ViewBag.viewerror = "You do not have permission to view, though you might be able to edit"; } else { ViewBag.viewerror = ""; } ViewBag.yourStatus = headlineq.getCountLink(model.title); if (id == "" || id == null) { return RedirectToAction("searchHeadlines", "Headlines"); } ViewBag.headlineTags = getTags(id); return View(model); }