/// <summary> /// Odebere ranní či odpolední blok z deního záznamu /// </summary> /// <param name="partRecord">Záznam,který bude odebrán</param> /// <param name="record"></param> public void RemoveWorkParts(WorkPart partRecord, WorkRecord record) { if (partRecord != null && record != null) { admin.RemoveWorkParts(partRecord, record); } }
/// <summary> /// Obsluha události kliknutí na ADD tlačítko u denního záznamu /// </summary> /// <param name="sender">Instance denního záznamu</param> /// <param name="e"></param> private void AddButton_Click(object sender, EventArgs e) { selectRecord = sender as WorkRecord; WorkAddPartWindow window = new WorkAddPartWindow(this); window.Show(); }
/// <summary> /// Odebere ranní či odpolední blok z deního záznamu /// </summary> /// <param name="partRecord">Záznam,který bude odebrán</param> /// <param name="record"></param> public void RemoveWorkParts(WorkPart partRecord, WorkRecord record) { record.RemoveWorkParts(partRecord); SaveIDs(pathWorkIDs); SaveProjects(pathWorkProjects); SaveIDs(pathWorkIDs_PraceD); SaveProjects(pathWorkProjects_PraceD); }
/// <summary> /// Přidání k danému dny dopolední či odpoledního pracovního blok WORK PART /// </summary> /// <param name="choice">0 - Nový záznam ** 1 - Úprava stávajícího</param> /// <param name="start">Začátek pracovní doby</param> /// <param name="stop">Konec pracovní doby</param> /// <param name="content">Náplň práce</param> /// <param name="partRecord">Záznam k upravení či výmazu</param> /// <param name="record"></param> public void AddEditWorkParts(byte choice, DateTime start, DateTime stop, string content, WorkPart partRecord, WorkRecord record) { record.AddEditWorkParts(choice, start, stop, content, partRecord); SaveIDs(pathWorkIDs); SaveProjects(pathWorkProjects); SaveIDs(pathWorkIDs_PraceD); SaveProjects(pathWorkProjects_PraceD); }
/// <summary> /// Přidá / upraví denní záznam do kolekce v WORK PROJECT /// </summary> /// <param name="choice">0 - Nový * 1 - Úprava</param> /// <param name="project">Projekt, který obsahuje denní záznam</param> /// <param name="record">Záznam pro úpravu</param> /// <param name="date">Datum záznamu</param> /// <param name="planTime">Plánovaná pracovní doba</param> public void AddEditWorkRecord(byte choice, WorkProject project, WorkRecord record, DateTime date, decimal planTime) { project.AddEditWorkRecords(choice, date, planTime, record); SaveIDs(pathWorkIDs); SaveProjects(pathWorkProjects); SaveIDs(pathWorkIDs_PraceD); SaveProjects(pathWorkProjects_PraceD); }
/// <summary> /// Odebere denní záznam z kolekce ve WORK PROJECT /// </summary> /// <param name="record">Záznam, který bude smazán</param> public void RemoveWorkRecord(WorkRecord record) { if (record.WorkParts.Count > 0) { record.RemoveWorkParts(record.WorkParts[record.WorkParts.Count - 1]); } else if (record != null) { Records.Remove(record); } }
/// <summary> /// Přidá / upraví denní záznam do kolekce v WORK PROJECT /// </summary> /// <param name="choice">0 - Nový * 1 - Úprava</param> /// <param name="date">Datum záznamu</param> /// <param name="planTime">Plánovaná pracovní doba</param> /// <param name="record">Záznam pro úpravu</param> public void AddEditWorkRecords(byte choice, DateTime date, decimal planTime, WorkRecord record) { if (choice == 0) { Records.Add(new WorkRecord(date, planTime)); } else if (choice == 1 && record != null) { record.Date = date; record.PlanTime = planTime; } }
/// <summary> /// Odebere denní záznam z kolekce v WORK PROJECT /// </summary> /// <param name="project">Projekt obsahující kolekci denních záznamů</param> /// <param name="record">Záznam k vymazání</param> public void RemoveWorkRecord(WorkRecord record) { if (record != null) { admin.RemoveWorkRecord(record); } else { throw new ArgumentException("Špatná volba nebo nenalezena instance Projektu"); } // Obnovení canvasu, aby na něm byli vykresleny aktuální informace včetně změny ConstructGraphicResult(true, false, false, selectMonthId_records, selectYearId_records); }
/// <summary> /// Odebere denní záznam z kolekce v WORK PROJECT /// </summary> /// <param name="project">Projekt obsahující kolekci denních záznamů</param> /// <param name="record">Záznam k vymazání</param> public void RemoveWorkRecord(WorkRecord record) { foreach (WorkProject proj in Projects) { if (proj.Records.Contains(record)) { proj.RemoveWorkRecord(record); } } SaveIDs(pathWorkIDs); SaveProjects(pathWorkProjects); SaveIDs(pathWorkIDs_PraceD); SaveProjects(pathWorkProjects_PraceD); }
/// <summary> /// Obsluha události kliknutí na EDIT tlačítko u denního záznamu /// </summary> /// <param name="sender">Instance denního záznamu</param> /// <param name="e"></param> private void EditButton_Click(object sender, EventArgs e) { // Pokus je sender denní záznam, rovnou se vytvoří proměnná tohoto typy s názvem RECORD if (sender is WorkRecord record) { selectRecord = record; string projectName = ""; foreach (WorkProject project in admin.Projects) { if (project.Records.Contains(selectRecord)) { projectName = project.Name; break; } } WorkAddWindow window = new WorkAddWindow(this, new VM_RecordPart(record, projectName)); window.Show(); } else { throw new ArgumentException("Nepodařilo se načíst informace o záznamu"); } }
public WorkGraphicRecord(WorkRecord record, string projectName) { this.Record = record; PartFromToText = new TextBlock[2]; PartFromToText_Value = new TextBlock[2]; PartWorkContent = new TextBlock[2]; PartWorkContent_Value = new TextBlock[2]; // České zkratky pro dny v týdnu pro výpis do šedého čtverce u denní události string[] daysOfWeekCZ = new string[] { "Po", "Út", "St", "Čt", "Pá", "So", "Ne" }; string projName = ""; // Formátování názvu projektu, pro případ, že by byl přiliš dlouhý // -- zalomí se na nový řádek // -- maximálně dva řádky // -- každý řádek maximálně 19 znaků if (projectName.Count() > 17) { projName = projectName.Substring(0, 17); projName += "-\n"; if (projectName.Count() > 37) { projName += projectName.Substring(17, 19); } else { projName += projectName.Substring(17, projectName.Count() - 17); } } else { projName = projectName; } BackgroundRect = new Rectangle { Width = 665, Height = 125, RadiusX = 1, RadiusY = 1, Fill = Brushes.White, StrokeThickness = 1, Stroke = Brushes.Gray }; DayRect = new Rectangle { Width = 45, Height = 45, Fill = Brushes.Gray, }; DayNumberRect = new Rectangle { Width = 45, Height = 45, Fill = Brushes.Gray }; Separator1 = new Rectangle { Width = 3, Height = 125, Fill = Brushes.Gray }; Separator2 = new Rectangle { Width = 3, Height = 125, Fill = Brushes.Gray }; Separator3 = new Rectangle { Width = 3, Height = 125, Fill = Brushes.Gray }; if (record.Date.DayOfWeek != DayOfWeek.Sunday) { DayText = new TextBlock { FontSize = 25, FontWeight = FontWeights.ExtraBold, Foreground = Brushes.Black, Text = daysOfWeekCZ[(int)record.Date.DayOfWeek - 1] }; } else { // Jedná se o neděli -- která má hodnota v ENUM 0 nikoliv 6 jak by se čekalo !! DayText = new TextBlock { FontSize = 25, FontWeight = FontWeights.ExtraBold, Foreground = Brushes.Black, Text = daysOfWeekCZ[6] }; } DayNumberText = new TextBlock { FontSize = 25, FontWeight = FontWeights.ExtraBold, Foreground = Brushes.Black, Text = record.Date.Day.ToString() }; AddButton = new Button { Content = "+", Width = 60, Height = 35, Background = Brushes.Green, FontSize = 25, FontWeight = FontWeights.ExtraBold, BorderBrush = Brushes.White }; RemoveButton = new Button { Content = "X", Width = 60, Height = 35, Background = Brushes.Red, FontSize = 25, FontWeight = FontWeights.ExtraBold, BorderBrush = Brushes.White }; EditButton = new Button { Content = "/", Background = Brushes.Yellow, Width = 60, Height = 35, FontSize = 25, FontWeight = FontWeights.ExtraBold, BorderBrush = Brushes.White }; // Celkova doba TimeSpan realTime = new TimeSpan(0, (int)(record.RealTime * 60), 0); RealTime = new TextBlock { FontSize = 15, FontWeight = FontWeights.Bold, Foreground = Brushes.Black, Text = "Odpracováno" }; RealTime_Value = new TextBlock { FontSize = 23, FontWeight = FontWeights.DemiBold, Foreground = Brushes.Black, Text = realTime.Hours + " h " + realTime.Minutes + " min" }; // Projekt Project = new TextBlock { FontSize = 15, FontWeight = FontWeights.Bold, Foreground = Brushes.Black, Text = "Projekt" }; Project_Value = new TextBlock { FontSize = 14, FontWeight = FontWeights.DemiBold, Foreground = Brushes.Black, Text = projName }; AddButton.Click += AddButton_Click; EditButton.Click += EditButton_Click; RemoveButton.Click += RemoveButton_Click; for (int i = 0; i < record.WorkParts.Count; i++) { ConstructWorkParts(record.WorkParts[i], i); } }
/// <summary> /// Konstruktor pro VIEW MODEL - Denní záznam a denní blok /// </summary> /// <param name="record">Denní zíznam pro bindování</param> public VM_RecordPart(WorkRecord record, string projectName) { selectRecord = record; ProjectName = projectName; }
/// <summary> /// Obsluha události kliknutí na REMOVE tlačítko u denního záznamu /// </summary> /// <param name="sender">Instance denního záznamu</param> /// <param name="e"></param> private void RemoveButton_Click(object sender, EventArgs e) { selectRecord = sender as WorkRecord; RemoveWorkRecord(selectRecord); }