コード例 #1
0
        public async Task <ServiceResult> Replicate()
        {
            var           mItemsResult = MemoryStorageService.GetFromMemory() as ServiceResult <List <GameResult> >;
            ServiceResult replResult   = null;

            if (mItemsResult.IsValid)
            {
                if (mItemsResult.Data.Count() == 0)
                {
                    return(new ServiceResult().Valid());
                }
                else
                {
                    replResult = ReplicationService.Replicate(mItemsResult.Data);
                }
            }

            if (replResult.IsValid)
            {
                MemoryStorageService.DeleteFromMemory(mItemsResult.Data);

                return(new ServiceResult().Valid());
            }
            else
            {
                return(new ServiceResult().Invalid());
            }
        }
コード例 #2
0
        public async Task <ServiceResult> Save(SaveGameResultMessage message)
        {
            var gameResults = Mapper.Map <List <GameResult> >(message);

            var errorMessages = new List <string>();
            var allValid      = true;

            gameResults.ForEach(x =>
            {
                var result = Validator.Validate(x);
                errorMessages.AddRange(result.Errors?.Select(e => e.ErrorMessage));
                allValid = allValid && result.IsValid;
            });

            if (!allValid)
            {
                return(new ServiceResult().Invalid().WithErrors(errorMessages));
            }

            var response = MemoryStorageService.StoreInMemory(gameResults);

            return(response);
        }