/// <summary> /// Odebrání záznamu z kolekce /// </summary> public void RemoveRecord(NoteRecord record) { if (Records.Contains(record)) { Records.Remove(record); } SaveId_Color(); SaveRecord(); }
/// <summary> /// Konstruktor /// </summary> /// <param name="admin">Správce poznámkového bloku</param> /// <param name="record">Záznam pro úpravu</param> /// <param name="selectPage">Následující strana - tedy strana kde je místo</param> public NoteAddWindow(NoteAdmin admin, NoteRecord record, byte selectPage) { DataContext = record; InitializeComponent(); this.admin = admin; this.record = record; this.selectPage = selectPage; if (record == null) { removeButton.Opacity = 0.5; removeButton.Focusable = false; } }
/// <summary> /// Metoda pro uložení / úpravu poznámky do kolecke /// </summary> /// <param name="type">0 - Nový záznam ** 1 - Úprava</param> /// <param name="name">Název poznámky</param> /// <param name="description">Text poznámky</param> /// <param name="date">Datum zadání poznámky</param> /// <param name="record">Záznam, který má být upraven</param> public void EnterEditRecord(byte type, string name, string description, NoteRecord record) { if (name.Count() <= 3) { throw new ArgumentException("Zadal jsi název poznámky kratší než 4 znaky. Jsi si jist?"); } if (description.Count() <= 3) { throw new ArgumentException("Zadal jsi text poznámky kratší než 4 znaky. Jsi si jist?"); } if (name == "" || description == "") { throw new ArgumentException("Nezadal jsi žádný název nebo text poznámky"); } int[] pageCount = new int[6]; // Strana na které je místo pro novou poznámka - počítáno od 1. byte nextFreePlacePage = 1; foreach (NoteRecord rec in Records) { // Inkrementuji počet záznamů na straně pageCount[rec.Page]++; } for (int i = 1; i < 6; i++) { // Pokud je na straně max 3 záznamy, vystavím FLAG - že daná strana má místo if (pageCount[i] < 4) { nextFreePlacePage = (byte)i; break; } } if (type == 0) { Records.Add(new NoteRecord(name, description, DateTime.Now.Date, nextFreePlacePage)); } else if (type == 1 && record != null) { record.Name = name; record.Text = description; } else { throw new ArgumentException("Něco se nepodařilo a záznam nebyl přidán / upraven. Zkus to prosím znovu."); } SaveId_Color(); SaveRecord(); }
/// <summary> /// Vytvoří grafickou podobu poznámky /// </summary> /// <param name="record">Poznámka, která má být graficky zpracována</param> /// <param name="topColor">0 - Světle modrá, 1 - Šedá, 2 - Červená, 3 - Modrá, 4 - Zelená, 5 - Žlutá</param> public NoteGraphicRecord(NoteRecord record, byte topColor) { Brush topBrush = new SolidColorBrush(Color.FromArgb(255, 62, 188, 250));; Brush downBrush = Brushes.White; switch (topColor) { case 1: // Šedá topBrush = new SolidColorBrush(Color.FromArgb(220, 196, 185, 185)); break; case 2: // Červená topBrush = new SolidColorBrush(Color.FromArgb(220, 255, 0, 0)); break; case 3: // Modrá topBrush = new SolidColorBrush(Color.FromArgb(220, 64, 64, 210)); break; case 4: // Zelená topBrush = new SolidColorBrush(Color.FromArgb(220, 34, 139, 34)); break; case 5: // Žlutá topBrush = new SolidColorBrush(Color.FromArgb(220, 206, 255, 108)); break; default: // Světle modrá topBrush = new SolidColorBrush(Color.FromArgb(220, 62, 188, 250)); break; } Name = new TextBlock { FontSize = 15, FontWeight = FontWeights.Bold, Foreground = Brushes.Black, Text = record.Name }; Text = new TextBlock { FontSize = 13, FontWeight = FontWeights.DemiBold, Foreground = Brushes.Black, Text = record.Text }; Date = new TextBlock { FontSize = 12, FontWeight = FontWeights.DemiBold, Foreground = Brushes.Black, Text = record.Date.ToShortDateString() }; RectangleTop = new Rectangle { Width = 250, Height = 30, RadiusX = 5, RadiusY = 5, Fill = topBrush }; RectangleDown = new Rectangle { Width = 250, Height = 250, RadiusX = 8, RadiusY = 8, Fill = downBrush, StrokeThickness = 2, Stroke = Brushes.Gray, }; RectangleDown.MouseLeftButtonDown += RectangleDown_MouseLeftButtonDown; Text.MouseLeftButtonDown += Text_MouseLeftButtonDown; Record = record; }