//Lost button
        private void ProjectMenuDeleteButton_Click(object sender, EventArgs e)
        {
            var ProjectsMarkedforDestuction = new List <Projects>();

            foreach (var CheckedProject in ProjectHistroylistBox.CheckedItems)
            {
                ProjectsMarkedforDestuction.Add(ProjectList.FindProject(ProjectsMarkedforDestuction.ToString().GetProjectNameInCheck()));
            }
            if (ProjectsMarkedforDestuction.Count == 0)
            {
                return;
            }


            if (DialogResult.Yes == MessageBox.Show("Jeste li sigurni da zelite izbrisati odabrane stavke?", "Oprez!", MessageBoxButtons.YesNo, MessageBoxIcon.Exclamation))
            {
                foreach (var project in ProjectsMarkedforDestuction)
                {
                    ProjectList.Remove(project);
                    foreach (var employee in EmployeesOnProject.GetEmployeesOnProject(project.Name))
                    {
                        EmployeesOnProject.Remove(EmployeesOnProject.GetRelation(employee.OIB, project.Name));
                    }
                }
            }
            else
            {
                this.Close();
            }
        }
Exemple #2
0
        private static void AddEmployeeProjects(ListViewItem destination, Employees SourceProjects)
        {
            var FinishedProjects   = 0;
            var ActiveProjects     = 0;
            var SoonToComeProjects = 0;

            foreach (var Project in EmployeesOnProject.GetProjectsByEmployee(SourceProjects.OIB))
            {
                if (Project.Started())
                {
                    FinishedProjects++;
                }
                if (Project.Started() && !Project.Finished())
                {
                    ActiveProjects++;
                }
                if (!Project.Started())
                {
                    SoonToComeProjects++;
                }
            }

            destination.SubItems.Add(FinishedProjects.ToString());
            destination.SubItems.Add(ActiveProjects.ToString());
            destination.SubItems.Add(SoonToComeProjects.ToString());
        }
Exemple #3
0
 private static void AddEmployeeProperties(ListViewItem destination, Employees Source)
 {
     destination.SubItems.Add(Source.Surname);
     destination.SubItems.Add($"{Source.BirthDay:d}");
     destination.SubItems.Add(Source.OIB);
     destination.SubItems.Add(Source.Rank.ToString());
     destination.SubItems.Add(EmployeesOnProject.EmployeeThisWeeksWorkHours(Source.OIB).ToString());
 }
Exemple #4
0
 private void UpdateOIB()
 {
     foreach (var relation in EmployeesOnProject.GetAllRelations())
     {
         if (relation.OIB == OldOIB)
         {
             relation.OIB = EmployeeAddOIBTextbox.Text;
         }
     }
 }
Exemple #5
0
 private void UpdateProjectName()
 {
     foreach (var Relation in EmployeesOnProject.GetAllRelations())
     {
         if (Relation.ProjectName == OldName)
         {
             Relation.ProjectName = ProjectAddNameTextBox.Text;
         }
     }
 }
Exemple #6
0
 private void RemoveUncheckedEmployees()
 {
     foreach (var EmployeeProperty in ProjectAddcheckedListBox.Items)
     {
         if (ProjectAddcheckedListBox.CheckedItems.Contains(EmployeeProperty))
         {
             continue;
         }
         if (EmployeesOnProject.IsEmployeeOnProject(EmployeeProperty.ToString().GetOIBInCheck(), OldName))
         {
             EmployeesOnProject.Remove(EmployeesOnProject.GetRelation(EmployeeProperty.ToString().GetOIBInCheck(), OldName));
         }
     }
 }
Exemple #7
0
 private static void AddEmployeeColors(ListViewItem destination, Employees SourceWorkHours)
 {
     if (EmployeesOnProject.EmployeeThisWeeksWorkHours(SourceWorkHours.OIB) > 40)
     {
         destination.BackColor = Color.Red;
     }
     else if (EmployeesOnProject.EmployeeThisWeeksWorkHours(SourceWorkHours.OIB) < 30)
     {
         destination.BackColor = Color.Goldenrod;
     }
     else
     {
         destination.BackColor = Color.MediumSeaGreen;
     }
 }
Exemple #8
0
 private void CheckProjectsDoneByEmployee(string Oib)
 {
     foreach (var Project in EmployeesOnProject.GetProjectsByEmployee(Oib))
     {
         for (var i = 0; i < EmployeePositioncheckedListBox.Items.Count; i++)
         {
             if (EmployeePositioncheckedListBox.Items[i].ToString().GetProjectNameInCheck() != Project.ToString().GetProjectNameInCheck())
             {
                 continue;
             }
             EmployeePositioncheckedListBox.SetItemChecked(i, true);
             break;
         }
     }
 }
