public ActionResult CreateDiscussion(int projectId, int activityId, DiscussionViewModel.Input model) { // todo error handling var activity = GetActivity(projectId, activityId); if (activity == null) return new HttpNotFoundResult(); var person = DbSession.GetCurrentPerson(); var discussion = Discussion.Forge(model.Name, model.Content, activity.Id, person.Id); DbSession.Store(discussion); var vm = discussion.MapTo<DiscussionViewModel>(); vm.Person = person.MapTo<PersonViewModel>(); vm.Entity = activity.MapTo<EntityViewModel>(); return new JsonNetResult {Data = vm}; }
public ActionResult Post(int projectId, int? activityId, DiscussionViewModel.Input model) { if (!ModelState.IsValid) return View("Details"); var entity = activityId.HasValue ? (Entity) DbSession.Load<Activity>(activityId) : DbSession.Load<Project>(projectId); if (entity == null) return HttpNotFound(); var personId = DbSession.GetCurrentPersonId(); var discussion = Discussion.Forge(model.Name, model.Content, entity.Id, personId); DbSession.Store(discussion); var discussionViewModel = discussion.MapTo<DiscussionViewModel>(); if (Request.IsAjaxRequest()) return new JsonNetResult {Data = discussionViewModel}; return RedirectToRoute("discussions_get"); }