public async Task <IResultResponse> Delete(string document) { IResultResponse response = new ResultResponse(); CpfValidator validator = new CpfValidator(); var result = await validator.ValidateAsync(new Cpf(document)); if (result.IsValid) { User user = await _unitOfWork.UserRepository.GetByDocument(document); if (user != null) { await _unitOfWork.UserRepository.Delete(user); _logger.LogInformation(LoggingEvent.Delete, "Usuário deletado com sucesso"); } else { response.AddMessage($"Usuário com o Cpf {document} não encontrado"); _logger.LogInformation(LoggingEvent.Delete, $"Usuário com o Cpf {document} não encontrado"); } } else { response.AddMessage(result.Errors); _logger.LogInformation(LoggingEvent.Delete, $"Encontrado algum erro de validação"); } return(response); }
public async Task <IResultResponse> Create(UserCreateRequest request) { IResultResponse response = new ResultResponse(); User user = _mapper.Map <User>(request); UserValidator validator = new UserValidator(); var result = await validator.ValidateAsync(user); if (result.IsValid) { User userExist = await _unitOfWork.UserRepository.GetByDocument(user.Document.Value); if (userExist == null) { await _unitOfWork.UserRepository.Create(user); _logger.LogInformation(LoggingEvent.Create, "Usuário criado com sucesso"); } else { response.AddMessage($"Usuário com o Cpf {request.Document} já está cadastrado"); _logger.LogInformation(LoggingEvent.Create, $"Usuário com o Cpf {request.Document} já está cadastrado"); } } else { response.AddMessage(result.Errors); _logger.LogInformation(LoggingEvent.Create, $"Encontrado algum erro de validação"); } return(response); }
public async Task <IResultResponse> Update(string document, UserUpdateRequest request) { IResultResponse response = new ResultResponse(); User user = await _unitOfWork.UserRepository.GetByDocument(document); if (user == null) { response.AddMessage("Usuário não encontrado"); _logger.LogInformation(LoggingEvent.Update, $"Usuário não encontrado"); return(response); } user.SetName(new Name(request.Name)); user.SetYearsOld(new YearsOld(request.YearsOld)); user.SetEmail(new Email(request.Email)); user.SetPhone(new Phone(request.Phone)); user.SetAddress(request.Address); UserValidator validator = new UserValidator(); var result = await validator.ValidateAsync(user); if (result.IsValid) { await _unitOfWork.UserRepository.Update(user); _logger.LogInformation(LoggingEvent.Update, $"Usuário atualizado com sucesso"); } else { response.AddMessage(result.Errors); _logger.LogInformation(LoggingEvent.Update, $"Encontrado algum erro de validação"); } return(response); }
public async Task <IResultResponse> Handle(AddOrderCommand request, CancellationToken cancellationToken) { ResultResponse result = new ResultResponse(); var validator = await new AddOrderCommandValidator(_uow).ValidateAsync(request); if (!validator.IsValid) { result.AddMessage(validator.Errors); return(result); } decimal orderValueTotal = await _productService.CalculateOrderTotalValue(request.OrderItems); Order order = await _orderService.AddOrder(orderValueTotal); foreach (var item in request.OrderItems) { decimal OrderItemvalueTotal = await _productService.CalculateOrderItemTotalValue(item); await _orderItemService.AddOrderItem(order, item, OrderItemvalueTotal); } await _uow.SaveChange(); await _orderUserService.Add(order.OrderID, request.UserID); return(result); }
public async Task <IResultResponse <List <GetOrdersWithOutUserResponse> > > Handle(GetOrdersWithOutUserCommand request, CancellationToken cancellationToken) { IResultResponse <List <GetOrdersWithOutUserResponse> > result = new ResultResponse <List <GetOrdersWithOutUserResponse> >(); var validator = await new AddressIDPropertyValidator(_uow).ValidateAsync(request.AddressID); if (!validator.IsValid) { result.AddMessage(validator.Errors); return(result); } var orders = await _uow.OrderRepository.GetByAddressId(request.AddressID); var address = await _uow.AddressRepository.GetById(request.AddressID); result.Value = ConvertToModel(orders, address); return(result); }
public async Task <IResultResponse <IList <UserResponse> > > Get() { IResultResponse <IList <UserResponse> > response = new ResultResponse <IList <UserResponse> >(); IList <User> users = await _unitOfWork.UserRepository.Get(); if (users == null || users?.Count == 0) { response.AddMessage("Não existe nenhum usuário cadastrado"); _logger.LogInformation(LoggingEvent.GetAll, "Nenhum usuário cadastrado"); } else { response.Value = _mapper.Map <IList <UserResponse> >(users); } return(response); }