public AjaxResponse Command(AddTimeRecordModel inModel) { var task = _taskCategoryService.Get(inModel.TaskId); var project = _projectService.GetProjectFromId(inModel.ProjectId); var user = inModel.UserId.IsEmpty() ? _userService.GetUserByLogin(_securityContext.CurrentIdentity.Name) : _userService.GetUserById(inModel.UserId); var timeRecord = new Core.Domain.TimeRecord(); timeRecord.Project = project; timeRecord.Task = task; timeRecord.User = user; if(inModel.CardId.IsNotEmpty()) { var card = project.GetCards().Where(x => x.Id == inModel.CardId).FirstOrDefault(); timeRecord.Card = card; } timeRecord.Description = inModel.TimeRecordDescription; timeRecord.Start(); project.AddTime(timeRecord); var notification = _projectService.SaveProject(project); _timeRecordService.Save(timeRecord); var output = Mapper.DynamicMap<Core.Domain.TimeRecord, TimeRecordDTO>(timeRecord); if (notification.IsValid()) return new AjaxResponse() { Success = true, Item = output }; return new AjaxResponse() {Success = false}; }
public StopTimeRecordFormModel Execute(StopTimeRecordFormInputModel model) { var timeRecord = new Core.Domain.TimeRecord(); return new StopTimeRecordFormModel { TimeRecord = timeRecord}; }