Пример #1
0
        public async Task <String> CustomerInformation()
        {
            string        response            = string.Empty;
            XmlDocument   docCustomer         = new XmlDocument();
            List <string> configs             = new List <string>();
            string        customerGetAPI      = _configuration.GetSection("configvalues").GetSection("CustomerGetApi").Value;
            string        TranscationPost     = _configuration.GetSection("configvalues").GetSection("TranscationPost").Value;
            string        VoucherIsreedemable = _configuration.GetSection("configvalues").GetSection("VoucherIsreedemable").Value;

            string VoucherRedeem = _configuration.GetSection("configvalues").GetSection("VoucherRedeem").Value;

            string VoucherGET = _configuration.GetSection("configvalues").GetSection("VoucherGET").Value;

            string username = _configuration.GetSection("configvalues").GetSection("RKeeperUserName").Value;


            string password = _configuration.GetSection("configvalues").GetSection("RKeeperUserPasswrod").Value;

            configs.Add(customerGetAPI);
            configs.Add(TranscationPost);
            configs.Add(VoucherIsreedemable);
            configs.Add(VoucherRedeem);
            configs.Add(VoucherGET);
            configs.Add(username);
            configs.Add(password);
            HttpResponseMessage resp = new HttpResponseMessage(HttpStatusCode.OK);

            //StreamReader sr = new StreamReader(await this.Request.Content.ReadAsStreamAsync(), Encoding.UTF8, true);
            using (StreamReader sr = new StreamReader(Request.Body, Encoding.UTF8))
            {
                var    result = sr.ReadToEndAsync();
                string xml    = result.Result;
                if (xml == null || xml.Length < 4)
                {
                    throw new System.Exception("Invalid XML");
                }
                RKeeperRequest request = xml.DeserializerXml <RKeeperRequest>();
                //  doc = await Task.Run(() => Rkeeper.PosttransctionAsync(transactionrequest, configs));
                //  docCustomer = Rkeeper.GetMember(request, configs);
                docCustomer = await Task.Run(() => Rkeeper.GetMemberAsync(request, configs));
            }
            if (docCustomer == null)
            {
                docCustomer = new XmlDocument();
            }
            else
            {
                XmlNode node = docCustomer.SelectSingleNode("/Root");
                node.Attributes.RemoveAll();
            }
            return(docCustomer.InnerXml.Replace("utf-16", "utf-8"));
        }
Пример #2
0
 public static async Task <XmlDocument> GetMemberAsync(RKeeperRequest search_Request, List <string> configs)
 {
     return(await Task.Run(() => GetMember(search_Request, configs)));
 }
