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());
            }
        }
Ejemplo n.º 3
0
        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);


        }