示例#1
0
        public void AddOrUpdate(TaskStepDto taskStepDto)
        {
            TaskStep entity = null;

            if (taskStepDto.Id > 0)
            {
                entity = _context.TaskSteps.Include(x => x.Task).ThenInclude(x => x.Creator).Include(x => x.Task.Parent).FirstOrDefault(x => x.Id == taskStepDto.Id);
            }

            var linkedTask = _context.TasksAndTargets.Include(x => x.Parent).Include(x => x.Creator).FirstOrDefault(x => x.Id == taskStepDto.ParentTaskId);

            if (entity == null)
            {
                entity             = new TaskStep();
                entity.AddDateTime = DateTime.Now.ToUniversalTime();
                entity.Author      = _userService.GetCurrentUser();
            }

            entity.Description = taskStepDto.Description;
            entity.Task        = linkedTask ?? throw new Exception($"Associated task with {taskStepDto.Task.Id} not found");

            _userService.SetPasswordHashAndSaltUnModified(entity.Task.Creator);
            _context.Entry(entity.Task).State         = EntityState.Unchanged;
            _context.Entry(entity.Task.Creator).State = EntityState.Unchanged;


            _context.TaskSteps.Add(entity);

            _activityService.LogUserActivity(entity, DAL.enums.ActionTypeEnum.MakeStepToAchieve);

            _context.SaveChanges();
        }
        public void AddOrUpdateTaskStep([FromBody] TaskStepDto taskStepDto)
        {
            _taskStepService.AddOrUpdate(taskStepDto);
            //ReadTestData();

            //TaskStep noteObj = null;

            //if (noteForEdit.parentTaskId == 0) throw new Exception("Parent task must be assigned!");

            //if (noteForEdit.Id > 0)
            //{

            //	noteObj = testData.First(x => x.Id == noteForEdit.Id);
            //}
            //else
            //{
            //	noteObj = noteForEdit;
            //}

            //if (noteForEdit.Id > 0)
            //{
            //	DoUpdatenote(noteForEdit, noteObj);
            //}
            //else
            //{
            //	noteObj.Id = fakeId++;
            //	testData.Add(noteObj);
            //}

            //SaveTestData();
        }