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"); } } } }
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); } } } }