コード例 #1
0
ファイル: UnitTest1.cs プロジェクト: spkl/3ma-backup-viewer
        public void TestMethod2()
        {
            IIImaBackup backup = new IIImaBackup(@"C:\Users\Sebastian\Desktop\Threema\threema-backup_HVJNE9PD_1508343104568_1", "HVJNE9PD");

            backup.Read();
            var ballotMessages = backup.Conversations[15].OfType <BallotMessage>().ToArray();
        }
コード例 #2
0
ファイル: UnitTest1.cs プロジェクト: spkl/3ma-backup-viewer
        public void TestMethod1()
        {
            IIImaBackup backup = new IIImaBackup(@"C:\Users\Sebastian\Desktop\Threema\threema-backup_HVJNE9PD_1508343104568_1", "HVJNE9PD");

            backup.Read();
            Conversation c = backup.Conversations.First(conv => conv.ConversationPartner == new Identity("UUS2VJKY"));

            List <string> strings = new List <string>();

            foreach (Message message in c)
            {
                string line = $"{message.CreatedAt.ToLocalTime()} {message.Creator.DisplayName}: ";
                if (message is TextMessage textMessage)
                {
                    line += textMessage.Text;
                }
                else
                {
                    line += message.Type;
                }

                strings.Add(line);
            }

            File.WriteAllLines(@"C:\Users\Sebastian\Desktop\Threema\test.txt", strings, Encoding.UTF8);
        }
コード例 #3
0
ファイル: Contact.cs プロジェクト: spkl/3ma-backup-viewer
 /// <summary>
 /// Creates a contact from a CSV row.
 /// </summary>
 /// <param name="fields">The fields of the CSV row.</param>
 /// <param name="backup">The associated IIImaBackup.</param>
 public static Contact FromFields(string[] fields, IIImaBackup backup)
 {
     return(new Contact
     {
         Identity = new Identity(fields[0], backup),
         Verification = fields[2],
         FirstName = fields[5],
         LastName = fields[6],
         NickName = fields[7]
     });
 }
コード例 #4
0
ファイル: BallotVote.cs プロジェクト: spkl/3ma-backup-viewer
        /// <summary>
        /// Creates a vote from a CSV row.
        /// </summary>
        /// <param name="fields">The fields of the CSV row.</param>
        /// <param name="backup">The associated IIImaBackup.</param>
        public static BallotVote FromFields(string[] fields, IIImaBackup backup)
        {
            if (fields[4] == "0")
            {
                throw new InvalidOperationException();
            }

            return(new BallotVote
            {
                Id = ulong.Parse(fields[0]),
                Identity = new Identity(fields[3], backup),
                CreatedAt = Util.ReadDateValue(fields[5]),
                ModifiedAt = Util.ReadDateValue(fields[6])
            });
        }
コード例 #5
0
 /// <summary>
 /// Creates a ballot from a CSV row.
 /// </summary>
 /// <param name="fields">The fields of the CSV row.</param>
 /// <param name="backup">The associated IIImaBackup.</param>
 public static Ballot FromFields(string[] fields, IIImaBackup backup)
 {
     return(new Ballot
     {
         Backup = backup,
         Id = ulong.Parse(fields[0]),
         Aid = fields[1],
         Creator = new Identity(fields[2], backup),
         Name = fields[5],
         State = fields[6],
         Assessment = fields[7],
         Type = fields[8],
         ChoiceType = fields[9],
         LastViewedAt = Util.ReadDateValue(fields[10]),
         CreatedAt = Util.ReadDateValue(fields[11]),
         ModifiedAt = Util.ReadDateValue(fields[12])
     });
 }
コード例 #6
0
ファイル: Identity.cs プロジェクト: spkl/3ma-backup-viewer
 /// <summary>
 /// Creates a new 3ma ID.
 /// </summary>
 /// <param name="id">The ID string.</param>
 /// <param name="backup">The associated IIImaBackup.</param>
 public Identity(string id, IIImaBackup backup)
 {
     this.id     = id;
     this.backup = backup;
 }