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")); }
public static async Task <XmlDocument> GetMemberAsync(RKeeperRequest search_Request, List <string> configs) { return(await Task.Run(() => GetMember(search_Request, configs))); }
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; }