Пример #3
0
        public static XmlDocument GetMember(RKeeperRequest search_Request, List <string> configs)
        {
            Logger _logger = LogManager.GetCurrentClassLogger();

            _logger.Info("Enter GetMember");
            DateTime    CurrentTime         = DateTime.Now;
            ApiLayer    api_Layer           = new ApiLayer();
            string      getCustomerResponse = string.Empty;
            VIG_request VIG_request         = new VIG_request();
            User        user = new User();
            POSTRKeeperCustomerResponse response = new POSTRKeeperCustomerResponse();

            try
            {
                //ApiIdentity identity = (ApiIdentity)System.Web.HttpContext.Current.User.Identity;
                //username = identity.User.UserName;
                //password = identity.User.Password;
                var    client                 = new RestAPIRestClient(configs[0], HttpVerb.GET);
                Match  mobileRegex            = Regex.Match(search_Request.QRY.Card, @"(\d{7,})");
                string mobileRegexCountryCode = search_Request.QRY.Card.Substring(0, 2);
                //  Match mobileRegexCountryCode = Regex.Match(search_Request.QRY.Card, @"^(84)([0-2]{7})$");
                Match voucherRegex = Regex.Match(search_Request.QRY.Card, @"(\d{6})");
                if (!string.IsNullOrEmpty(search_Request.QRY.Card))
                {
                    if (mobileRegex.Success == true && mobileRegexCountryCode == "84")
                    {
                        client.MakeRequest("&mobile=" + search_Request.QRY.Card, VIG_request, configs[5], configs[6]);
                        if (!string.IsNullOrEmpty(VIG_request.ApiResponse))
                        {
                            _logger.Info("Capillary Response : " + VIG_request.ApiResponse);
                            ISG_VIG_Brands.Models.Customers.GetCustomerResponse customerGetResponse = JsonConvert.DeserializeObject <ISG_VIG_Brands.Models.Customers.GetCustomerResponse>(VIG_request.ApiResponse);

                            if (customerGetResponse.response.status.code == 200)
                            {
                                try
                                {
                                    if (customerGetResponse != null)
                                    {
                                        response.GetCardInfoEx.CardCode   = customerGetResponse.response.customers.customer[0].mobile;
                                        response.GetCardInfoEx.Account    = "0";
                                        response.GetCardInfoEx.Deleted    = "0";
                                        response.GetCardInfoEx.Locked     = "0";
                                        response.GetCardInfoEx.Seize      = "0";
                                        response.GetCardInfoEx.Discount   = "99";
                                        response.GetCardInfoEx.Bonus      = "0";
                                        response.GetCardInfoEx.DiscLimit  = "999999999999";
                                        response.GetCardInfoEx.Holder     = customerGetResponse.response.customers.customer[0].firstname + " " + customerGetResponse.response.customers.customer[0].lastname;
                                        response.GetCardInfoEx.DopInfo    = "";
                                        response.GetCardInfoEx.Sum2       = "0";
                                        response.GetCardInfoEx.Sum3       = "0";
                                        response.GetCardInfoEx.Sum4       = "0";
                                        response.GetCardInfoEx.Sum5       = "0";
                                        response.GetCardInfoEx.Sum6       = "0";
                                        response.GetCardInfoEx.Sum7       = "0";
                                        response.GetCardInfoEx.Sum8       = "0";
                                        response.GetCardInfoEx.DopInfo    = "";
                                        response.GetCardInfoEx.WhyLock    = "";
                                        response.GetCardInfoEx.ScrMessage = "** Message for SCREEN **";
                                        response.GetCardInfoEx.PrnMessage = "* Message for PRINT *";
                                        response.GetCardInfoEx.Result     = "0";
                                        response.GetCardInfoEx.OutBuf     = null;
                                    }
                                }
                                catch (Exception ex)
                                {
                                    throw;
                                }
                            }
                            else
                            {
                                try
                                {
                                    if (customerGetResponse != null)
                                    {
                                        _logger.Info("Customer not found , card number :" + search_Request.QRY.Card);
                                        response.GetCardInfoEx.CardCode   = search_Request.QRY.Card;
                                        response.GetCardInfoEx.Account    = "0";
                                        response.GetCardInfoEx.Deleted    = "0";
                                        response.GetCardInfoEx.Locked     = "0";
                                        response.GetCardInfoEx.Seize      = "0";
                                        response.GetCardInfoEx.Discount   = "99";
                                        response.GetCardInfoEx.Bonus      = "0";
                                        response.GetCardInfoEx.DiscLimit  = "999999999999";
                                        response.GetCardInfoEx.Holder     = customerGetResponse.response.customers.customer[0].firstname + " " + customerGetResponse.response.customers.customer[0].lastname;
                                        response.GetCardInfoEx.DopInfo    = "";
                                        response.GetCardInfoEx.Sum2       = "0";
                                        response.GetCardInfoEx.Sum3       = "0";
                                        response.GetCardInfoEx.Sum4       = "0";
                                        response.GetCardInfoEx.Sum5       = "0";
                                        response.GetCardInfoEx.Sum6       = "0";
                                        response.GetCardInfoEx.Sum7       = "0";
                                        response.GetCardInfoEx.Sum8       = "0";
                                        response.GetCardInfoEx.DopInfo    = "";
                                        response.GetCardInfoEx.WhyLock    = "";
                                        response.GetCardInfoEx.ScrMessage = "** Message for SCREEN **";
                                        response.GetCardInfoEx.PrnMessage = "* Message for PRINT *";
                                        response.GetCardInfoEx.Result     = "1";
                                        response.GetCardInfoEx.OutBuf     = null;
                                    }
                                }
                                catch (Exception ex)
                                {
                                    throw;
                                }
                            }
                        }
                    }
                    else

                    {
                        //This is voucher
                        string mobile = string.Empty;
                        client = new RestAPIRestClient(configs[4], HttpVerb.GET);
                        client.MakeRequest("&code=" + search_Request.QRY.Card, VIG_request, configs[5], configs[6]);
                        if (!string.IsNullOrEmpty(VIG_request.ApiResponse))
                        {
                            // Models.Voucher.Response customerGetResponse = JsonConvert.DeserializeObject<Models.Voucher.Response>(VIG_request.ApiResponse);
                            // string responseCode = VIG_request.ApiResponse;
                            XmlDocument docResponse = new XmlDocument();
                            docResponse.LoadXml(VIG_request.ApiResponse);

                            string status = docResponse.SelectSingleNode("//response//status//code").InnerText;
                            if (status == "200")
                            {
                                mobile = docResponse.SelectSingleNode("//response//coupons//coupon//customer//mobile").InnerText;
                            }
                            if (!string.IsNullOrEmpty(status) && status == "200")
                            {
                                VIG_request = new VIG_request();
                                client      = new RestAPIRestClient(configs[2], HttpVerb.GET);
                                //client.MakeRequest("&mobile=" + request.mobile + "&code=" + request.coupon_code + "&details=extended"
                                client.MakeRequest("&mobile=" + mobile + "&code=" + search_Request.QRY.Card + "&details=extended", VIG_request, configs[5], configs[6]);
                                XmlDocument docIsReedeem = new XmlDocument();
                                docIsReedeem.LoadXml(VIG_request.ApiResponse);
                                string isRedeemstatus = docIsReedeem.SelectSingleNode("//response//status//code").InnerText;
                                if (isRedeemstatus == "200")
                                {
                                    string  isDiscountCoupon = docIsReedeem.SelectSingleNode("//response//coupons//redeemable//series_info//discount_code").InnerText;
                                    decimal sum8             = Convert.ToDecimal(docIsReedeem.SelectSingleNode("//response//coupons//redeemable//series_info//discount_value").InnerText) * 100;

                                    if (isDiscountCoupon == "xyz_123")
                                    {
                                        response.GetCardInfoEx.CardCode   = search_Request.QRY.Card;
                                        response.GetCardInfoEx.Account    = "0";
                                        response.GetCardInfoEx.Deleted    = "0";
                                        response.GetCardInfoEx.Locked     = "0";
                                        response.GetCardInfoEx.Seize      = "0";
                                        response.GetCardInfoEx.Discount   = "0";
                                        response.GetCardInfoEx.Bonus      = "0";
                                        response.GetCardInfoEx.Summa      = "0";
                                        response.GetCardInfoEx.DiscLimit  = "999999999999";
                                        response.GetCardInfoEx.Holder     = docIsReedeem.SelectSingleNode("//response//coupons//redeemable//series_info//description").InnerText;
                                        response.GetCardInfoEx.DopInfo    = "";
                                        response.GetCardInfoEx.Sum2       = "0";
                                        response.GetCardInfoEx.Sum3       = "0";
                                        response.GetCardInfoEx.Sum4       = "0";
                                        response.GetCardInfoEx.Sum5       = "0";
                                        response.GetCardInfoEx.Sum6       = "0";
                                        response.GetCardInfoEx.Sum7       = "0";
                                        response.GetCardInfoEx.Sum8       = Convert.ToString(sum8);
                                        response.GetCardInfoEx.DopInfo    = "";
                                        response.GetCardInfoEx.WhyLock    = "";
                                        response.GetCardInfoEx.ScrMessage = "** Message for SCREEN **";
                                        response.GetCardInfoEx.PrnMessage = "* Message for PRINT *";
                                        response.GetCardInfoEx.Result     = "0";
                                        response.GetCardInfoEx.OutBuf     = null;
                                    }
                                    else
                                    {
                                        response.GetCardInfoEx.CardCode   = search_Request.QRY.Card;
                                        response.GetCardInfoEx.Account    = "0";
                                        response.GetCardInfoEx.Deleted    = "0";
                                        response.GetCardInfoEx.Locked     = "0";
                                        response.GetCardInfoEx.Seize      = "0";
                                        response.GetCardInfoEx.Discount   = isDiscountCoupon;
                                        response.GetCardInfoEx.Bonus      = "0";
                                        response.GetCardInfoEx.DiscLimit  = "999999999999";
                                        response.GetCardInfoEx.Holder     = docIsReedeem.SelectSingleNode("//response//coupons//redeemable//series_info//description").InnerText;;
                                        response.GetCardInfoEx.DopInfo    = "";
                                        response.GetCardInfoEx.Sum2       = "0";
                                        response.GetCardInfoEx.Sum3       = "0";
                                        response.GetCardInfoEx.Sum4       = "0";
                                        response.GetCardInfoEx.Sum5       = "0";
                                        response.GetCardInfoEx.Sum6       = "0";
                                        response.GetCardInfoEx.Sum7       = "0";
                                        response.GetCardInfoEx.Sum8       = "0";
                                        response.GetCardInfoEx.DopInfo    = "";
                                        response.GetCardInfoEx.WhyLock    = "";
                                        response.GetCardInfoEx.ScrMessage = "** Message for SCREEN **";
                                        response.GetCardInfoEx.PrnMessage = "* Message for PRINT *";
                                        response.GetCardInfoEx.Result     = "0";
                                        response.GetCardInfoEx.OutBuf     = null;
                                    }
                                }
                                else
                                {
                                    response.GetCardInfoEx.CardCode   = search_Request.QRY.Card;
                                    response.GetCardInfoEx.Account    = "0";
                                    response.GetCardInfoEx.Deleted    = "0";
                                    response.GetCardInfoEx.Locked     = "1";
                                    response.GetCardInfoEx.Seize      = "0";
                                    response.GetCardInfoEx.Discount   = "0";
                                    response.GetCardInfoEx.Bonus      = "0";
                                    response.GetCardInfoEx.Summa      = "0";
                                    response.GetCardInfoEx.DiscLimit  = "999999999999";
                                    response.GetCardInfoEx.Holder     = "";
                                    response.GetCardInfoEx.DopInfo    = "";
                                    response.GetCardInfoEx.Sum2       = "0";
                                    response.GetCardInfoEx.Sum3       = "0";
                                    response.GetCardInfoEx.Sum4       = "0";
                                    response.GetCardInfoEx.Sum5       = "0";
                                    response.GetCardInfoEx.Sum6       = "0";
                                    response.GetCardInfoEx.Sum7       = "0";
                                    response.GetCardInfoEx.Sum8       = "0";
                                    response.GetCardInfoEx.DopInfo    = docIsReedeem.SelectSingleNode("//response//coupons//redeemable//item_status//message").InnerText;
                                    response.GetCardInfoEx.WhyLock    = docIsReedeem.SelectSingleNode("//response//coupons//redeemable//item_status//message").InnerText;
                                    response.GetCardInfoEx.ScrMessage = "** Message for SCREEN **";
                                    response.GetCardInfoEx.PrnMessage = "* Message for PRINT *";
                                    response.GetCardInfoEx.Result     = "0";
                                    response.GetCardInfoEx.OutBuf     = null;
                                }
                            }

                            else
                            {
                                response.GetCardInfoEx.CardCode   = search_Request.QRY.Card;
                                response.GetCardInfoEx.Account    = "0";
                                response.GetCardInfoEx.Deleted    = "0";
                                response.GetCardInfoEx.Locked     = "0";
                                response.GetCardInfoEx.Seize      = "0";
                                response.GetCardInfoEx.Discount   = "0";
                                response.GetCardInfoEx.Bonus      = "0";
                                response.GetCardInfoEx.Summa      = "0";
                                response.GetCardInfoEx.DiscLimit  = "999999999999";
                                response.GetCardInfoEx.Holder     = "";
                                response.GetCardInfoEx.DopInfo    = "";
                                response.GetCardInfoEx.Sum2       = "0";
                                response.GetCardInfoEx.Sum3       = "0";
                                response.GetCardInfoEx.Sum4       = "0";
                                response.GetCardInfoEx.Sum5       = "0";
                                response.GetCardInfoEx.Sum6       = "0";
                                response.GetCardInfoEx.Sum7       = "0";
                                response.GetCardInfoEx.Sum8       = "0";
                                response.GetCardInfoEx.DopInfo    = "Coupon Not Found";
                                response.GetCardInfoEx.WhyLock    = "";
                                response.GetCardInfoEx.ScrMessage = "** Coupon Not Found **";
                                response.GetCardInfoEx.PrnMessage = "* Coupon Not Found *";
                                response.GetCardInfoEx.Result     = "1";
                                response.GetCardInfoEx.OutBuf     = null;
                            }
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                _logger.Error("Exception Occured : {0}", ex.Message);
            }
            XmlDocument doc = new XmlDocument();

            doc.LoadXml(response.SerializerXml());
            return(doc);
            //return response;
        }