Esempio n. 1
0
        public async Task <ResponseModel> InsertUpdate(CardInputViewModel cardInputViewModel)
        {
            try
            {
                var validateCard = ValidateCard(cardInputViewModel.cardNumber, cardInputViewModel.expiryDate);
                if (validateCard.result == "Valid")
                {
                    CardNumber   cardNumber   = new CardNumber();
                    var          cardType     = validateCard.CardType;
                    CardTypeEnum cardTypeEnum = cardType.ToEnum <CardTypeEnum>();
                    var          cardNum      = await cardNumberRepo.Table.Where(x => x.CNumber == cardInputViewModel.cardNumber).SingleOrDefaultAsync();

                    if (cardNum == null)
                    {
                        cardNumber.Id         = 0;
                        cardNumber.CNumber    = cardInputViewModel.cardNumber;
                        cardNumber.CardTypeId = (long)cardTypeEnum;
                        cardNumber.Expiry     = cardInputViewModel.expiryDate;
                        cardNumber.Active     = true;
                        cardNumber.Created    = DateTime.Now;
                        cardNumber.Modified   = DateTime.Now;
                        cardNumber.Author     = 1;
                        cardNumber.Editor     = 1;
                    }

                    else
                    {
                        cardNumber.Id         = cardNum.Id;
                        cardNumber.CNumber    = cardInputViewModel.cardNumber;
                        cardNumber.CardTypeId = (long)cardTypeEnum;
                        cardNumber.Expiry     = cardInputViewModel.expiryDate;
                        cardNumber.Active     = true;
                        cardNumber.Created    = cardNum.Created;
                        cardNumber.Modified   = DateTime.Now;
                        cardNumber.Author     = cardNum.Author;
                        cardNumber.Editor     = 1;
                    }
                    var result = cardRepo.InsertUpdate(cardNumber);
                    return(HelperClass.Response(true
                                                , GlobalDecleration._savedSuccesfully
                                                , result
                                                ));
                }
                else
                {
                    return(HelperClass.Response(false
                                                , GlobalDecleration._internalServerError
                                                , "Invalid Card"
                                                ));
                }
            }
            catch (Exception ex)
            {
                ExceptionHandle.PrintException(ex);
                return(HelperClass.Response(false,
                                            GlobalDecleration._internalServerError,
                                            null
                                            ));
            }
        }
Esempio n. 2
0
        public async Task <ResponseModel> CheckValidateCard(CardInputViewModel cardInputViewModel)
        {
            try
            {
                var result = ValidateCard(cardInputViewModel.cardNumber, cardInputViewModel.expiryDate);
                if (result.result == "Valid")
                {
                    var cardNumber = await cardNumberRepo.Table.Where(x => x.CNumber == cardInputViewModel.cardNumber).SingleOrDefaultAsync();

                    if (cardNumber == null)
                    {
                        result.result = "Does not exist";
                    }
                }
                return(HelperClass.Response(true
                                            , GlobalDecleration._successAction
                                            , result
                                            ));
            }
            catch (Exception ex)
            {
                ExceptionHandle.PrintException(ex);
                return(HelperClass.Response(false,
                                            GlobalDecleration._internalServerError,
                                            null
                                            ));
            }
        }
Esempio n. 3
0
        public async Task <ResponseModel> SaveCardNumber(CardInputViewModel cardInputViewModel)
        {
            try
            {
                var validateCard = ValidateCard(cardInputViewModel.cardNumber, cardInputViewModel.expiryDate);
                if (validateCard.result == "Valid")
                {
                    var cardType = validateCard.CardType;
                    var cardNum  = await cardNumberRepo.Table.Where(x => x.CNumber == cardInputViewModel.cardNumber).SingleOrDefaultAsync();

                    if (cardNum == null)
                    {
                        CardTypeEnum cardTypeEnum = validateCard.CardType.ToEnum <CardTypeEnum>();
                        CardNumber   cardNumber   = new CardNumber
                        {
                            Id         = 0,
                            CNumber    = cardInputViewModel.cardNumber,
                            CardTypeId = (long)cardTypeEnum,
                            Active     = true,
                            Created    = DateTime.Now,
                            Modified   = DateTime.Now,
                            Author     = 1,
                            Editor     = 1
                        };
                        await cardNumberRepo.Insert(cardNumber);
                    }
                    else
                    {
                        CardTypeEnum cardTypeEnum = cardInputViewModel.cardNumber.ToEnum <CardTypeEnum>();
                        CardNumber   cardNumber   = new CardNumber
                        {
                            Id         = cardNum.Id,
                            CNumber    = cardInputViewModel.cardNumber,
                            CardTypeId = (long)cardTypeEnum,
                            Active     = true,
                            Created    = cardNum.Created,
                            Modified   = DateTime.Now,
                            Author     = cardNum.Author,
                            Editor     = 1
                        };
                        await cardNumberRepo.Update(cardNumber);
                    }
                }
                return(HelperClass.Response(true
                                            , GlobalDecleration._successAction
                                            , null
                                            ));
            }
            catch (Exception ex)
            {
                ExceptionHandle.PrintException(ex);
                return(HelperClass.Response(false,
                                            GlobalDecleration._internalServerError,
                                            null
                                            ));
            }
        }
Esempio n. 4
0
        public async Task <ResponseModel> CheckValidateCardSP(CardInputViewModel cardInputViewModel)
        {
            try
            {
                IEnumerable <string> cardTypes =
                    cardRepo.ValidateCardWithStoreProcedure(
                        "EXEC [dbo].[validateCardType] @CNumber",
                        new SqlParameter("@CNumber", SqlDbType.NVarChar)
                {
                    Value = cardInputViewModel.cardNumber
                }
                        );

                var cardType = "";
                if (cardTypes != null)
                {
                    cardType = cardTypes.Take(1).FirstOrDefault();
                }


                CardResponse cardResponse = new CardResponse
                {
                    result   = "",
                    CardType = cardType
                };

                return(HelperClass.Response(true
                                            , GlobalDecleration._successAction
                                            , cardResponse
                                            ));
            }
            catch (Exception ex)
            {
                ExceptionHandle.PrintException(ex);
                return(HelperClass.Response(false,
                                            GlobalDecleration._internalServerError,
                                            null
                                            ));
            }
        }
Esempio n. 5
0
 public async Task <IHttpActionResult> CheckCardUsingSP(CardInputViewModel cardInputViewModel)
 {
     return(Ok(await cardService.CheckValidateCardSP(cardInputViewModel)));
 }
Esempio n. 6
0
 public async Task <IHttpActionResult> SaveCardNumber(CardInputViewModel cardInputViewModel)
 {
     return(Ok(await cardService.SaveCardNumber(cardInputViewModel)));
 }
Esempio n. 7
0
 public async Task <IHttpActionResult> SaveCardNumberBySP(CardInputViewModel cardInputViewModel)
 {
     return(Ok(await cardService.InsertUpdate(cardInputViewModel)));
 }