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}; }