Esempio n. 1
0
            //####################################################################################

            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));
                });
            }
Esempio n. 2
0
        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);
                }
            }
        }
Esempio n. 3
0
            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;
                });
            }
Esempio n. 4
0
        //###############################################################################

        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);
        }
Esempio n. 5
0
            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));
                }
            }