Beispiel #1
0
        public void BillerList()
        {
            var binding = new WSHttpBinding(SecurityMode.None, true);

            binding.ReceiveTimeout = new TimeSpan(0, 5, 0);
            binding.SendTimeout    = new TimeSpan(0, 5, 0);
            binding.OpenTimeout    = new TimeSpan(0, 5, 0);
            var client = new BillersListClient(binding, new EndpointAddress(UriContext.BillersList));
            var list   = client.GetBillersList(Guid.NewGuid().ToString(), GetToken());

            Debug.WriteLine("BillerList " + list);
        }
Beispiel #2
0
        public string GetData(string request, string parameters)
        {
            try
            {
                var token = Authenticate();

                var client = new BillersListClient(new WSHttpBinding(SecurityMode.None, true)
                {
                    ReceiveTimeout = new TimeSpan(0, 0, 0, 0, _timeout)
                }, new EndpointAddress(_billerList));
                var list = client.GetBillersList(Guid.NewGuid().ToString(), token);
                return(list.ToString());
            }
            catch (Exception exception)
            {
                return(string.Format("Ошибка получения данных: " + exception.Message));
            }
        }
Beispiel #3
0
        public void PrepaidValidationToAll()
        {
            var binding = new WSHttpBinding(SecurityMode.None, true);
            var client  = new BillersListClient(binding, new EndpointAddress(UriContext.BillersList));
            var list    = client.GetBillersList(Guid.NewGuid().ToString(), GetToken());

            var billers = list.Element("MsgBody").Element("BilrsRec").Elements().Select(element => new
            {
                code     = element.Element("BillerCode").Value,
                services = element.Element("Services").Elements().Where(w => w.Element("PrepaidCats") == null).Select(s => s.Element("ServiceType").Value)
            }).OrderBy(o => o.code);//.ToLookup(k=>k.code, k=>k.services);

            var request = XElement.Parse(GetContentFromFile("PrepaidValidation.xml"));
            var sign    = new EfawateerSigner("ARKAIM-TEST");

            foreach (var biller in billers)
            {
                var time = DateTime.Now.ToString("s");
                var guid = Guid.NewGuid().ToString();

                request.Element("MsgHeader").Element("TmStp").Value = time;
                request.Element("MsgHeader").Element("GUID").Value  = guid;
                request.Element("MsgBody").Element("BillingInfo").Element("AcctInfo").Element("BillerCode").Value = biller.code;

                foreach (var serviceType in biller.services)
                {
                    request.Element("MsgBody")
                    .Element("BillingInfo")
                    .Element("ServiceTypeDetails")
                    .Element("ServiceType")
                    .Value = serviceType;    //"Prepaid";
                    request.Element("MsgFooter").Element("Security").Element("Signature").Value =
                        sign.SignData(request.Element("MsgBody").ToString());

                    var validator = new PrepaidValidationClient(binding, new EndpointAddress(UriContext.PrepaidValidation));
                    var upload    = validator.Validate(guid, GetToken(), request);

                    Debug.WriteLine(string.Format("-----------{0}--------------", biller.code));
                    Debug.WriteLine("request:\r\n " + request.Element("MsgBody"));
                    Debug.WriteLine("response:\r\n " + upload.Element("MsgBody"));
                }
            }
        }