Esempio n. 1
0
        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};
        }