using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows; using System.Windows.Controls; using System.Windows.Data; using System.Windows.Documents; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Imaging; using System.Windows.Navigation; using System.Windows.Shapes; using District_3_App.Enitities; using District_3_App.Enitities.Mocks; using District_3_App.Repository; using District_3_App.Service; using static System.Runtime.InteropServices.JavaScript.JSType; namespace District_3_App.HighlightsFE { public partial class CreateNewHighlight : Window { private List guids = new (); private string newHighlightName; private string newHighlightCover; private SnapshotsService snapshotsService; public CreateNewHighlight(List selectedPostsGuids) { CasualProfileService casualProfileService = new CasualProfileService(); snapshotsService = casualProfileService.GetSnapshotsService(); InitializeComponent(); guids = selectedPostsGuids; int nrPosts = guids.Count; DataContext = nrPosts; } private void TextBox_TextChanged(object sender, TextChangedEventArgs e) { if (textInputBox.Text != "Enter Highlight Name") { newHighlightName = textInputBox.Text; } } private void Button_Click(object sender, RoutedEventArgs e) { if (guids.Count <= 0) { MessageBox.Show("You didn't add any posts. The cover will be the default black"); } else { ChooseCoverPopUp.IsOpen = !ChooseCoverPopUp.IsOpen; } } private void DoneButton_Click(object sender, RoutedEventArgs e) { try { snapshotsService.AddHighlight(newHighlightName, newHighlightCover, guids); this.Close(); } catch (Exception ex) { MessageBox.Show(ex.ToString()); } finally { ChooseCoverPopUp.IsOpen = false; } } private void CoverInput_TextChanged(object sender, TextChangedEventArgs e) { string highlightCover = coverInput.Text; try { int numberOfPost = int.Parse(highlightCover); if (numberOfPost < 0 || numberOfPost > guids.Count) { MessageBox.Show("Please enter a number between 1 and " + guids.Count.ToString()); } newHighlightCover = guids[numberOfPost].ToString(); } catch (Exception) { MessageBox.Show("Something went wrong :(" + guids.Count.ToString()); } } } }