Exemple #1
0
        public ApiResult <Account> GetById(string accountId)
        {
            if (accountId == null)
            {
                return(ApiResult <Account> .CreateFailed(
                           Constants.ApiResultCode.BadRequest, $"Null {nameof(accountId)}"));
            }

            // SELECT FROM Account
            IQueryable <Account> accountResultSearch = _dbContext.Set <Account>().AsQueryable().Where(a => a.AccountId == accountId);
            var account = accountResultSearch.Include(c => c.Cards).SingleOrDefault();

            if (account == null)
            {
                return(new ApiResult <Account>()
                {
                    Code = Constants.ApiResultCode.NotFound,
                    ErrorText = $"Customer {accountId} was not found"
                });
            }
            else
            {
                return(new ApiResult <Account>()
                {
                    Data = account
                });
            }
        }
Exemple #2
0
        //private string CardNumberGenerator()
        //{
        //    Random random = new Random();
        //    string cardNum = string.Empty;
        //    for (int j = 0; j < random.Next(3) + 13; j++) {
        //        cardNum += random.Next(0, 10).ToString();
        //    }
        //    return cardNum;
        //}

        public ApiResult <Card> GetById(Guid?cardId)
        {
            if (cardId == null)
            {
                return(ApiResult <Card> .CreateFailed(
                           Constants.ApiResultCode.BadRequest, $"Null {nameof(cardId)}"));
            }

            IQueryable <Card> cardsSearchRes = _dbContext.Set <Card>().AsQueryable().Where(a => a.CardId == cardId);
            var card = cardsSearchRes.SingleOrDefault();

            if (card == null)
            {
                return(ApiResult <Card> .CreateFailed(
                           Constants.ApiResultCode.NotFound, $"CardId {cardId} was not found"));
            }
            return(new ApiResult <Card>()
            {
                Data = card
            });
        }
Exemple #3
0
        public ApiResult <Card> GetByNumber(string cardnumber)
        {
            if (string.IsNullOrWhiteSpace(cardnumber))
            {
                return(new ApiResult <Card>()
                {
                    Code = ApiResultCode.BadRequest,
                    ErrorText = $"Invalid cardnumber"
                });
            }

            try {
                var card = _dbContext.Set <Card>()
                           .Where(c => c.CardNumber == cardnumber)
                           .Include(c => c.Accounts)
                           .SingleOrDefault();

                if (card == null)
                {
                    return(new ApiResult <Card>()
                    {
                        Code = ApiResultCode.NotFound,
                        ErrorText = $"card doesn't exist"
                    });
                }

                return(new ApiResult <Card>()
                {
                    Data = card,
                    ErrorText = "",
                    Code = ApiResultCode.Success
                });
            }
            catch (Exception) {
                return(new ApiResult <Card>()
                {
                    Code = ApiResultCode.InternalServerError,
                    ErrorText = $"Internal error"
                });
            }
        }
Exemple #4
0
        public IQueryable <Account> Search(SearchAccountOptions options)
        {
            if (options == null)
            {
                throw new ArgumentNullException(nameof(options));
            }

            // SELECT FROM CUSTOMER
            var q = _dbContext.Set <Account>()
                    .AsQueryable();

            // SELECT FROM CUSTOMER WHERE CustomerId = options.CustomerId
            if (!string.IsNullOrWhiteSpace(options.AccountId))
            {
                q = q.Where(a => a.AccountId == options.AccountId);
            }

            // SELECT FROM CUSTOMER WHERE CustomerId = options.CustomerId
            // AND VatNumber = options.VatNumber
            if (options.CustomerId != Guid.Parse("00000000-0000-0000-0000-000000000000"))
            {
                q = q.Where(a => a.CustomerId == options.CustomerId);
            }


            if (options.TrackResults != null &&
                !options.TrackResults.Value)
            {
                q = q.AsNoTracking();
            }

            if (options.Skip != null)
            {
                q = q.Skip(options.Skip.Value);
            }

            q = q.Take(options.MaxResults ?? 500);

            return(q);
        }
Exemple #5
0
        private Card GetByCardNumber(string cardNumber)
        {
            var card = _dbContext.Set <Card>().AsQueryable().Where(c => c.CardNumber == cardNumber).Include(c => c.Accounts).SingleOrDefault();

            return(card);
        }