/// <summary> /// проверка ответов пользователя /// </summary> /// <param name="OriginalTest">оригинальный тест</param> /// <returns></returns> public ClientResult Verify(ref Test OriginalTest) { ClientResult res = new ClientResult(); int ClientBalls = 0; foreach (ClientQuestion cq in this.Questions) { try { QuestionBase qb = FindOriginalQuestion(cq, ref OriginalTest); cq.Ball = qb.Verify(cq); cq.MaxBall = qb.MaxBall; cq.MinBall = qb.MinBall; ClientBalls += cq.Ball; } catch { throw new ArgumentException(); } } res = new ClientResult(OriginalTest.MaxQuestionsBall, ClientBalls,OriginalTest.Settings); return res; }
/// <summary> /// отправляет результаты тестирования на указанный адрес /// </summary> /// <param name="client"></param> public static void WriteInfo(ClientResult cl, TcpClient client) { XDocument doc = new XDocument( new XElement("Result", new XAttribute("Mark", cl.Mark), new XAttribute("Percent", cl.Percent), new XAttribute("Balls", cl.ClientBalls), new XAttribute("AllBalls", cl.ClientBalls) )); string str = doc.ToString(); Client.Write(client,str); }