Esempio n. 1
0
 public async Task <DataResult <TaskUpdateResponse> > ProcessTaskUpdate(TaskBlModel model)
 {
     return(await ProcessTaskUpdateTransaction(model));
 }
Esempio n. 2
0
 public async Task <DataResult <TaskUpdateResponse> > Update(int id, [FromBody] TaskBlModel model)
 {
     model.Id = id;
     return(await _taskService.ProcessTaskUpdate(model));
 }
Esempio n. 3
0
        private async Task <DataResult <TaskUpdateResponse> > ProcessTaskUpdateTransaction(TaskBlModel model)
        {
            return(await _transactionManager.ExecuteInTransactionAsync(async transaction =>
            {
                try
                {
                    ToDoTask taskEntity =
                        await _unitOfWork.ToDoTasks.GetByIdAsync(model.Id);

                    if (taskEntity == null)
                    {
                        return new DataResult <TaskUpdateResponse>()
                        {
                            ResponseStatusType = ResponseStatusType.Error,
                            Message = ResponseMessageType.IdIsMissing
                        };
                    }

                    if (!string.IsNullOrWhiteSpace(model.Text))
                    {
                        taskEntity.Text = model.Text;
                        taskEntity.DueDate = model.DeadLine;
                        await _unitOfWork.ToDoTasks.UpdateAsync(taskEntity);
                        await _unitOfWork.SaveAsync();

                        await transaction.CommitAsync();

                        return new DataResult <TaskUpdateResponse>()
                        {
                            Data = new TaskUpdateResponse()
                            {
                                TaskId = model.Id
                            },
                            ResponseStatusType = ResponseStatusType.Succeed
                        };
                    }

                    await transaction.RollbackAsync();
                    return new DataResult <TaskUpdateResponse>()
                    {
                        Data = new TaskUpdateResponse()
                        {
                            TaskId = model.Id
                        },
                        Message = ResponseMessageType.InvalidModel,
                        ResponseStatusType = ResponseStatusType.Error
                    };
                }
                catch (Exception e)
                {
                    await transaction.RollbackAsync();
                    _logger.LogW(e, "ContentAdminBlModel: {C}", args:
                                 new object[]
                    {
                        AsJsonFormatter.Create(model)
                    });

                    return new DataResult <TaskUpdateResponse>()
                    {
                        Data = new TaskUpdateResponse()
                        {
                            TaskId = model.Id
                        },
                        Message = ResponseMessageType.InvalidModel,
                        ResponseStatusType = ResponseStatusType.Error
                    };
                }
            }));
        }
Esempio n. 4
0
 public async Task <DataResult <TaskAddResponse> > Create(TaskBlModel model)
 {
     return(await _taskService.ProcessTaskCreate(model));
 }