//public static User AuthenUser; //public Task<Tuple<bool, User>> Login(string login, string password) //{ // if (string.IsNullOrEmpty(login) || string.IsNullOrEmpty(password)) // { // return Task.Factory.StartNew(() => // { // return new Tuple<bool, User>(false, null); // }); // } // IContext con = new Context(); // string otvet; // XmlDocument xmlDoc = new XmlDocument(); // XmlElement request = xmlDoc.CreateElement("request"); // XmlElement q = xmlDoc.CreateElement("q"); // q.InnerText = "101"; // request.AppendChild(q); // XmlElement log = xmlDoc.CreateElement("login"); // log.InnerText = login; // request.AppendChild(log); // XmlElement pass = xmlDoc.CreateElement("pass"); // pass.InnerText = MD5Hash.CalculateMD5Hash(password); // request.AppendChild(pass); // XmlElement hard = xmlDoc.CreateElement("hard"); // hard.InnerText = MD5Hash.CalculateMD5Hash(SerialNumber.HddSerialNumber()+SerialNumber.GpuSerialNumber()); // request.AppendChild(hard); // XmlElement sign = xmlDoc.CreateElement("sign"); // sign.InnerText = MD5Hash.CalculateMD5Hash(101+MD5Hash.CalculateMD5Hash(SerialNumber.HddSerialNumber() + SerialNumber.GpuSerialNumber())+MD5Hash.CalculateMD5Hash(password)); // request.AppendChild(sign); // XmlElement soft = xmlDoc.CreateElement("soft"); // soft.InnerText = "07"; // request.AppendChild(soft); // xmlDoc.AppendChild(request); // otvet = con.SendMessage(xmlDoc); // xmlDoc.LoadXml(otvet); // XmlNodeList nodes = xmlDoc.DocumentElement.SelectNodes("/response"); // foreach (XmlNode node in nodes) // { // string result = node.SelectSingleNode("result").InnerText; // if(result=="1") // { // return Task.Factory.StartNew(() => // { // return new Tuple<bool, User>(true, new User { FullName = node.SelectSingleNode("uname").InnerText, Login = login, Password = MD5Hash.CalculateMD5Hash(password), Token= node.SelectSingleNode("token").InnerText }); // }); // } // else // { // return Task.Factory.StartNew(() => // { // return new Tuple<bool, User>(false, null); // }); // } // } // return Task.Factory.StartNew(() => // { // return new Tuple<bool, User>(false, null); // }); //} public bool Login(string login, string password) { if (string.IsNullOrEmpty(login) || string.IsNullOrEmpty(password)) { return(false); } IContext con = new Context(); string otvet; XmlDocument xmlDoc = new XmlDocument(); XmlElement request = xmlDoc.CreateElement("request"); XmlElement q = xmlDoc.CreateElement("q"); q.InnerText = "101"; request.AppendChild(q); XmlElement log = xmlDoc.CreateElement("login"); log.InnerText = login; request.AppendChild(log); XmlElement pass = xmlDoc.CreateElement("pass"); pass.InnerText = MD5Hash.CalculateMD5Hash(password); request.AppendChild(pass); XmlElement hard = xmlDoc.CreateElement("hard"); hard.InnerText = MD5Hash.CalculateMD5Hash(SerialNumber.HddSerialNumber() + SerialNumber.GpuSerialNumber()); request.AppendChild(hard); XmlElement sign = xmlDoc.CreateElement("sign"); sign.InnerText = MD5Hash.CalculateMD5Hash(101 + MD5Hash.CalculateMD5Hash(SerialNumber.HddSerialNumber() + SerialNumber.GpuSerialNumber()) + MD5Hash.CalculateMD5Hash(password)); request.AppendChild(sign); XmlElement soft = xmlDoc.CreateElement("soft"); soft.InnerText = "07"; request.AppendChild(soft); xmlDoc.AppendChild(request); otvet = con.SendMessage(xmlDoc); xmlDoc.LoadXml(otvet); XmlNodeList nodes = xmlDoc.DocumentElement.SelectNodes("/response"); foreach (XmlNode node in nodes) { string result = node.SelectSingleNode("result").InnerText; if (result == "1") { MainWindowViewModel._currentUser = new User { FullName = node.SelectSingleNode("uname").InnerText, Login = login, Password = MD5Hash.CalculateMD5Hash(password), Token = node.SelectSingleNode("token").InnerText }; return(true); } else { return(false); } } return(false); }
public BalanceDialogViewModel(Balansovie_schyotModel info) { BalanceInfo = info; _backup._BallnceAccount = info.BallnceAccount; _backup._name = info.Name; _backup._active = info.Active; Save = ReactiveCommand.Create(() => { _backup._BallnceAccount = info.BallnceAccount; _backup._name = info.Name; _backup._active = info.Active; App.Current.Windows.Cast <Window>().Where(win => win is BalanceEditDialog).FirstOrDefault().Close(); IContext con = new Context(); XmlDocument xmlDoc = new XmlDocument(); XmlElement request = xmlDoc.CreateElement("request"); XmlElement q = xmlDoc.CreateElement("q"); q.InnerText = "103"; request.AppendChild(q); XmlElement token = xmlDoc.CreateElement("token"); token.InnerText = MainWindowViewModel._currentUser.Token; request.AppendChild(token); XmlElement log = xmlDoc.CreateElement("login"); log.InnerText = MainWindowViewModel._currentUser.Login; request.AppendChild(log); XmlElement pass = xmlDoc.CreateElement("pass"); pass.InnerText = MainWindowViewModel._currentUser.Password; request.AppendChild(pass); XmlElement hard = xmlDoc.CreateElement("hard"); hard.InnerText = MD5Hash.CalculateMD5Hash(SerialNumber.HddSerialNumber() + SerialNumber.GpuSerialNumber()); request.AppendChild(hard); XmlElement sign = xmlDoc.CreateElement("sign"); sign.InnerText = MD5Hash.CalculateMD5Hash(103 + MD5Hash.CalculateMD5Hash(SerialNumber.HddSerialNumber() + SerialNumber.GpuSerialNumber()) + MainWindowViewModel._currentUser.Password); request.AppendChild(sign); XmlElement sifr = xmlDoc.CreateElement("sifr"); sifr.InnerText = BalanceInfo.BallnceAccount.ToString(); request.AppendChild(sifr); XmlElement name = xmlDoc.CreateElement("name"); name.InnerText = BalanceInfo.Name; request.AppendChild(name); XmlElement vid = xmlDoc.CreateElement("vid"); vid.InnerText = BalanceInfo.Active.ToString(); request.AppendChild(vid); xmlDoc.AppendChild(request); con.SendMessage(xmlDoc); }); Cancel = ReactiveCommand.Create(() => { BalanceInfo.BallnceAccount = _backup._BallnceAccount; BalanceInfo.Name = _backup._name; BalanceInfo.Active = _backup._active; App.Current.Windows.Cast <Window>().Where(win => win is BalanceEditDialog).FirstOrDefault().Close(); }); }