Example #1
0
        private void InitializeData()
        {
            List <Media> media = MyPhotosAPI.GetAll();

            labelTotalMediaFromBegin.Text = "Total media stored from begin: " + media.Count;
            int mediaNow = (from m in media
                            where m.Deleted == false
                            select m).Count();

            labelTotalMediaNow.Text = "Total media avaible now: " + mediaNow;
            int totalVideos = (from m in media
                               where m.Deleted == false && m.Type == MediaType.Video.ToString()
                               select m).Count();

            labelTotalVideos.Text = "Total videos now: " + totalVideos;
            int totalPhotos = (from m in media
                               where m.Deleted == false && m.Type == MediaType.Photo.ToString()
                               select m).Count();

            labelTotalPhotos.Text = "Total photos now: " + totalPhotos;
            int mediaDeleted = (from m in media
                                where m.Deleted
                                select m).Count();

            labelTotalMediaDeleted.Text = "Total media deleted: " + mediaDeleted;
        }
Example #2
0
        private void PhotoShowPictureBox_Click(object sender, EventArgs e)
        {
            PictureBox currentPictureBox  = (PictureBox)sender;
            Media      currentMediaToShow = MyPhotosAPI.GetMediaById((Guid)currentPictureBox.Tag);

            try
            {
                if (!currentMediaToShow.Deleted)
                {
                    Form formToShow = new PhotoView(currentMediaToShow);
                    formToShow.Show();
                }
                else
                {
                    DialogResult messageResult = MessageBox.Show("This " + currentMediaToShow.Type + " has been deleted recent. You want to reload media?",
                                                                 "Info", MessageBoxButtons.YesNo, MessageBoxIcon.Information);
                    if (messageResult == DialogResult.Yes)
                    {
                        Search();
                    }
                }
            }
            catch
            {
                DialogResult messageResult = MessageBox.Show("This " + currentMediaToShow.Type + " has been moved/deleted recent from your computer. You want to delete media from database?",
                                                             "Info", MessageBoxButtons.YesNo, MessageBoxIcon.Information);
                if (messageResult == DialogResult.Yes)
                {
                    MyPhotosAPI.DeleteMediaById(currentMediaToShow.Id);
                    Search();
                }
            }
        }
Example #3
0
        private void LoadPhotos(string toSearch    = "",
                                bool byDate        = false,
                                bool byEvent       = false,
                                bool byPeople      = false,
                                bool byLocation    = false,
                                bool byTags        = false,
                                bool byDescription = false)
        {
            Func <Media, bool> predicate = media =>
                                           !media.Deleted && (media.Name.ToLower().Contains(toSearch.ToLower()) ||
                                                              (media.CreatedDate.ToString().ToLower().Contains(toSearch.ToLower()) && byDate) ||
                                                              (media.Event.ToLower().Contains(toSearch.ToLower()) && byEvent) ||
                                                              (media.People.ToLower().Contains(toSearch.ToLower()) && byPeople) ||
                                                              (media.Location.ToLower().Contains(toSearch.ToLower()) && byLocation) ||
                                                              (media.Tags.ToLower().Contains(toSearch.ToLower()) && byTags) ||
                                                              (media.Description.ToLower().Contains(toSearch.ToLower()) && byDescription));

            _media = MyPhotosAPI.GetAll(predicate);

            checkBoxes.Clear();
            flowLayoutPanelMyPhotos.Controls.Clear();
            flowLayoutPanelMyPhotos.Hide();
            try
            {
                Thread threadInput = new Thread(AddMediaToFlowLayout);
                threadInput.Start();
            }
            catch (Exception ex)
            {
                Debug.WriteLine(ex.ToString());
            }
        }
