public async Task <ProductDto> CreateProductAsync(ProductDto product, CancellationToken cancellationToken = default) { var add = _mapper.Map <Product>(product); _shopContext.Products.Add(add); await _shopContext.SaveChangesAsync(cancellationToken); return(_mapper.Map <ProductDto>(product)); }
/// <inheritdoc/> public async Task CreateShopTypeAsync(ShopType shopType) { var createShopType = Mapper.Map <ShopType, UpdateShopTypeRequest>(shopType); var dbShopType = Mapper.Map <UpdateShopTypeRequest, DbShopType>(createShopType); _context.ShopTypes.Add(dbShopType); await _context.SaveChangesAsync(); }
/// <inheritdoc/> public async Task SetStatusAsync(int shopId, bool deletedStatus) { var dbShops = await _context.Shops.Where(s => s.Id == shopId).ToArrayAsync(); if (dbShops.Length == 0) { throw new RequestedResourceNotFoundException(); } var dbShop = dbShops[0]; if (dbShop.IsDeleted != deletedStatus) { dbShop.IsDeleted = deletedStatus; await _context.SaveChangesAsync(); } }
public async Task <CommandResult <CreateCommandResult <Guid> > > Handle(CreateProductCommand request, CancellationToken cancellationToken) { var product = _mapper.Map <CreateProductCommand, Product>(request, Product.Create()); var saved = await _context.Products.AddAsync(product, cancellationToken); await _context.SaveChangesAsync(cancellationToken); return(CommandResult <CreateCommandResult <Guid> > .Ok(new CreateCommandResult <Guid>(saved.Entity.Id))); }
public async Task <CommandResult <CreateCommandResult <Guid> > > Handle(CreateOrderCommand request, CancellationToken cancellationToken) { var order = Order.Create(); var plis = request.Products.Select(p => ProductLineItem.Create(order.Id, p.Id, p.Quantity)).ToList(); await _context.Orders.AddAsync(order, cancellationToken); await _context.ProductLineItems.AddRangeAsync(plis, cancellationToken); await _context.SaveChangesAsync(cancellationToken); return(await Task.FromResult(CommandResult <CreateCommandResult <Guid> > .Ok(new CreateCommandResult <Guid>(order.Id)))); }
public async Task <Order> AddOrder([FromUri] InOrder order) { //TODO сделать добавление юзера, если его нету в бд Order dbOrder = _mapperService.Map(order); foreach (var productsId in order.Products) { var productInstances = await _context.ProductInstances .Where(o => o.ProductId == productsId.Key && o.OrderId == null) .Take(productsId.Value).ToListAsync(); productInstances.ForEach(o => { o.OrderId = dbOrder.Id; o.Order = dbOrder; }); } dbOrder.User = await _context.Users.FirstAsync(u => u.Username == order.Username); var output = _context.Orders.Add(dbOrder); await _context.SaveChangesAsync(); return(output); }