internal static bool isPossibleCode(string sCodeNumber) { List<PCArg> lstArg = new List<PCArg>(); XmlDocument xmlDoc = new XmlDocument(); xmlDoc.Load(xmlRuleFile); XmlNode rootNode = xmlDoc.DocumentElement; // Load & set value for random arguments foreach (XmlNode childNode in rootNode.ChildNodes) { PCArg newArg = new PCArg(); newArg.name = childNode.Attributes["name"].Value.Trim(); newArg.value = childNode.Attributes["value"].Value.Trim(); lstArg.Add(newArg); } for(int i = 0; i < lstArg.Count; i++) { if (lstArg[i].value.ToLower() == "random") { lstArg[i].value = sCodeNumber[i].ToString(); } } // Calculate the remain arguments.. CalculateArgs(lstArg); // get ConfirmCodeNumber and compare string sConfirmCodeNumber = ""; for (int i = 0; i < lstArg.Count; i++) { sConfirmCodeNumber += lstArg[i].value; } return (sCodeNumber == sConfirmCodeNumber); }
internal static PacificCode generateNewCode() { PacificCode newPCode = new PacificCode(); List<PCArg> lstArg = new List<PCArg>(); XmlDocument xmlDoc = new XmlDocument(); // LOAD All information about Argument from XML file xmlDoc.Load(xmlRuleFile); XmlNode rootNode = xmlDoc.DocumentElement; foreach (XmlNode childNode in rootNode.ChildNodes) { PCArg newArg = new PCArg(); newArg.name = childNode.Attributes["name"].Value.Trim(); newArg.value = childNode.Attributes["value"].Value.Trim(); lstArg.Add(newArg); } // CALC the values for all Arguments // . Random Random randomNumer = new Random(); foreach (PCArg arg in lstArg) { if (arg.value.ToLower()== "random") { arg.value = randomNumer.Next(10).ToString(); } } // . Ruled Arguments /* foreach (PCArg arg in lstArg) { if (!Validator.isNumber(arg.value)) { foreach (PCArg argConst in lstArg) { // Replace all argruments in the expression by the correlative values if(Validator.isNumber(argConst.value)) { arg.value = arg.value.Replace(argConst.name[0],argConst.value[0]); } } arg.value = ((int)ExpressionClass.evaluateExp(arg.value)).ToString(); } } /*/ CalculateArgs(lstArg); // */ // MERGE all to CodeNumber string sResultCode = ""; for (int i = 0; i < lstArg.Count; i++) { sResultCode += lstArg[i].value; } // EXPORT the result; newPCode.CodeNumber = sResultCode; return newPCode; }