Example #1
0
        public async Task <ActionResult <VoucherResponseModel> > Accept(VoucherInputModel input)
        {
            var isValid = this.cardService.IsValid(input.NumberCode);

            var answer = new VoucherResponseModel
            {
                Message = string.Empty,
            };

            if (!isValid)
            {
                answer.Message = "This voucher is not valid!";

                return(answer);
            }

            await this.cardService.ApplyVoucher(this.User.Identity.Name, input.NumberCode);

            answer.Message = "Your voucher was accepted!";

            return(answer);
        }
        public async Task<List<VoucherResponseModel>> GetAllShoppingCardOperatorVouchers()
        {
            try
            {
                List<VoucherResponseModel> vouchers = new List<VoucherResponseModel>();
                using (var client = new HttpClient())
                {

                    #region login and get token
                    var logindata = string.Format("grant_type=password&username={0}&password={1}", USERNAME, PASSWORD);//LOGIN DATA

                    var url = BASEADDRESS + "token";

                    client.DefaultRequestHeaders.Accept.Clear();
                    client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));

                    HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Post, url);
                    request.Content = new StringContent(logindata, Encoding.UTF8, "application/x-www-form-urlencoded");

                    var resp = await client.PostAsync(url, request.Content);
                    Token token = new Token();
                    if (resp.IsSuccessStatusCode)
                    {
                        token = await resp.Content.ReadAsAsync<Token>();
                    }
                    #endregion login and get token

                    using (var httpClient = new HttpClient())
                    {
                        httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue(token.token_type, token.access_token);
                        httpClient.BaseAddress = new Uri(BASEADDRESS);

                        // New code:
                        HttpResponseMessage response = await httpClient.GetAsync("api/Services/GetServiceList");
                        if (response.IsSuccessStatusCode)
                        {
                            var result = await response.Content.ReadAsAsync<List<Service>>();

                            string[] OperatorTypes = new string[] { "AZ", "CU", "FB", "GB", "GK", "IK", "IG", "IN", "IP", "TI", "NF", "OC", "PS", "PW", "PK", "RZ", "RX", "SM" };


                            List<Service> operators = result.Where(x => x.OperatorType == "AZ" || x.OperatorType == "CU" || x.OperatorType == "FB" || x.OperatorType == "GP"
                            || x.OperatorType == "GK" || x.OperatorType == "IK" || x.OperatorType == "IG"

                            || x.OperatorType == "IN" || x.OperatorType == "IP" || x.OperatorType == "OC" || x.OperatorType == "PS" || x.OperatorType == "PW"
                           || x.OperatorType == "NP"

                             || x.OperatorType == "PK" || x.OperatorType == "TI" || x.OperatorType == "NF" || x.OperatorType == "MY" || x.OperatorType == "RZ" || x.OperatorType == "RX" || x.OperatorType == "SM").ToList();

                            //x.OperatorType == "IT"=null
                            foreach (var item in operators)
                            {
                                foreach (var card in item.DenomCollection)
                                {
                                    VoucherResponseModel model = new VoucherResponseModel();
                                    if (item.OperatorType == "AZ")
                                    {
                                        model.OperatorCode = item.OperatorType;
                                        model.ImageURL = "/Content/img/ShoppingCards/amazon-small.png";
                                    }
                                    else if (item.OperatorType == "CU")
                                    {
                                        model.OperatorCode = item.OperatorType;
                                        model.ImageURL = "/Content/img/ShoppingCards/cashu-small.png";
                                    }
                                    else if (item.OperatorType == "FB")
                                    {
                                        model.OperatorCode = item.OperatorType;
                                        model.ImageURL = "/Content/img/ShoppingCards/facebook-small.png";
                                    }
                                    else if (item.OperatorType == "GP")
                                    {
                                        model.OperatorCode = item.OperatorType;
                                        model.ImageURL = "/Content/img/ShoppingCards/google-play-small.png";
                                    }
                                    else if (item.OperatorType == "GK")
                                    {
                                        model.OperatorCode = item.OperatorType;
                                        model.ImageURL = "/Content/img/ShoppingCards/google-play-small.png";
                                    }
                                    else if (item.OperatorType == "IK")
                                    {
                                        model.OperatorCode = item.OperatorType;
                                        model.ImageURL = "/Content/img/ShoppingCards/inter-key.png";

                                    }
                                    else if (item.OperatorType == "IG")
                                    {
                                        model.OperatorCode = item.OperatorType;
                                        model.ImageURL = "/Content/img/ShoppingCards/isbre-small.png";
                                    }
                                    else if (item.OperatorType == "IN")
                                    {
                                        model.OperatorCode = item.OperatorType;
                                        model.ImageURL = "/Content/img/ShoppingCards//isbre-small.png";
                                    }
                                    else if (item.OperatorType == "IP")
                                    {
                                        model.OperatorCode = item.OperatorType;
                                        model.ImageURL = "/Content/img/ShoppingCards/isbre-small.png";
                                    }
                                    else if (item.OperatorType == "OC")
                                    {
                                        model.OperatorCode = item.OperatorType;
                                        model.ImageURL = "/Content/img/ShoppingCards/onecard-small.png";
                                    }
                                    else if (item.OperatorType == "PS")
                                    {
                                        model.OperatorCode = item.OperatorType;
                                        model.ImageURL = "/Content/img/ShoppingCards/playstation-small.png";
                                    }
                                    else if (item.OperatorType == "PW")
                                    {
                                        model.OperatorCode = item.OperatorType;
                                        model.ImageURL = "/Content/img/ShoppingCards/playstation-small.png";
                                    }
                                    else if (item.OperatorType == "PK")
                                    {
                                        model.OperatorCode = item.OperatorType;
                                        model.ImageURL = "/Content/img/ShoppingCards/playstation-small.png";
                                    }
                                    else if (item.OperatorType == "TI")
                                    {
                                        model.OperatorCode = item.OperatorType;
                                        model.ImageURL = "/Content/img/ShoppingCards/iTunes-small.png";
                                    }
                                    else if (item.OperatorType == "IT")
                                    {
                                        model.OperatorCode = item.OperatorType;
                                        model.ImageURL = "/Content/img/ShoppingCards/iTunes-small.png";
                                    }
                                    else if (item.OperatorType == "NF")
                                    {
                                        model.OperatorCode = item.OperatorType;
                                        model.ImageURL = "/Content/img/ShoppingCards/netflix-small.png";
                                    }
                                    else if (item.OperatorType == "RZ")
                                    {
                                        model.OperatorCode = item.OperatorType;
                                        model.ImageURL = "/Content/img/ShoppingCards/Rapplez-small.png";
                                    }
                                    else if (item.OperatorType == "RX")
                                    {
                                        model.OperatorCode = item.OperatorType;
                                        model.ImageURL = "/Content/img/ShoppingCards/Rapplez.png";
                                    }
                                    else if (item.OperatorType == "SM")
                                    {
                                        model.OperatorCode = item.OperatorType;
                                        model.ImageURL = "/Content/img/ShoppingCards/steam-small.png";
                                    }
                                    else if (item.OperatorType == "NF")
                                    {
                                        model.OperatorCode = item.OperatorType;
                                        model.ImageURL = "/Content/img/ShoppingCards/netflix-small.png";
                                    }
                                    model.Amount = card.Denom;
                                    vouchers.Add(model);
                                }
                            }

                        }

                    }
                }
                return vouchers;
            }
            catch (Exception ex)
            {

                throw ex;
            }


        }