Browse Source

add method return count products in auction

DarkGolly 4 years ago
parent
commit
df77b9b655

+ 4 - 4
CardCollector/Controllers/AuctionController.cs

@@ -34,12 +34,12 @@ namespace CardCollector.Controllers
             user.Cash.Coins += price * count;
             return ResultCode.Ok;
         }
-
+        
+        //TODO вернуть количество стикера на аукционе по его id
         public static async Task<int> GetStickerCount(string stickerId)
         {
-            
-            //TODO вернуть количество стикера на аукционе по его id
-            return 0;
+            var count = await AuctionDao.GetProduct(stickerId);
+            return count;
         }
 
         public static async Task<List<StickerEntity>> GetStickers(string filter)

+ 2 - 2
CardCollector/DataBase/Entity/AuctionEntity.cs

@@ -8,7 +8,7 @@ namespace CardCollector.DataBase.Entity
     public class AuctionEntity
     {
         /* id стикера */
-        [Column("id"), MaxLength(127)] public long Id { get; set; }
+        [Column("id"), MaxLength(127)] public string Id { get; set; }
         
         /* цена  */
         [Column("price"), MaxLength(32)] public int Price { get; set; }
@@ -20,7 +20,7 @@ namespace CardCollector.DataBase.Entity
         [Column("quantity"), MaxLength(32)] public int Quantity { get; set; }
         
         /* продавец */
-        [Column("trader"), MaxLength(256)] public string Trader { get; set; }
+        [Column("trader"), MaxLength(127)] public long Trader { get; set; }
         
     }
 }

+ 20 - 3
CardCollector/DataBase/EntityDao/AuctionDao.cs

@@ -1,4 +1,5 @@
-using CardCollector.DataBase.Entity;
+using System.Threading.Tasks;
+using CardCollector.DataBase.Entity;
 using Microsoft.EntityFrameworkCore;
 
 namespace CardCollector.DataBase.EntityDao
@@ -6,7 +7,23 @@ namespace CardCollector.DataBase.EntityDao
     public static class AuctionDao
     {
         /* Таблица stickers в представлении Entity Framework */
-        private static readonly DbSet<StickerEntity> Table = CardCollectorDatabase.Instance.Stickers;
-        
+        private static readonly DbSet<AuctionEntity> Table = CardCollectorDatabase.Instance.Auction;
+
+
+        public static async Task<int> GetProduct(string stickerId)
+        {
+            int result = 0;
+            var products = AuctionDao.Table;
+
+            await foreach (var variable in products)
+            {
+                if (variable.Id == stickerId)
+                {
+                    result++;
+                }
+            }
+            return result;
+        }
+
     }
 }