Exemplo n.º 1
0
        public async Task <ActionResult <ForumView> > CreateForum([FromBody] ForumForm value)
        {
            ForumView forum = this.Manager.CreateForum(value, this.Identity);

            await this.Context.Clients.AllExcept(new string[] { Identity.ID }).SendAsync("onNewForum", forum);

            return(this.Ok(forum));
        }
Exemplo n.º 2
0
        public ActionResult DeleteConfirmed(int id)
        {
            ForumView forumView = db.ForumViews.Find(id);

            db.ForumViews.Remove(forumView);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
 public static void SetForumView(Page page, ForumView forumView)
 {
     string cookieValue = forumView.ToString();
     HttpCookie httpCookie = new HttpCookie("Forum_View", cookieValue);
     DateTime expires = DateTime.Now;
     expires = expires.AddDays(355);
     httpCookie.Expires = expires;
     page.Response.Cookies.Add(httpCookie);
 }
Exemplo n.º 4
0
 public ActionResult Edit([Bind(Include = "ForumID,ForumName,LastModified")] ForumView forumView)
 {
     if (ModelState.IsValid)
     {
         db.Entry(forumView).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(forumView));
 }
        public static void SetForumView(Page page, ForumView forumView)
        {
            string     cookieValue = forumView.ToString();
            HttpCookie httpCookie  = new HttpCookie("Forum_View", cookieValue);
            DateTime   expires     = DateTime.Now;

            expires            = expires.AddDays(355);
            httpCookie.Expires = expires;
            page.Response.Cookies.Add(httpCookie);
        }
        // GET: ForumView/Create
        public ActionResult Create() // Displays the form in which a new message's details are entered.
        {
            // ViewBag.ForumList = new SelectList(db.ForumViews.OrderBy(f => f.ForumID), "ForumID", "ForumName");
            ForumView testForum   = new ForumView();
            Message   testMessage = new Message();

            ViewBag.ForumList = new SelectList(db.ForumViews.OrderBy(f => f.ForumID), "ForumID", "ForumName"); // Thanks Toni! I suspect that, with validation, having this line up there causes the validation to be wiped out and resets the ModelState as a new ForumView is created.
            testForum.Messages.Add(testMessage);
            return(View(testForum));
        }
Exemplo n.º 7
0
        public ActionResult Create([Bind(Include = "ForumID,ForumName,LastModified")] ForumView forumView)
        {
            if (ModelState.IsValid)
            {
                db.ForumViews.Add(forumView);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(forumView));
        }
Exemplo n.º 8
0
        // GET: ForumView/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            ForumView forumView = db.ForumViews.Find(id);

            if (forumView == null)
            {
                return(HttpNotFound());
            }
            return(View(forumView));
        }
Exemplo n.º 9
0
        public async Task <IHttpActionResult <ForumView> > Post([FromBody] ForumView value)
        {
            using (var transaction = session.BeginTransaction())
            {
                var forum = new Data.Forums.Forum {
                    Name = value.Name, ReadRole = value.ReadRole, WriteRole = value.WriteRole
                };
                await session.SaveAsync(forum);

                transaction.Commit();
                value = forumDataMapping.ToForumView(forum, 0);
            }
            return(Created("GetForum", value.Id, value));
        }
Exemplo n.º 10
0
        protected override ValidationResult IsValid(object forumTitle, ValidationContext validationContext)
        {
            ForumView forumView        = (ForumView)validationContext.ObjectInstance;
            string    parentForumTitle = forumView.ParentForumTitle;

            //If titles are the same return error
            if (forumTitle.ToString().ToLower().Equals(parentForumTitle.ToLower()))
            {
                return(new ValidationResult($"Quorum title cannot be the same as parent title '{parentForumTitle}'",
                                            new[] { validationContext.MemberName }));
            }
            //Else return success
            return(ValidationResult.Success);
        }
        // GET: /Message/Details/5
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            //Message message = db.Messages.Find(id);
            ForumView message = GetMessageAndTopic(id);

            if (message == null)
            {
                return(HttpNotFound());
            }
            return(View(message));
        }
Exemplo n.º 12
0
 private void openEditOrAddForm(object sender, ContactsEventArgs args)
 {
     if (args != null)
     {
         var contact    = args.Contact;
         var cities     = args.Cities;
         var phoneTypes = args.PhoneTypes;
         if (contact != null && cities != null && phoneTypes != null)
         {
             ForumView forumView = new ForumView(contact, cities, phoneTypes);
             forumView.ShowDialog();
             _viewModel.SearchCommand.Execute(null);
         }
     }
 }
