Пример #1
0
        public async Task <OpResult <Gramercy> > GetRandomGramercyAsync(string twitterId)
        {
            OpResult <Gramercy> result = new OpResult <Gramercy>();

            try
            {
                FaunaContext      faunaContext           = new FaunaContext();
                OpResults <Value> userGrammerciesResults = await faunaContext.GetGramerciesByRecipientIdAsync(twitterId);

                if (userGrammerciesResults.Code != Constants.Enums.OperationResultCode.Success)
                {
                    result.CopyFrom(userGrammerciesResults);
                    return(result);
                }

                if (userGrammerciesResults.Results.Count() > 0)
                {
                    Random rando = new Random();
                    result.Result = userGrammerciesResults.Results
                                    .ElementAt(rando.Next(0, userGrammerciesResults.Results.Count() - 1))
                                    .ToGramercy();
                }
            }
            catch (Exception ex)
            {
                result.FromException(ex);
            }

            return(result);
        }
Пример #2
0
        public async Task <OpResults <Gramercy> > GetGramerciesByRecipientIdAsync(string recipientId)
        {
            OpResults <Gramercy> results = new OpResults <Gramercy>();

            try
            {
                FaunaContext      faunaContext        = new FaunaContext();
                OpResults <Value> userGramercyResults = await faunaContext.GetGramerciesByRecipientIdAsync(recipientId);

                if (userGramercyResults.Code != Constants.Enums.OperationResultCode.Success)
                {
                    results.CopyFrom(userGramercyResults);
                    return(results);
                }

                results.Results = userGramercyResults.Results.Select(s => s.ToGramercy()).ToList();
            }
            catch (Exception ex)
            {
                results.FromException(ex);
            }

            return(results);
        }