示例#1
0
        /// <summary>
        /// Evernoteにファイルをアップロードします
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void uploadButton_Click(object sender, RoutedEventArgs e)
        {
            FileList list = this.DataContext as FileList;

            try
            {
                foreach (var f in list.FileNames)
                {
                    ENNote resourceNote = new ENNote();
                    resourceNote.Title   = "My test note with a resource";
                    resourceNote.Content = ENNoteContent.NoteContentWithString("Hello, resource!");
                    byte[]     file     = File.ReadAllBytes(f);
                    FileInfo   fInfo    = new FileInfo(f);
                    ENResource resource = new ENResource(file, MimeTypeMap.GetMimeType(fInfo.Extension), fInfo.Name);
                    resourceNote.Resources.Add(resource);
                    ENNoteRef resourceRef = ENSession.SharedSession.UploadNote(resourceNote, null);
                }
            }
            catch (Exception ex)
            {
                ModernDialog.ShowMessage("アップロード中にエラーが発生しました。", "お知らせ", MessageBoxButton.OK);
                return;
            }
            ModernDialog.ShowMessage("アップロードが完了しました。", "お知らせ", MessageBoxButton.OK);
        }
示例#2
0
        static void Main(string[] args)
        {
            // Supply your key using ENSessionAdvanced instead of ENEsssion, to indicate your use of the Advanced interface.
            // Be sure to put your own consumer key and consumer secret here.
            ENSessionAdvanced.SetSharedSessionConsumerKey("your key", "your secret");

            if (ENSession.SharedSession.IsAuthenticated == false)
            {
                ENSession.SharedSession.AuthenticateToEvernote();
            }

            // Create a note (in the user's default notebook) with an attribute set (in this case, the ReminderOrder attribute to create a Reminder).
            ENNoteAdvanced myNoteAdv = new ENNoteAdvanced();

            myNoteAdv.Title   = "Sample note with Reminder set";
            myNoteAdv.Content = ENNoteContent.NoteContentWithString("Hello, world - this note has a Reminder on it.");
            myNoteAdv.EdamAttributes["ReminderOrder"] = DateTime.Now.ToEdamTimestamp();
            ENNoteRef myRef = ENSession.SharedSession.UploadNote(myNoteAdv, null);

            // Now we'll create an EDAM Note.
            // First create the ENML content for the note.
            ENMLWriter writer = new ENMLWriter();

            writer.WriteStartDocument();
            writer.WriteString("Hello again, world.");
            writer.WriteEndDocument();
            // Create a note locally.
            Note myNote = new Note();

            myNote.Title   = "Sample note from the Advanced world";
            myNote.Content = writer.Contents.ToString();
            // Create the note in the service, in the user's personal, default notebook.
            ENNoteStoreClient store = ENSessionAdvanced.SharedSession.PrimaryNoteStore;
            Note resultNote         = store.CreateNote(myNote);
        }
