コード例 #1
0
        static void Main(string[] args)
        {
            Console.WriteLine("Welcome to Techie Company");
            bool showMenu = true;
            BusinessUnitDomain    businessUnitDomain    = new BusinessUnitDomain();
            EmployeeDomain        employeeDomain        = new EmployeeDomain();
            EmployeeLeaveDomain   employeeLeaveDomain   = new EmployeeLeaveDomain();
            EmployeeProjectDomain employeeProjectDomain = new EmployeeProjectDomain();
            ProjectDomain         projectDomain         = new ProjectDomain();

            while (showMenu)
            {
                Console.Clear();
                Console.WriteLine("Choose an option:");
                Console.WriteLine("1) Add Employee");
                Console.WriteLine("2) Add Employee Leave");
                Console.WriteLine("3) Add Employee Project");
                Console.WriteLine("4) Add Project");
                Console.WriteLine("5) List Project");
                Console.WriteLine("6) Exit");
                Console.Write("\r\nSelect an option: ");

                switch (Console.ReadLine().Trim())
                {
                case "1":
                {
                    Employees employee = new Employees();
                    Console.Write("Enter Name : ");
                    employee.EmployeeName = Console.ReadLine().Trim();
                    Console.Write("Enter Phone No : ");
                    employee.PhoneNo = Convert.ToInt64(Console.ReadLine().Trim());
                    Console.Write("Enter Email : ");
                    employee.Email = Console.ReadLine().Trim();
                    Console.Write("Enter Employee Type : ");
                    employee.EmployeeType = Convert.ToInt32(Console.ReadLine().Trim());
                    Console.WriteLine("No     Name");
                    foreach (BusinessUnits businessUnit in businessUnitDomain.GetBusinessUnits())
                    {
                        Console.WriteLine($"{businessUnit.BusinessUnitId}     {businessUnit.BusinessUnitName}");
                    }
                    Console.Write("Select Business Unit by No : ");
                    employee.BusinessUnitId = Convert.ToInt32(Console.ReadLine().Trim());
                    employeeDomain.AddEmployee(employee);
                    Console.Write("Employee Added");
                    Console.ReadLine();
                    break;
                }

                case "2":
                {
                    EmployeeLeaves employeeLeave = new EmployeeLeaves();
EmployeeName:
                    Console.Write("Enter Employee Name : ");
                    var Employees = employeeDomain.GetByEmployeeName(Console.ReadLine().Trim());
                    Console.WriteLine("No     Employee Name     EmployeeType     PhoneNo");
                    foreach (Employees employee in Employees)
                    {
                        Console.WriteLine($"{employee.EmployeeId}     {employee.EmployeeName}     {employee.EmployeeType}     {employee.PhoneNo}");
                    }
                    Console.WriteLine("You want to Search Again then enter '0' or Enter Employee No?");
                    int employeeId = Convert.ToInt32(Console.ReadLine().Trim());
                    if (employeeId == 0)
                    {
                        goto EmployeeName;
                    }
                    employeeLeave.EmployeeId = employeeId;
                    Console.Write("Enter Start Date : ");
                    employeeLeave.StartDate = Convert.ToDateTime(Console.ReadLine().Trim());
                    Console.Write("Enter End Date : ");
                    employeeLeave.EndDate = Convert.ToDateTime(Console.ReadLine().Trim());
                    employeeLeaveDomain.AddEmployeeLeave(employeeLeave);
                    Console.Write("Employee Leave is Created");
                    break;
                }

                case "3":
                {
                    EmployeeProjects employeeProject = new EmployeeProjects();
EmployeeName:
                    Console.Write("Enter Employee Name : ");
                    List <Employees> Employees = employeeDomain.GetByEmployeeName(Console.ReadLine().Trim());
                    Console.WriteLine("No     Employee Name     EmployeeType     PhoneNo");
                    foreach (Employees employee in Employees)
                    {
                        Console.WriteLine($"{employee.EmployeeId}     {employee.EmployeeName}     {employee.EmployeeType}     {employee.PhoneNo}");
                    }
                    Console.WriteLine("You want to Search Again then enter '0' or Enter Employee No?");
                    int employeeId = Convert.ToInt32(Console.ReadLine().Trim());
                    if (employeeId == 0)
                    {
                        goto EmployeeName;
                    }
                    employeeProject.EmployeeId = employeeId;
                    Console.WriteLine("No     Project Name");
                    foreach (Projects project in projectDomain.GetByBusinessUnit(Employees.Find(t => t.EmployeeId == employeeId).BusinessUnitId))
                    {
                        Console.WriteLine($"{project.ProjectId}     {project.ProjectName}");
                    }
                    Console.Write("Select Project by No : ");
                    employeeProject.ProjectId = Convert.ToInt32(Console.ReadLine().Trim());
                    employeeProjectDomain.AddEmployeeProject(employeeProject);
                    Console.Write("Project is Assign to Employee");
                    break;
                }

                case "4":
                {
                    Projects project = new Projects();
                    Console.Write("Enter Name : ");
                    project.ProjectName = Console.ReadLine().Trim();
                    Console.Write("Enter Budget : ");
                    project.Budget = Convert.ToInt32(Console.ReadLine().Trim());
                    Console.Write("Enter Start Date : ");
                    project.StartDate = Convert.ToDateTime(Console.ReadLine().Trim());
                    Console.Write("Enter Deadline Date : ");
                    project.DeadLine = Convert.ToDateTime(Console.ReadLine().Trim());
                    Console.WriteLine("No     Name");
                    foreach (BusinessUnits businessUnit in businessUnitDomain.GetBusinessUnits())
                    {
                        Console.WriteLine($"{businessUnit.BusinessUnitId}     {businessUnit.BusinessUnitName}");
                    }
                    Console.Write("Select Business Unit by No : ");
                    project.BusinessUnitId = Convert.ToInt32(Console.ReadLine().Trim());

EmployeeName:
                    Console.Write("Enter Employee Name : ");
                    List <Employees> Employees = employeeDomain.GetByEmployeeName(Console.ReadLine().Trim());
                    Console.WriteLine("No     Employee Name     EmployeeType     PhoneNo");
                    foreach (Employees employee in Employees)
                    {
                        Console.WriteLine($"{employee.EmployeeId}     {employee.EmployeeName}     {employee.EmployeeType}     {employee.PhoneNo}");
                    }
                    Console.WriteLine("You want to Search Again then enter '0' or Enter Employee No?");
                    int employeeId = Convert.ToInt32(Console.ReadLine().Trim());
                    if (employeeId == 0)
                    {
                        goto EmployeeName;
                    }
                    project.ProjectManagerId = employeeId;

                    project.Status = 10;
                    projectDomain.AddProject(project);
                    Console.Write("ManufactureUnit Added");
                    Console.ReadLine();
                    break;
                }

                case "5":
                {
                    Console.WriteLine("No     Project Name     BusinessUnit     Project Manager     Start Date     DeadLine");
                    foreach (Projects project in projectDomain.GetProjects())
                    {
                        Console.WriteLine($"{project.ProjectId}     {project.ProjectName}     {project.BusinessUnit.BusinessUnitName}     {project.ProjectManager.EmployeeName}     {project.StartDate}     {project.DeadLine}");
                    }
                    Console.ReadLine();
                    break;
                }

                case "6":
                {
                    showMenu = false;
                    break;
                }

                default:
                    Console.WriteLine("please enter correct option");
                    break;
                }
            }
        }