Exemple #9
0
 private void CheckEmployeesOnProject(string name)
 {
     foreach (var Employee in EmployeesOnProject.GetEmployeesOnProject(name))
     {
         for (var i = 0; i < ProjectAddcheckedListBox.Items.Count; i++)
         {
             if (ProjectAddcheckedListBox.Items[i].ToString().GetOIBInCheck() != Employee.ToString().GetOIBInCheck())
             {
                 continue;
             }
             ProjectAddcheckedListBox.SetItemChecked(i, true);
             break;
         }
     }
 }
Exemple #10
0
 private void AddProjectsToEmployee(IEnumerable <string> SourceProjectList)
 {
     foreach (var Name in SourceProjectList)
     {
         if (EmployeesOnProject.IsEmployeeOnProject(OldOIB, Name))
         {
             continue;
         }
         var AddTime = new AddEmployeeWorkHours(Name, EmployeAddNameTextbox.Text);
         AddTime.ShowDialog();
         if (AddTime.HoursToAdd == 0)
         {
             MessageBox.Show("Upozorenje!", "Nemoze zaposlenik ne radit ništa!", MessageBoxButtons.OK, MessageBoxIcon.Error);
             continue;
         }
         EmployeesOnProject.AddProject(Name, OldOIB, AddTime.HoursToAdd);
     }
 }
Exemple #11
0
        private static void DeleteEmployee(Employees MarkedEmployee)
        {
            var ErrorCounter = 0;

            foreach (var project in EmployeesOnProject.GetProjectsByEmployee(MarkedEmployee.OIB))
            {
                if (EmployeesOnProject.TryRemove(EmployeesOnProject.GetRelation(MarkedEmployee.OIB, project.Name)))
                {
                    continue;
                }
                ErrorCounter++;
                MessageBox.Show("Upozorenje!", "Ne možete izbrisati odabranog zaposlenika jer sam radi na jednom ili više projekata!", MessageBoxButtons.OK, MessageBoxIcon.Error);
                break;
            }
            if (ErrorCounter == 0)
            {
                EmployeesList.EmployeeDelete(MarkedEmployee);
            }
        }
        private void RefreshProjectDetails()
        {
            var detailsText = "";

            foreach (var Project in ProjectDetails)
            {
                detailsText += $"{Project.Name}\n{Project.ProjectStart:d} - {Project.ProjectFinish:d}\n\n";

                foreach (var Position in Enum.GetNames(typeof(CompanyPositions)))
                {
                    var PositionsOfEmployees = new List <Employees>();
                    foreach (var Employee in EmployeesOnProject.GetEmployeesOnProject(Project.Name))
                    {
                        if (Employee.Rank.ToString() == Position)
                        {
                            PositionsOfEmployees.Add(Employee);
                        }
                    }

                    if (PositionsOfEmployees.Count == 0)
                    {
                        continue;
                    }

                    detailsText += $"{Position} ({PositionsOfEmployees.Count})\n";

                    foreach (var employee in PositionsOfEmployees)
                    {
                        detailsText +=
                            $"\t{employee.Name} {employee.Surname} ({EmployeesOnProject.GetRelation(employee.OIB, Project.Name).WorkHours} hours)\n";
                    }

                    detailsText += "\n";
                }

                detailsText += "\n";
            }

            ProjectDetailslistBox.Text = detailsText;
        }
        private void RefreshProjects()
        {
            var detailsText = "";

            foreach (var project in ProjectHistoryList)
            {
                detailsText += $"{project.Name}\n{project.ProjectStart:d} - {project.ProjectFinish:d}\n\n";

                foreach (var position in Enum.GetNames(typeof(CompanyPositions)))
                {
                    var positionEmployees = new List <Employees>();
                    foreach (var employee in EmployeesOnProject.GetEmployeesOnProject(project.Name))
                    {
                        if (employee.Rank.ToString() == position)
                        {
                            positionEmployees.Add(employee);
                        }
                    }

                    if (positionEmployees.Count == 0)
                    {
                        continue;
                    }

                    detailsText += $"{position} ({positionEmployees.Count})\n";

                    foreach (var employee in positionEmployees)
                    {
                        detailsText +=
                            $"\t{employee.Name} {employee.Surname} ({EmployeesOnProject.GetRelation(employee.OIB, project.Name).WorkHours} hours)\n";
                    }

                    detailsText += "\n";
                }

                detailsText += "\n";
            }

            ProjectHistroylistBox.Text = detailsText;
        }
