private async Task Restock(Pharmacy pharmacy, RequiredMedicamentAmount requiredAmount, ProductBalance productInPharmacy) { var orderDto = await CreateOrderDTO(requiredAmount, productInPharmacy); try { await _ordersManager.TryCreateOrder(orderDto, pharmacy.Id); } catch (DuplicateObjectException ex) { var order = await Context.Orders .Where(o => o.Id == ex.Id) .Include(o => o.OrderProductBalances) .ThenInclude(opb => opb.ProductBalance) .FirstOrDefaultAsync(); order.UpdateFromDTO(await _ordersManager.CreateProductBalanceList(orderDto.Products)); await Context.SaveChangesAsync(); } }