Ejemplo n.º 1
0
        /// <summary>
        /// получаем карты из колоды
        /// </summary>
        public static ResultModel ApiGetCardsFromPack(int count, int userId, int sessionId)
        {
            try {
                var workModel = CardManager.Sessions.FirstOrDefault(a => a.SessionId == sessionId)?.MainPackModel;

                if (workModel == null)
                {
                    return(new ResultModel(false, "sessionId is wrong"));
                }
                if (workModel.Cards.Count(a => a.Status == CardStatusEnum.Free) > 0)
                {
                    MainInternalManager.GetCarFromPack(count, userId, sessionId);
                    var result = new MainGameModel(CardManager.Sessions.First(a => a.SessionId == sessionId));

                    return(new ResultModel(true, result));
                }
                return(new ResultModel(false, "Не осталось карт в колоде"));
            } catch (Exception ex) {
                Logger.Error($"ApiGetCardsFromPack {ex.Message}");
                return(new ResultModel(false, ex.Message));
            }
        }
Ejemplo n.º 2
0
        /// <summary>
        /// отправляем карты определенного пользователя в сброс
        /// </summary>
        public static ResultModel ApiPutCardsInSbros(string data)
        {
            try {
                /// проверочки
                var model = JsonConvert.DeserializeObject <ApiPutCardsInSbros>(data);
                if (model == null)
                {
                    return(new ResultModel(false, "model is null"));
                }
                var workModel = CardManager.Sessions.FirstOrDefault(a => a.SessionId == model.SessionId).MainPackModel;
                if (!workModel.Users.Any(a => a.UserId == model.UserId))
                {
                    return(new ResultModel(false, "пользователь вообще не найден"));
                }

                MainInternalManager.PutCardInSbros(model.UserId, model.CardsId, model.SessionId);

                var result = new MainGameModel(CardManager.Sessions.First(a => a.SessionId == model.SessionId));
                return(new ResultModel(true, result));
            } catch (Exception ex) {
                Logger.Error($"ApiPutCardsInSbros {ex.Message}");
                return(new ResultModel(false, ex.Message));
            }
        }