Exemple #14
0
 private bool RemoveUncheckedProjects()
 {
     foreach (var ProjectProperty in EmployeePositioncheckedListBox.Items)
     {
         if (EmployeePositioncheckedListBox.CheckedItems.Contains(ProjectProperty))
         {
             continue;
         }
         if (!EmployeesOnProject.IsEmployeeOnProject(OldOIB, ProjectProperty.ToString().GetProjectNameInCheck()))
         {
             continue;
         }
         if (EmployeesOnProject.TryRemove(EmployeesOnProject.GetRelation(OldOIB, ProjectProperty.ToString().GetProjectNameInCheck())))
         {
             continue;
         }
         EmployeeDeleteError LastEmp = new EmployeeDeleteError();
         LastEmp.ShowDialog();
         return(false);
     }
     return(true);
 }
Exemple #15
0
        private void AddEmployeesToProject()
        {
            var EmployeesUnchecked = new List <string>();

            foreach (var Oib in CheckedOIBs)
            {
                if (EmployeesOnProject.IsEmployeeOnProject(Oib, OldName))
                {
                    continue;
                }
                var AddTime = new AddProjectWorkHours(ProjectAddNameTextBox.Text, EmployeesList.FindEmployeeByOIB(Oib).Name);
                AddTime.ShowDialog();
                if (AddTime.HoursToAdd == 0)
                {
                    MessageBox.Show("Upozorenje!", "Zaposlenik ne može raditi ništa!", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    EmployeesUnchecked.Add(Oib);
                    continue;
                }
                EmployeesOnProject.AddProject(OldName, Oib, AddTime.HoursToAdd);
            }
            UncheckEmployees(EmployeesUnchecked);
        }
Exemple #16
0
        private void RefreshEmployeeInfo()
        {
            EmployeeListslistView.Items.Clear();

            EmployeeListslistView.Columns.Add("Ime:", -1, HorizontalAlignment.Left);
            EmployeeListslistView.Columns.Add("Prezime:", -1, HorizontalAlignment.Left);
            EmployeeListslistView.Columns.Add("Datum rođenja:", -1, HorizontalAlignment.Left);
            EmployeeListslistView.Columns.Add("OIB:", -1, HorizontalAlignment.Left);
            EmployeeListslistView.Columns.Add("Pozicija:", -1, HorizontalAlignment.Left);
            EmployeeListslistView.Columns.Add("Radni sati(ovaj tjedan);", -1, HorizontalAlignment.Left);
            EmployeeListslistView.Columns.Add("Zavrsenih projekata:", -1, HorizontalAlignment.Left);
            EmployeeListslistView.Columns.Add("Trenutno aktivnih projekata:", -1, HorizontalAlignment.Left);
            EmployeeListslistView.Columns.Add("Nadolazeci projekti:", -1, HorizontalAlignment.Left);

            foreach (var Employee in EmployeesList.GetAllEmployees())
            {
                var EmployeeProperty = new ListViewItem(Employee.Name);

                if (EmployeesOnProject.EmployeeThisWeeksWorkHours(Employee.OIB) > 40)
                {
                    EmployeeProperty.BackColor = Color.DarkSlateGray; //stavi novu
                }
                else if (EmployeesOnProject.EmployeeThisWeeksWorkHours(Employee.OIB) < 30)
                {
                    EmployeeProperty.BackColor = Color.Goldenrod;
                }
                else
                {
                    EmployeeProperty.BackColor = Color.Aquamarine;
                }

                EmployeeProperty.SubItems.Add(Employee.Surname);
                EmployeeProperty.SubItems.Add($"{Employee.BirthDay:d}");
                EmployeeProperty.SubItems.Add(Employee.OIB);
                EmployeeProperty.SubItems.Add(Employee.Rank.ToString());
                EmployeeProperty.SubItems.Add(EmployeesOnProject.EmployeeThisWeeksWorkHours(Employee.OIB).ToString());

                var FinishedProjects = 0;
                var ActiveProjects   = 0;
                var FutureProjects   = 0;
                foreach (var Project in EmployeesOnProject.GetProjectsByEmployee(Employee.OIB))
                {
                    if (Project.Finished())
                    {
                        FinishedProjects++;
                    }
                    if (Project.Started() && !Project.Finished())
                    {
                        ActiveProjects++;
                    }
                    if (Project.Started())
                    {
                        FutureProjects++;
                    }
                }

                EmployeeProperty.SubItems.Add(FinishedProjects.ToString());
                EmployeeProperty.SubItems.Add(ActiveProjects.ToString());
                EmployeeProperty.SubItems.Add(FutureProjects.ToString());

                EmployeeListslistView.Items.Add(EmployeeProperty);
            }
        }