Exemple #1
0
        public async Task <BaseResponseDto <bool> > Handle(CreateToDoRequest request, CancellationToken cancellationToken)
        {
            BaseResponseDto <bool> response = new BaseResponseDto <bool>();

            try
            {
                var toDo = new Models.ToDo
                {
                    Name        = request.Name,
                    IsCompleted = false,
                    CreatedAt   = DateTime.Now
                };

                await repository.CreateAsync(toDo);

                response.Data = true;

                await mediator.Publish(new NewToDoCreatedEvent(toDoName : toDo.Name));
            }
            catch (Exception ex)
            {
                logger.LogError(ex, ex.Message);
                response.Errors.Add("An error occurred while creating the ToDo.");
            }

            return(response);
        }
        private HttpStatusCode Handle([NotNull] CreateToDoRequest request)
        {
            if (request.Title.IsNullOrWhitespace())
            {
                return(HttpStatusCode.BadRequest);
            }

            _dataStore.Create(request.Title);
            return(HttpStatusCode.NoContent);
        }
        public async Task <ResultData> Post(CreateToDoRequest request)
        {
            var toDo = new ToDo(request);

            await _repository.Create(toDo);

            _unitOfWork.Commit();

            return(SuccessData(EGenericOperations.Record_Saved_Successfully.GetDescription()));
        }
Exemple #4
0
 public static ToDoTableEntity ToTableEntity(this CreateToDoRequest request)
 {
     return(new ToDoTableEntity
     {
         RowKey = request.Id,
         PartitionKey = "TODO",
         TaskDescription = request.TaskDescription,
         IsCompleted = request.IsCompleted,
         CreatedTime = request.CreatedTime
     });
 }
Exemple #5
0
        public async Task <IActionResult> Post([FromBody] CreateToDoRequest toDoRequest)
        {
            var toDo = toDoRequest.GetToDo(HttpContext);

            toDo = await repository.AddToDoAsync(toDo);

            var baseUrl  = $"{HttpContext.Request.Scheme}://{HttpContext.Request.Host.ToUriComponent()}";
            var request  = HttpContext.Request.Path;
            var location = $"{baseUrl}{request}/{toDo.Id}";

            return(Created(location, toDo.GetToDoResponse()));
        }
Exemple #6
0
        public async Task <ActionResult <string> > CreateToDoAsync([FromBody] CreateToDoRequest createToDoRequest)
        {
            BaseResponseDto <bool> createResponse = await mediator.Send(createToDoRequest);

            if (createResponse.Data)
            {
                return(Created("", createResponse.Data));
            }
            else
            {
                return(BadRequest(createResponse.Errors));
            }
        }
        public async Task <IActionResult> Post([FromBody] CreateToDoRequest request)
        {
            try
            {
                var result = await _appService.Post(request);

                return(Response(result));
            }
            catch (Exception ex)
            {
                _logger.LogError("ERROR: {message}", ex.Message);
                return(BadRequest(ex));
            }
        }
Exemple #8
0
 public ToDo(CreateToDoRequest request)
 {
     Description = request.Description;
     Done        = request.Done;
     CreateDate  = DateTime.Now;
 }
 public static ToDo GetToDo(this CreateToDoRequest toDoRequest, HttpContext context)
 => new ToDo
 {
     Title = toDoRequest.Title, Details = toDoRequest.Details, DateCreated = DateTime.UtcNow, Status = Status.NotDone, UserId = context.GetUserId()
 };
Exemple #10
0
        public ResponseMessage CreateToDo(CreateToDoRequest request)
        {
            ResponseMessage responseMessage = new ResponseMessage();

            var category = _context.Category.FirstOrDefault(x => x.Id == request.Category.Id);

            var tag = _context.Tag.FirstOrDefault(x => x.Id == request.Tag.Id);

            try
            {
                if (string.IsNullOrEmpty(request.Name))
                {
                    responseMessage.Errors.Add("Name is empty or null");
                }
                if (string.IsNullOrEmpty(request.Description))
                {
                    responseMessage.Errors.Add("Description is empty or null");
                }
                if (request.Category == null)
                {
                    responseMessage.Errors.Add("Category is null");
                }
                if (request.EventDate == null)
                {
                    responseMessage.Errors.Add("EventDate is null");
                }
                if (request.IsDone == null)
                {
                    responseMessage.Errors.Add("IsDone is null");
                }
                if (request.ReminderDate == null)
                {
                    responseMessage.Errors.Add("ReminderDate is null");
                }
                if (request.Tag == null)
                {
                    responseMessage.Errors.Add("Tag is null");
                }

                _context.ToDo.Add(new ToDoEntity
                {
                    Name         = request.Name,
                    Category     = category,
                    Description  = request.Description,
                    EventDate    = request.EventDate,
                    IsDone       = request.IsDone,
                    ReminderDate = request.ReminderDate,
                    Tag          = tag
                });
                _context.SaveChanges();

                if (!responseMessage.IsOk)
                {
                    return(responseMessage);
                }
            }
            catch (Exception msg)
            {
                responseMessage.Errors.Add(msg.Message);
            }
            if (!responseMessage.IsOk)
            {
                return(responseMessage);
            }

            return(responseMessage);
        }
 public async Task <ApiResult> Add([FromBody] CreateToDoRequest item)
 {
     return(await _handlerDispatcher.Handle <CreateToDoCommand, int>(new CreateToDoCommand {
         Description = item.Description
     }));
 }