示例#1
0
        public void StartWork()
        {
            TeamLeader leader = (TeamLeader)Workers
                                .FirstOrDefault(f => f.IsTeam == true);
            DateTime stw = DateTime.Now;
            DateTime fw  = stw;

            for (int i = 0; i < ListWork.Count; i++)
            {
                Worker w = leader[leader.GetWorkerId()];
                if ((fw - stw).TotalDays > 20)
                {
                    leader.GetReport(ListWork);
                    fw = stw;
                }
                else
                {
                    IPart p = GetWork();
                    if (p != null)
                    {
                        int workOut = rnd.Next(1, 30);
                        ListWork[p.WorkId].DateStart  = fw;
                        ListWork[p.WorkId].DateFinish =
                            ListWork[p.WorkId].DateStart
                            .AddDays(workOut);

                        fw = fw.AddDays(workOut);

                        ListWork[p.WorkId].Worker = w;
                        Console.WriteLine("done");
                    }
                }
            }
        }
示例#2
0
        public void StartWork()
        {
            TeamLeader leader = (TeamLeader)Workers.FirstOrDefault(f => f.IsTeam == true);

            DateTime stw = DateTime.Now;
            DateTime fw  = stw;

            ListWork = ListWork.OrderBy(o => o.Sort).ToList();
            for (int i = 0; i < ListWork.Count; i++)
            {
                Worker w = leader[leader.GetWorkerId()];
                //  leader.GetReport(ListWork);
                if ((fw - stw).TotalDays > 0)
                {
                    leader.GetReport(ListWork);
                }
                else
                {
                    IPart p = GetWork();
                    if (p != null)
                    {
                        int workOut = rnd.Next(1, 15);
                        ListWork[p.WorkId].DateStart  = fw;
                        ListWork[p.WorkId].DateEnd    = ListWork[p.WorkId].DateStart.AddDays(rnd.Next(1, 30));
                        ListWork[p.WorkId].WorkerGets = w;
                        fw = fw.AddDays(workOut);
                    }
                }
            }
        }