Browse Source

add method buyCard in auction

DarkGolly 4 years ago
parent
commit
b2a8819a9c

+ 8 - 4
CardCollector/Auction/AuctionController.cs

@@ -17,16 +17,20 @@ namespace CardCollector.Auction
         {
             if (count > user.Stickers[stickerShortHashCode].Count)
                 return ResultCode.NotEnoughStickers;
-            var summa = price * count;
             //подтверждаем действие
             user.Stickers[stickerShortHashCode].Count -= count;
-            user.Cash.Coins += summa;
+            user.Cash.Coins += price * count;
             return ResultCode.Ok;
         }
         
-        private static async void BuyCard()
+        private static async Task<ResultCode> BuyCard(UserEntity user, string stickerShortHashCode, int price, int count = 1)
         {
-            
+            if (user.Cash.Coins < count * price)
+                return ResultCode.NotEnoughCash;
+            //подтверждаем действие
+            user.Stickers[stickerShortHashCode].Count += count;
+            user.Cash.Coins += price * count;
+            return ResultCode.Ok;
         }
     }
 }

+ 3 - 0
CardCollector/Resources/ResultCode.cs

@@ -7,6 +7,9 @@
         // Недостаточное количество стикеров
         NotEnoughStickers,
         
+        // Недостаточно средств
+        NotEnoughCash,
+        
         // Действие завершилось без ошибок
         Ok,
     }