示例#1
0
 /// <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);
     }
 }
示例#2
0
        /// <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();
        }
示例#3
0
        /// <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);
        }
示例#4
0
        /// <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);
        }
示例#5
0
        /// <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);
        }
示例#6
0
 /// <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);
     }
 }
示例#7
0
 /// <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;
     }
 }
示例#8
0
 /// <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);
 }
示例#9
0
        /// <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);
        }
示例#10
0
 /// <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");
     }
 }
示例#11
0
        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);
            }
        }
示例#12
0
 /// <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;
 }
示例#13
0
 /// <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);
 }