Example #1
0
        public async Task <Guid> CreateDish(DishCreationDto dishCreationDto)
        {
            var dish = Mapper.Map <Dish>(dishCreationDto);
            await _dishesRepository.AddAsync(dish);

            await UnitOfWork.CommitAsync();

            var file = await _filesRepository.GetByIdAsync(dish.FileId);

            await _fileSystemService.MoveFileAsync(file.Name, "dishes");

            return(dish.Id);
        }
Example #2
0
        public async Task <(Guid id, string name)> SaveFileAsync(IFormFile formFile)
        {
            var name = await _fileSystemService.SaveFile(formFile);

            var file = new File
            {
                Caption = formFile.Name,
                Name    = name
            };

            var repository = UnitOfWork.Repository <File>();
            await repository.AddAsync(file);

            await UnitOfWork.CommitAsync();

            return(file.Id, file.Name);
        }
Example #3
0
        public async Task CreateOrderAsync(OrderCreationDto orderCreationDto)
        {
            var order = Mapper.Map <Order>(orderCreationDto);

            foreach (var dishId in orderCreationDto.Dishes)
            {
                var dish = await _dishesRepository.GetByIdAsync(dishId);

                order.Dishes.Add(new OrderDish {
                    Dish = dish
                });
            }
            await _ordersRepository.AddAsync(order);

            await UnitOfWork.CommitAsync();

            _eventsManager.EnqueueEvent(new OrderCreatedEvent());
        }
Example #4
0
        public async Task DeleteRefreshTokenAsync(Guid id)
        {
            await _refreshTokenRepository.Remove(id);

            await UnitOfWork.CommitAsync();
        }