public void CreateConcern()
        {
            //ARRANGE
            var controller = GetAuthenticatedControllerMock<NotesController>(Orguser); //MockRepository.GeneratePartialMock<AccountController>();
            //set controller context. 
            controller.ControllerContext = new ControllerContext(GetContext(true), new RouteData(), controller);

            var vm = new ConcernViewModel
            {
                Comment = "Test",
                EventDate = DateTime.Now,
                Severity = 2,
                SubjectUserId = Orguser.Id,

            };

            //ACT
            var result = controller.CreateConcern(vm);

            //ASSERT
            var jsonresponse = ValidateAndUnwrapJsonResult(result);
            var unwrappedresponse = (List<TimelineItem>)jsonresponse.Data; 
        }
        /// <summary>
        /// Update an existing concern
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public JsonResult UpdateConcern(ConcernViewModel model)
        {
            //remove Id from modelstate if there. 
            ModelState.Remove("Id");
            ModelState.Remove("EventDate");
            ModelState.Remove("CreatedBy");
            ModelState.Remove("SubjectUserId");

            if (ModelState.IsValid)
            {
                using (var orgSession = OrgStore.OpenSession())
                {

                    var concern = orgSession.Load<Concern>(model.Id);

                    if (concern != null)
                    {

                        concern.EventDate = model.EventDate;
                        concern.ConsolidatedCompletionDate = model.EventDate;

                        concern.Comment = model.Comment;
                        concern.Severity = model.Severity;

                        orgSession.Store(concern);
                        orgSession.SaveChanges();
                        return JsonSuccess(concern.ToTimelineItems(), "Concern updated");
                    }
                
                }
            }
            return JsonError("Invalid data");
        }
        /// <summary>
        /// Create a new concern for a person
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public JsonResult CreateConcern(ConcernViewModel model)
        {
            //remove Id from modelstate if tehre. 
            ModelState.Remove("Id");
            ModelState.Remove("EventDate");
            ModelState.Remove("CreatedBy");

            if (ModelState.IsValid)
            {
                using (var orgSession = OrgStore.OpenSession())
                {
                    var target = orgSession.Load<User>(model.SubjectUserId);
                    var concern = new Concern
                                      {
                                          CreatedBy = OrgUser.ToSimpleUser(),
                                          EventDate = DateTime.Now,
                                          ConsolidatedCompletionDate = DateTime.Now,
                                          Comment = model.Comment,
                                          SubjectUser = target.ToSimpleUser(),
                                          Severity = model.Severity,
                                          Id = IlluminateDatabase.GenerateId<Concern>()
                                      };

                    orgSession.Store(concern);
                    orgSession.SaveChanges();

                    return JsonSuccess(concern.ToTimelineItems(), "Concern created");
                }
            }
            return JsonError("Invalid data");
        }