Example #4
0
 private void ButtonLoad_Click(object sender, EventArgs e)
 {
     if (mode == Mode.Directory)
     {
         FolderBrowserDialog folderBrowserDialog = new FolderBrowserDialog();
         string[]            extensions          = PHOTO_EXTENSIONS.Concat(VIDEO_EXTENSIONS).ToArray();
         if (folderBrowserDialog.ShowDialog() == DialogResult.OK)
         {
             foreach (var photoPath in Directory.GetFiles(folderBrowserDialog.SelectedPath)
                      .Where(file => extensions.Contains("*" + Path.GetExtension(file).ToLower())))
             {
                 if (photosPath.Contains(photoPath) || MyPhotosAPI.AlreadyInDatabaseAndNotDeleted(photoPath))
                 {
                     continue;
                 }
                 else
                 {
                     photosPath.Add(photoPath);
                 }
             }
         }
     }
     else if (mode == Mode.Files)
     {
         OpenFileDialog openFileDialog = new OpenFileDialog
         {
             Filter = "Allowed files (*.jpg, *.jpeg, *.gif, *.png, *.mp4, *.mkv) | *.jpg; *.jpeg; *.gif; *.png; *.mp4; *.mkv; |" +
                      "Images files (*.jpg, *.jpeg, *.gif, *.png) | *.jpg; *.jpeg; *.gif; *.png; |" +
                      "Video files (*.mp4, *.mkv) | *.mp4; *.mkv;",
             Multiselect = true,
             Title       = "PhotoManager"
         };
         if (openFileDialog.ShowDialog() == DialogResult.OK)
         {
             foreach (var photoPath in openFileDialog.FileNames)
             {
                 if (photosPath.Contains(photoPath) || MyPhotosAPI.AlreadyInDatabaseAndNotDeleted(photoPath))
                 {
                     continue;
                 }
                 else
                 {
                     photosPath.Add(photoPath);
                 }
             }
         }
     }
     if (photosPath.Count > 0)
     {
         panelShow.Controls.Add(photoShowPictureBox);
         panelShow.Controls.Add(videoShowMediaPlayer);
         labelShow.Hide();
         Enable(buttonAddToDatabase);
         if (photosPath.Count > 1)
         {
             Enable(buttonSwitchRight);
         }
     }
     SetContentshow();
 }
Example #5
0
 private void ButtonDeleteSelected_Click(object sender, EventArgs e)
 {
     foreach (CheckBox tempCheckBox in checkedCheckBoxes)
     {
         string id = tempCheckBox.Name;
         MyPhotosAPI.DeleteMediaById(Guid.Parse(id));
         flowLayoutPanelMyPhotos.Controls.Remove((Panel)tempCheckBox.Tag);
     }
 }
Example #6
0
 private void ButtonSaveChanges_Click(object sender, EventArgs e)
 {
     _media.Name        = textBoxName.Text;
     _media.Event       = textBoxEvent.Text;
     _media.People      = textBoxPeople.Text;
     _media.Location    = textBoxLocation.Text;
     _media.Tags        = textBoxTags.Text;
     _media.Description = textBoxDescription.Text;
     MyPhotosAPI.UpdateMedia(_media.Id, _media);
 }
Example #7
0
        private void ButtonArchive_Click(object sender, EventArgs e)
        {
            FolderBrowserDialog folder = new FolderBrowserDialog();

            folder.ShowDialog();
            string currentTime = DateTime.Now.ToString("u").Replace(":", "_").Replace("-", "_");
            var    zipName     = "MyPhotos_" + currentTime + ".zip";
            var    zip         = ZipFile.Open(Path.Combine(folder.SelectedPath, zipName), ZipArchiveMode.Create);

            foreach (CheckBox tempCheckBox in checkedCheckBoxes)
            {
                string id        = tempCheckBox.Name;
                Media  tempMedia = MyPhotosAPI.GetMediaById(Guid.Parse(id));
                zip.CreateEntryFromFile(tempMedia.Path, tempMedia.Name, CompressionLevel.Optimal);
            }
            zip.Dispose();
        }
Example #8
0
        private void ButtonAddToDatabase_Click(object sender, EventArgs e)
        {
            string name        = textBoxName.Text;
            string path        = textBoxPath.Text;
            string format      = Path.GetExtension(path);
            string type        = (VIDEO_EXTENSIONS.Contains("*" + format)  ? MediaType.Video : MediaType.Photo).ToString();
            string created     = textBoxCreated.Text;
            string _event      = textBoxEvent.Text;
            string people      = textBoxPeople.Text;
            string location    = textBoxLocation.Text;
            string tags        = textBoxLocation.Text;
            string description = textBoxDescription.Text;

            Media media = new Media()
            {
                Id          = Guid.NewGuid(),
                Name        = name,
                Path        = path,
                Format      = format,
                Type        = type,
                CreatedDate = DateTime.Parse(created),
                Event       = _event,
                People      = people,
                Description = description,
                Location    = location,
                Tags        = tags
            };

            MyPhotosAPI.SaveMedia(media);

            photosPath.Remove(path);
            if (currentPicture > 0)
            {
                currentPicture--;
            }

            textBoxEvent.Text       = "";
            textBoxPeople.Text      = "";
            textBoxLocation.Text    = "";
            textBoxDescription.Text = "";

            SetContentshow();
            AdjustsTheControlButtons();
        }