示例#3
0
        private void butActualizar_Click(object sender, EventArgs e)
        {
            if (textBox2.Text.Length == 0)
            {
                MessageBox.Show("???", "Actualizar Nota", MessageBoxButtons.OK, MessageBoxIcon.Information);
                return;
            }

            if (MessageBox.Show("Se actualizará la Nota de Evernote, desea continuar?", "Actualizar Nota", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No)
            {
                return;
            }

            Cursor = Cursors.WaitCursor;
            try
            {
                if (ENSession.SharedSession.IsAuthenticated == false)
                {
                    ENSession.SharedSession.AuthenticateToEvernote();
                }
                if (!ENSession.SharedSession.IsAuthenticated)
                {
                    throw new Exception("No autenticado");
                }

                string encryptedstring = StringCipher.Encrypt(textBox2.Text, tbContrasenia.Text);
                if (_note != null)
                {
                    ENNote replace = new ENNote();
                    replace.Content = ENNoteContent.NoteContentWithString(encryptedstring);
                    replace.Title   = _note.Title;
                    if (_note.TagNames != null)
                    {
                        replace.TagNames = _note.TagNames;
                    }

                    ENSession.SharedSession.UploadNote(replace, ENSession.UploadPolicy.Replace, _noteBook, _noteRef);
                }
                textBox1.Text = encryptedstring;
                MessageBox.Show("Nota actualizada!", "Actualizar Nota", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Actualizar Nota", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
            }
            Cursor = Cursors.Default;
        }
示例#4
0
        public void SaveNote(Note note)
        {
            // Build the list of tags
            var tags = note.Tags?.ToList() ?? new List <string>();

            tags.Add(_settings.Tag);

            var externalNote = new ENNote
            {
                Title    = note.Title.Trim(),
                Content  = ENNoteContent.NoteContentWithString(note.Body),
                TagNames = new List <string>(tags),
            };

            // Find the target notebook
            ENNotebook notebook = null;

            if (!string.IsNullOrWhiteSpace(note.Folder))
            {
                notebook = _session.ListNotebooks().FirstOrDefault(n => n.Name == note.Folder);
            }

            // Find the note to update
            ENSessionFindNotesResult findNoteResult;

            if (TryFindNote(note.Id, out findNoteResult))
            {
                // Update the existing note
                var existingNoteRef = findNoteResult.NoteRef;

                if (notebook != null && findNoteResult.Notebook.Name != notebook.Name)
                {
                    _logger.Warn($"Note has changed notebook to '{notebook.Name}' however it has been stored in Evernote as '{findNoteResult.Notebook.Name }'. The note cannot be moved.");
                }

                findNoteResult.Notebook = notebook ?? findNoteResult.Notebook;
                _session.UploadNote(externalNote, ENSession.UploadPolicy.Replace, findNoteResult.Notebook, existingNoteRef);
            }
            else
            {
                // Upload to the default notebook
                var noteRef = _session.UploadNote(externalNote, notebook);

                // Set the note identifier in the application meta data
                _session.PrimaryNoteStore.SetNoteApplicationDataEntry(noteRef.Guid, "NoteSync", note.Id);
            }
        }
示例#5
0
        private void Create(string title, DateTime?dt = null)
        {
            Connect();

            // Create a note (in the user's default notebook) with an attribute set (in this case, the ReminderOrder attribute to create a Reminder).
            ENNoteAdvanced note = new ENNoteAdvanced {
                Title = title
            };

            note.Content = ENNoteContent.NoteContentWithString("");
            if (dt.HasValue)
            {
                note.EdamAttributes["ReminderOrder"] = dt.Value.ToEdamTimestamp();
                note.EdamAttributes["ReminderTime"]  = dt.Value.ToEdamTimestamp();
            }

            ENSession.SharedSession.UploadNote(note, null);
        }
        public static void CreateSampleNote(bool readOnly, string tag)
        {
            EvernoteConnection.Create();

            ENNote sampleNote = new ENNote();

            if (readOnly)
            {
                List <string> tags = new List <string>();
                tags.Add(tag);
                sampleNote.TagNames = tags;
                sampleNote.Title    = "My read-only note";
            }
            else
            {
                sampleNote.Title = "My writeable note";
            }

            sampleNote.Content = ENNoteContent.NoteContentWithString("Hello, world! " + DateTime.Now);
            ENNoteRef noteRef = EvernoteConnection.CurrentSession.UploadNote(sampleNote, null);
        }
示例#7
0
 ///**
 // *  Class method to create note content directly from a string of valid ENML.
 // *
 // *  @param enml A valid ENML string. (Invalid ENML will fail at upload time.)
 // *
 // *  @return A note content object.
 // */
 new public static object NoteContentWithENML(string enml)
 {
     return(ENNoteContent.NoteContentWithENML(enml));
 }
示例#8
0
        private void Form1_Load(object sender, EventArgs e)
        {
            // Be sure to put your own consumer key and consumer secret here.
            ENSession.SetSharedSessionConsumerKey("your key", "your secret");

            if (ENSession.SharedSession.IsAuthenticated == false)
            {
                ENSession.SharedSession.AuthenticateToEvernote();
            }

            // Get a list of all notebooks in the user's account.
            List <ENNotebook> myNotebookList = ENSession.SharedSession.ListNotebooks();

            // Create a new note (in the user's default notebook) with some plain text content.
            ENNote myPlainNote = new ENNote();

            myPlainNote.Title   = "My plain text note";
            myPlainNote.Content = ENNoteContent.NoteContentWithString("Hello, world!");
            ENNoteRef myPlainNoteRef = ENSession.SharedSession.UploadNote(myPlainNote, null);

            // Share this new note publicly.  "shareUrl" is the public URL to distribute to access the note.
            string shareUrl = ENSession.SharedSession.ShareNote(myPlainNoteRef);

            // Create a new note (in the user's default notebook) with some HTML content.
            ENNote myFancyNote = new ENNote();

            myFancyNote.Title   = "My first note";
            myFancyNote.Content = ENNoteContent.NoteContentWithSanitizedHTML("<p>Hello, world - <i>this</i> is a <b>fancy</b> note - and here is a table:</p><br /> <br/><table border=\"1\" cellpadding=\"2\" cellspacing=\"0\" width=\"100%\"><tr><td>Red</td><td>Green</td></tr><tr><td>Blue</td><td>Yellow</td></tr></table>");
            ENNoteRef myFancyNoteRef = ENSession.SharedSession.UploadNote(myFancyNote, null);

            // Delete the HTML content note we just created.
            ENSession.SharedSession.DeleteNote(myFancyNoteRef);

            // Create a new note with a resource.
            ENNote myResourceNote = new ENNote();

            myResourceNote.Title   = "My test note with a resource";
            myResourceNote.Content = ENNoteContent.NoteContentWithString("Hello, resource!");
            byte[]     myFile     = StreamFile("<complete path and filename of a JPG file on your computer>"); // Be sure to replace this with a real JPG file
            ENResource myResource = new ENResource(myFile, "image/jpg", "My First Picture.jpg");

            myResourceNote.Resources.Add(myResource);
            ENNoteRef myResourceRef = ENSession.SharedSession.UploadNote(myResourceNote, null);

            // Search for some text across all notes (i.e. personal, shared, and business).
            // Change the Search Scope parameter to limit the search to only personal, shared, business - or combine flags for some combination.
            string textToFind = "some text to find*";
            List <ENSessionFindNotesResult> myNotesList = ENSession.SharedSession.FindNotes(ENNoteSearch.NoteSearch(textToFind), null, ENSession.SearchScope.All, ENSession.SortOrder.RecentlyUpdated, 500);
            int personalCount = 0;
            int sharedCount   = 0;
            int businessCount = 0;

            foreach (ENSessionFindNotesResult note in myNotesList)
            {
                if (note.NoteRef.Type == ENNoteRef.ENNoteRefType.TypePersonal)
                {
                    personalCount++;
                }
                else if (note.NoteRef.Type == ENNoteRef.ENNoteRefType.TypeShared)
                {
                    sharedCount++;
                }
                else if (note.NoteRef.Type == ENNoteRef.ENNoteRefType.TypeBusiness)
                {
                    businessCount++;
                }
            }

            if (myNotesList.Count > 0)
            {
                // Given a NoteRef instance, download that note.
                ENNote myDownloadedNote = ENSession.SharedSession.DownloadNote(myNotesList[0].NoteRef);

                // Serialize a NoteRef.
                byte[] mySavedRef = myNotesList[0].NoteRef.AsData();
                // And deserialize it.
                ENNoteRef newRef = ENNoteRef.NoteRefFromData(mySavedRef);

                // Download the thumbnail for a note; then display it on this app's form.
                byte[] thumbnail = ENSession.SharedSession.DownloadThumbnailForNote(myNotesList[0].NoteRef, 120);
                try
                {
                    MemoryStream ms = new MemoryStream(thumbnail, 0, thumbnail.Length);
                    ms.Position = 0;
                    System.Drawing.Image image1 = System.Drawing.Image.FromStream(ms, false, false);
                    pictureBoxThumbnail.Image = image1;
                }
                catch (Exception ex)
                {
                    throw new Exception(ex.Message);
                }
            }
        }
 public ENNoteContent NoteContentWithSanitizedHTML(string html)
 {
     return(ENNoteContent.NoteContentWithSanitizedHTML(html));
 }
 public ENNoteContent NoteContentWithString(string contentString)
 {
     return(ENNoteContent.NoteContentWithString(contentString));
 }