コード例 #1
0
        private XElement ProcessAttachment(SmsAttachment item)
        {
            _logger.LogInformation("Processing attachment '{FileName}',MIME type='{MimeType}'", item.TransferName, item.MimeType);

            XElement result;

            if (item.MimeType.StartsWith("image/"))
            {
                result = HtmlGenerator.CreateImageElement(item.TransferName);
            }
            else if (item.MimeType.StartsWith("video/"))
            {
                result = HtmlGenerator.CreateVideoElement(item.TransferName, item.MimeType);
            }
            else if (item.MimeType.StartsWith("audio/"))
            {
                result = HtmlGenerator.CreateAudioElement(item.TransferName, item.MimeType);
            }
            else
            {
                result = HtmlGenerator.CreateAnchorElement(item.TransferName);
            }

            return(result);
        }
コード例 #2
0
ファイル: SmsRepository.cs プロジェクト: jim-dale/iPhoneTools
        public IEnumerable <SmsAttachment> GetMessageAttachments(int messageId)
        {
            var command = Connection.CreateCommand();

            command.CommandText = "SELECT "
                                  + "ROWID,"
                                  + "guid,"
                                  + "filename,"
                                  + "mime_type,"
                                  + "transfer_state,"
                                  + "transfer_name"
                                  + " FROM attachment"
                                  + " inner join message_attachment_join"
                                  + " ON attachment.ROWID=message_attachment_join.attachment_id"
                                  + " WHERE message_attachment_join.message_id=@param1";

            command.Parameters.AddWithValue("@param1", messageId);

            using (var reader = command.ExecuteReader())
            {
                while (reader.Read())
                {
                    var result = new SmsAttachment
                    {
                        Id            = reader.GetInt32(0),
                        Guid          = reader.GetGuidAtStartOfString(1),
                        FileName      = reader.GetValueOrDefault <string>(2),
                        MimeType      = reader.GetValueOrDefault <string>(3),
                        TransferState = reader.GetInt32(4),
                        TransferName  = reader.GetValueOrDefault <string>(5),
                    };

                    yield return(result);
                }
            }
        }