//#################################################################################### private void ViewAttachment(Button btn, ProgressBar prg, EntryAttachment item) { btn.Tag = "BLOCKED"; prg.Visibility = ViewStates.Visible; TBL.SP_Object.GetNewsFeedAttachment(item, delegate(Adapters.AttachmentRetrieveErrorReason reason) { if (reason != AttachmentRetrieveErrorReason.RELOGIN_REQUIRED) { prg.Visibility = ViewStates.Gone; btn.Tag = null; } AttachmentRetrieveError?.Invoke(this, new AttachmentRetrieveErrorEventArgs(reason)); }, delegate(string path) { prg.Visibility = ViewStates.Gone; btn.Tag = null; btn.BackgroundTintList = Android.Content.Res.ColorStateList.ValueOf(Android.Graphics.Color.Rgb(180, 180, 180)); EntrySelected?.Invoke(this, new ListFeedAttachmentAdapterEntrySelected(_entry.Key, item.Key)); }); }
public void SaveAttachment(EntryAttachment item, string owner, int ownerID, bool overwrite) { //Datensatz erstellen ContentValues values = new ContentValues(); values.Put(DatabaseHelper.ATTACH_TABLE_COL_KEY, item.Key); values.Put(DatabaseHelper.ATTACH_TABLE_COL_OWNER, owner); values.Put(DatabaseHelper.ATTACH_TABLE_COL_OWNERID, ownerID); values.Put(DatabaseHelper.ATTACH_TABLE_COL_FILENAME, item.Title); values.Put(DatabaseHelper.ATTACH_TABLE_COL_REMOTE, item.RemoteURL); values.Put(DatabaseHelper.ATTACH_TABLE_COL_LOCAL, item.LocalFilePath); //Datenbank aktualisieren if (item.ID < 0) { //Neuen Eintrag anlegen int ID = (int)database.Insert(DatabaseHelper.ATTACH_TABLE, null, values); item.ID = ID; } else { if (overwrite) { //Bestehenden Eintrag überschreiben string id_filter = DatabaseHelper.ATTACH_TABLE_COL_ID + "='" + item.ID + "'"; database.Update(DatabaseHelper.ATTACH_TABLE, values, id_filter, null); } } }
private void CreatePreview(EntryAttachment e) { _thisPreview.TXT_PREVIEWHINT.Visibility = ViewStates.Gone; if (!e.IsDownloadable) { _thisPreview.PANEL_PREVIEW.Visibility = ViewStates.Gone; return; } TBL.SP_Object.GetNewsFeedAttachment(e, delegate(Adapters.AttachmentRetrieveErrorReason reason) { if (reason != AttachmentRetrieveErrorReason.RELOGIN_REQUIRED) { _thisPreview.PANEL_PREVIEW.Visibility = ViewStates.Gone; _thisPreview.TXT_PREVIEWHINT.Text = _context.GetString(Resource.String.feedentry_hint_nopreview); _thisPreview.TXT_PREVIEWHINT.Visibility = ViewStates.Visible; _thisPreview.PANEL_FIRSTATTACHMENT.Visibility = ViewStates.Visible; } AttachmentRetrieveError?.Invoke(this, new AttachmentRetrieveErrorEventArgs(reason)); }, delegate(string path) { var generator = new Helper.PreviewGenerator(path); if (generator.IsAvailable) { _thisPreview.PREVIEW_IMAGE.SetImageBitmap(generator.RenderedPreviewImage); //Ratio berechnen _thisPreviewRatio = (float)generator.RenderedPreviewImage.Height / (float)generator.RenderedPreviewImage.Width; UpdatePreviewRatio(); //Hinweis anzeigen _thisPreview.BTN_FIRST_ATTACHMENT.Text = _context.GetString(Resource.String.feedentry_hint_btn_further) + " " + _thisPreview.BTN_FIRST_ATTACHMENT.Text; if (generator.SourcePageCount > 1) { _thisPreview.TXT_PREVIEWHINT.Text = _context.GetString(Resource.String.feedentry_hint_onlyfirstpage); _thisPreview.TXT_PREVIEWHINT.Visibility = ViewStates.Visible; } } else { _thisPreview.PANEL_PREVIEW.Visibility = ViewStates.Gone; _thisPreview.TXT_PREVIEWHINT.Text = _context.GetString(Resource.String.feedentry_hint_nopreview); _thisPreview.TXT_PREVIEWHINT.Visibility = ViewStates.Visible; } _thisPreview.PANEL_FIRSTATTACHMENT.Visibility = ViewStates.Visible; }); }
//############################################################################### private Dictionary <string, Dictionary <int, SortedList <int, EntryAttachment> > > GetStoredAttachments() { Dictionary <string, Dictionary <int, SortedList <int, EntryAttachment> > > dictAttachments = new Dictionary <string, Dictionary <int, SortedList <int, EntryAttachment> > >(); ICursor c = database.Query(DatabaseHelper.ATTACH_TABLE, ATTACH_COLUMNS, null, null, null, null, null); c.MoveToFirst(); while (!c.IsAfterLast) { int ID_sql_id = c.GetColumnIndex(DatabaseHelper.ATTACH_TABLE_COL_ID); int ID_key = c.GetColumnIndex(DatabaseHelper.ATTACH_TABLE_COL_KEY); int ID_owner = c.GetColumnIndex(DatabaseHelper.ATTACH_TABLE_COL_OWNER); int ID_ownerID = c.GetColumnIndex(DatabaseHelper.ATTACH_TABLE_COL_OWNERID); int ID_filename = c.GetColumnIndex(DatabaseHelper.ATTACH_TABLE_COL_FILENAME); int ID_remotePath = c.GetColumnIndex(DatabaseHelper.ATTACH_TABLE_COL_REMOTE); int ID_localPath = c.GetColumnIndex(DatabaseHelper.ATTACH_TABLE_COL_LOCAL); int sql_id = c.GetInt(ID_sql_id); string key = c.GetString(ID_key); string owner = c.GetString(ID_owner); int ownerID = c.GetInt(ID_ownerID); string filename = c.GetString(ID_filename); string remotePath = c.GetString(ID_remotePath); string localPath = c.GetString(ID_localPath); EntryAttachment aE = new EntryAttachment(key, filename, remotePath, localPath) { ID = sql_id }; if (!dictAttachments.ContainsKey(owner)) { dictAttachments.Add(owner, new Dictionary <int, SortedList <int, EntryAttachment> >()); } if (!dictAttachments[owner].ContainsKey(ownerID)) { dictAttachments[owner].Add(ownerID, new SortedList <int, EntryAttachment>()); } dictAttachments[owner][ownerID].Add(aE.ID, aE); c.MoveToNext(); } c.Close(); return(dictAttachments); }
private void CreateButton(Button btn, ProgressBar prg, EntryAttachment item) { prg.Visibility = ViewStates.Gone; btn.Text = item.Title; btn.Click += (s, e) => { if (btn.Tag != null) { return; } ViewAttachment(btn, prg, item); }; if (item.IsDownloaded) { btn.BackgroundTintList = Android.Content.Res.ColorStateList.ValueOf(Android.Graphics.Color.Rgb(180, 180, 180)); } }