Exemplo n.º 13
0
        public async Task <ActionResult> Put(int id, [FromBody] ForumView value)
        {
            using (var transaction = session.BeginTransaction())
            {
                var forum = await session.LoadAsync <Data.Forums.Forum>(id);

                forum.ReadRole  = value.ReadRole;
                forum.WriteRole = value.WriteRole;
                forum.Name      = value.Name;
                await session.UpdateAsync(forum);

                transaction.Commit();
            }
            return(Ok());
        }
        public ActionResult Create([Bind(Include = "MessageID,Subject,Title,Body,Author,MessageDate,TopicName")] ForumView forumVM, int MessageLocation, int WitchMember)
        {
            if (ModelState.IsValid)
            {
                Topic topic = (from t in db.Topics
                               where t.TopicID == MessageLocation
                               select t).FirstOrDefault();
                Member author = (from mem in db.Members
                                 where mem.MemberID == WitchMember
                                 select mem).FirstOrDefault();
                if (topic == null)
                {
                    topic = new Topic()
                    {
                        TopicName = forumVM.TopicName
                    };
                    db.Topics.Add(topic);
                    db.SaveChanges();
                }

                Message message = new Message()
                {
                    MessageID   = forumVM.MessageID,
                    TopicID     = topic.TopicID,
                    MemberID    = author.MemberID,
                    Author      = author.MemberName,
                    Subject     = forumVM.Subject,
                    Title       = forumVM.Title,
                    Body        = forumVM.Body,
                    MessageDate = forumVM.MessageDate
                };

                db.Messages.Add(message);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            FillSelectLists();
            return(View(forumVM));
        }
        private List <ForumView> GetMessagesandTopics(int?messageId)
        {
            var messages = new List <ForumView>();
            var topics   = from topic in db.Topics.Include("Messages")
                           select topic;

            foreach (Topic t in topics)
            {
                foreach (Message m in t.Messages)
                {
                    var forumVM = new ForumView();
                    forumVM.MessageID   = m.MessageID;
                    forumVM.Body        = m.Body;
                    forumVM.Subject     = m.Subject;
                    forumVM.Title       = m.Title;
                    forumVM.MessageDate = m.MessageDate;
                    forumVM.TopicName   = t.TopicName;
                    forumVM.Author      = m.Author;
                    messages.Add(forumVM);
                }
            }
            return(messages);
        }
Exemplo n.º 16
0
        public ActionResult Create([Bind(Include = "ForumID,ForumName,MessageID,Body,Subject,PostingMember,Messages,ForumList")] ForumView forumView, int ForumList)
        {
            Message m = forumView.Messages[0];

            forumView.LastModified = DateTime.Now;
            m.Date    = DateTime.Now;
            m.Subject = m.Subject;
            m.Topic   = m.Topic;
            m.Body    = m.Body;

            ForumView fv = (from f in db.ForumViews
                            where f.ForumID == ForumList
                            select f).FirstOrDefault();

            if (fv == null)
            {
                fv = new ForumView()
                {
                    ForumName = forumView.ForumName
                };
                db.ForumViews.Add(fv);
            }

            if (ModelState.IsValid)
            {
                forumView.Messages.Add(m);
                db.ForumViews.Add(forumView);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }
            else
            {
                ViewBag.ForumList = new SelectList(db.ForumViews.OrderBy(f => f.ForumID), "ForumID", "ForumName");
                return(View("Create", forumView));
            }
        }
Exemplo n.º 17
0
        public ActionResult Search(string searchTerm)
        {
            var msgs = (from m in db.Messages
                        where m.Subject.Contains(searchTerm)
                        select m).ToList();


            // If just one message, display it
            if (msgs.Count == 1)
            {
                string      mid         = msgs[0].MemberID;
                var         member      = (from n in db.Users where n.Id == mid select n).FirstOrDefault();
                MessageView selectedMsg = new MessageView();
                selectedMsg.MessageID = msgs[0].MessageID;
                selectedMsg.Body      = msgs[0].Body;
                selectedMsg.Date      = msgs[0].Date;
                selectedMsg.Subject   = msgs[0].Subject;
                selectedMsg.Topics.Add(msgs[0].Topic);
                selectedMsg.PostingMember = member;
                return(View("Details", selectedMsg)); // We're sending it to the view, not the controller method (view takes a whole msg; controller method takes an int.)
            }
            // else, if more than one, display list.
            else if (msgs.Count > 1)
            {
                ForumView resultView = new ForumView();
                foreach (Message m in msgs)
                {
                    resultView.Messages.Add(m);
                }
                return(View("Index", resultView));
            }
            else
            {
                return(RedirectToAction("Index")); // Aha. I just needed to change this from View to RedirectToAction since returning the view bypasses the necessary stuff in the controller method, causing the model to be null.
            }
        }
Exemplo n.º 18
0
 public ActionResult CreateForum(ForumView forumView)
 {
     using (var repository = _repositoryProvider.GetRepository())
     {
         var forum = Mapper.Map<ForumView, Forum>(forumView);
         forum.AddedBy = HttpContext.User.Identity.Name;
         forum.DateAdded = DateTime.Now;
         forum.Path = forumView.Title.ToUrlFormat();
         repository.SaveOrUpdate(forum);
         ViewBag.ExistingForum = forumView.ForumExists;
         return RedirectToAction("ManageForums");
     }
 }