public async Task <StockItem> Create(string equipmentId, StockItemCreate create)
        {
            Equipment eq = await _equipment.Find <Equipment>(equipment => equipment.Id == equipmentId).FirstOrDefaultAsync();

            if (eq.Stock == null)
            {
                List <StockItem> stock   = new List <StockItem>();
                StockItem        created = StockItem.FromCreate(create);
                created.StockId = ObjectId.GenerateNewId().ToString();
                stock.Add(created);
                Equipment equipment = Equipment.FromUpdateStock(eq, stock);
                await _equipment.ReplaceOneAsync(equipment => equipment.Id == equipmentId, equipment);

                return(created);
            }
            else
            {
                List <StockItem> stock   = eq.Stock;
                StockItem        created = StockItem.FromCreate(create);
                created.StockId = ObjectId.GenerateNewId().ToString();
                stock.Add(created);
                Equipment equipment = Equipment.FromUpdateStock(eq, stock);
                await _equipment.ReplaceOneAsync(equipment => equipment.Id == equipmentId, equipment);

                return(created);
            }
        }