private void WriteScannersInfo(XmlTextWriter xmlWriter, Voting.Election election) { var scannerArr = _scannersInfo.GetScannerInfos(); foreach (var scanner in scannerArr) { var intScannerSerialNumber = Convert.ToInt32(scanner.SerialNumber); xmlWriter.WriteStartElement("Scanner"); xmlWriter.WriteAttributeString("n", scanner.SerialNumber); var mask = new VoteKey { ScannerSerialNumber = intScannerSerialNumber, BlankType = BlankType.Bad, }; var nufCount = VotingResults.VotesCount(mask); xmlWriter.WriteAttributeString("nuf", XmlConvert.ToString(nufCount)); if (election != null) { WriteAttendInfo(xmlWriter, intScannerSerialNumber, election); } else { foreach (var el in _electionManager.SourceData.Elections) { WriteAttendInfo(xmlWriter, intScannerSerialNumber, el); } } xmlWriter.WriteEndElement(); } }
public void GenerateVotingResultProtocol(Voting.Election election) { _isPreliminaryProtocol = false; var timeStamp = DateTime.Now; var electionIndex = _electionManager.SourceData.GetElectionIndex(election); _votingResultProtocolFileName = GenerateVotingResultProtocolFileName(timeStamp, electionIndex + 1); _votingResultProtocolData = GenerateVotingResultProtocolData(timeStamp, election); SaveVotingResultProtocolToLocalDir(); }
private void WriteProtocolBody(XmlTextWriter xmlWriter, Voting.Election election) { xmlWriter.WriteStartElement("Protocol"); xmlWriter.WriteAttributeString("final", XmlConvert.ToString(!_isPreliminaryProtocol)); if (election != null) { WriteElectionInfo(xmlWriter, election); } else { foreach (var el in _electionManager.SourceData.Elections) { WriteElectionInfo(xmlWriter, el); } } xmlWriter.WriteEndElement(); }
private void WriteElectionInfo(XmlTextWriter xmlWriter, Voting.Election election) { xmlWriter.WriteStartElement("Election"); xmlWriter.WriteAttributeString("n", election.ExternalNumber); xmlWriter.WriteAttributeString("parentid", election.ParentComittee.ParentID); xmlWriter.WriteAttributeString("e-mail", election.ParentComittee.EMail); if (!_isPreliminaryProtocol) { foreach (var line in election.Protocol.Lines) { xmlWriter.WriteStartElement("Line"); xmlWriter.WriteAttributeString("n", XmlConvert.ToString(line.Num)); if (!string.IsNullOrEmpty(line.AdditionalNum)) { xmlWriter.WriteAttributeString("a", line.AdditionalNum); } xmlWriter.WriteString(XmlConvert.ToString(line.Value.GetValueOrDefault(0))); xmlWriter.WriteEndElement(); } } var showDisabledCandidates = !string.IsNullOrEmpty(election.Protocol.DisabledString); foreach (var candidate in election.Candidates) { if (candidate.Disabled && !showDisabledCandidates) { continue; } xmlWriter.WriteStartElement("Candidate"); xmlWriter.WriteAttributeString("n", candidate.Id); if (candidate.Disabled) { xmlWriter.WriteAttributeString("disabled", XmlConvert.ToString(true)); } var mask = new VoteKey { ElectionNum = election.ElectionId, CandidateId = candidate.Id }; var votesCount = VotingResults.VotesCount(mask); xmlWriter.WriteString(XmlConvert.ToString(votesCount)); xmlWriter.WriteEndElement(); } xmlWriter.WriteEndElement(); }
private string GenerateVotingResultProtocolData(DateTime timeStamp, Voting.Election election) { using (var stringWriter = new StringWriter()) { using (var xmlWriter = new XmlTextWriter(stringWriter)) { xmlWriter.WriteStartElement("Xib", VOTINGRESULTPROTOCOL_XMLNS); xmlWriter.WriteAttributeString("uik", _electionManager.SourceData.Uik.ToString()); xmlWriter.WriteAttributeString("isGasVrn", XmlConvert.ToString(_electionManager.SourceData.IsGasVrn)); xmlWriter.WriteAttributeString( "ts", XmlConvert.ToString(timeStamp, XmlDateTimeSerializationMode.Local)); xmlWriter.WriteAttributeString( "version", XmlConvert.ToString(GetNextVotingResultProtocolVersion())); WriteScannersInfo(xmlWriter, election); WriteProtocolBody(xmlWriter, election); xmlWriter.WriteElementString("Check", String.Empty); xmlWriter.WriteEndElement(); } stringWriter.Flush(); return(stringWriter.ToString()); } }
private void WriteAttendInfo(XmlTextWriter xmlWriter, int scannerSerialNumber, Voting.Election election) { foreach (var blank in _electionManager.SourceData.Blanks) { if (election != null && _electionManager.SourceData.GetBlankIdByElectionNumber(election.ElectionId) != blank.Id) { continue; } var mask = new VoteKey { ScannerSerialNumber = scannerSerialNumber, BlankId = blank.Id }; xmlWriter.WriteStartElement("Bulletin"); xmlWriter.WriteAttributeString("id", blank.Id); xmlWriter.WriteAttributeString("n", XmlConvert.ToString(blank.Marker)); mask.BlankType = BlankType.Valid; xmlWriter.WriteAttributeString("Valid", XmlConvert.ToString(VotingResults.VotesCount(mask))); mask.BlankType = BlankType.NoMarks; xmlWriter.WriteAttributeString("NoMarks", XmlConvert.ToString(VotingResults.VotesCount(mask))); mask.BlankType = BlankType.TooManyMarks; xmlWriter.WriteAttributeString("TooManyMarks", XmlConvert.ToString(VotingResults.VotesCount(mask))); mask.BlankType = BlankType.BadMode; xmlWriter.WriteAttributeString("BadMode", XmlConvert.ToString(VotingResults.VotesCount(mask))); xmlWriter.WriteEndElement(); } }