public async Task <PurchaseResp> Purchase(PurchaseVM purchase) { PurchaseResp response = new PurchaseResp(); try { var sedcAccount = await _manager.SedcAccounts.SingleOrDefault(x => x.IsDefault); purchase.userName = sedcAccount.UserName; purchase.userPass = sedcAccount.Password; string port = (sedcAccount.Port == "80") ? "" : $":{sedcAccount.Port}"; SEDCOprations.Core = $"{sedcAccount.HttpType}://{sedcAccount.Server}{port}"; try { purchase.userPass = EncryptionManager.MD5Encrypt(purchase.userName, purchase.userPass, sedcAccount.Key); purchase.verifyCode = EncryptionManager.VDataMD5(purchase.userName, purchase.userPass, purchase.transID, purchase.meterNum, purchase.calcMode, purchase.amount, sedcAccount.Key); var content = Convertor.GetXML(purchase); var resp = await CallApi(content, SEDCOprations.Core + SEDCOprations.PURCHASE); XmlDocument doc = new XmlDocument(); doc.LoadXml(resp); response = Convertor.GetPurchaseResp(doc); } catch (Exception e) { return(null); } } catch (Exception ex) { } return(response); }
public static PurchaseResp GetPurchaseResp(XmlDocument xml) { PurchaseResp resp = new PurchaseResp(); try { var serilize = new XmlSerializer(typeof(BalanceResp)); using (var reader = new XmlNodeReader(xml)) { resp = (PurchaseResp)serilize.Deserialize(reader); } } catch (Exception e) { resp = null; } return(resp); }