public ActionResult Add(int projectId, ActivityViewModel model)
        {
            var project = DbSession
                .Load<Project>(projectId);

            var activity = Activity.Forge(project.Id.ToIdentifier(), model.Name, model.Description, model.Duration,
                                          model.StartDate == DateTimeOffset.MinValue
                                              ? project.StartDate
                                              : model.StartDate);

            DbSession.Store(activity);
            DbSession.SetAuthorizationFor(activity, new DocumentAuthorization
                {
                    Tags = {project.Id}
                });

            if (model.StartDate != DateTimeOffset.MinValue)
                activity.StartDateConsecutive = activity.StartDate = model.StartDate;

            return new JsonNetResult {Data = activity.MapTo<ActivityViewModelComplete>()};
        }
        public ActionResult Update(int projectId, int activityId, ActivityViewModel.Input model)
        {
            var activity = DbSession.Load<Activity>(activityId);
            if (activity == null || activity.Project.ToIdentifier() == projectId)
                HttpNotFound();
            model.Dependencies = model.Dependencies ?? new List<int>();
            activity.Update(model.MapTo<Activity>(), DbSession);
            var data = activity.MapTo<ActivityViewModel>();

            data.Project = DbSession.Load<Project>(model.Project).MapTo<EntityViewModel>();
            return new JsonNetResult {Data = data};
        }