Пример #1
0
        public async Task <BalanceResp> Balance(BalanceVM balanceVm)
        {
            BalanceResp response = new BalanceResp();

            try
            {
                var sedcAccount = await _manager.SedcAccounts.SingleOrDefault(x => x.IsDefault);

                balanceVm.userName = sedcAccount.UserName;
                balanceVm.userPass = sedcAccount.Password;
                string port = (sedcAccount.Port == "80") ? "" : $":{sedcAccount.Port}";
                SEDCOprations.Core = $"{sedcAccount.HttpType}://{sedcAccount.Server}{port}";
                try
                {
                    balanceVm.userPass = EncryptionManager.MD5Encrypt(balanceVm.userName, balanceVm.userPass, sedcAccount.Key);
                    var content = Convertor.GetXML(balanceVm);
                    var resp    = await CallApi(content, SEDCOprations.Core + SEDCOprations.BALANCE);

                    XmlDocument doc = new XmlDocument();
                    doc.LoadXml(resp);
                    response = Convertor.GetBalanceResp(doc);
                }
                catch (Exception e)
                {
                    return(null);
                }
            }
            catch (Exception ex)
            {
            }
            return(response);
        }
Пример #2
0
        public static BalanceResp GetBalanceResp(XmlDocument xml)
        {
            BalanceResp resp = new BalanceResp();

            try
            {
                var serilize = new XmlSerializer(typeof(BalanceResp));
                using (var reader = new XmlNodeReader(xml))
                {
                    resp = (BalanceResp)serilize.Deserialize(reader);
                }
            }
            catch (Exception e)
            {
                resp = null;
            }

            return(resp);
        }