private void AddMainTask() { bool checkName = true; foreach (var t in ProjectMainTasks) { if (t.Name == NameMainTask) { checkName = false; } } if (checkName == true && Effort > 0 && NameMainTask.Length > 0) { MainTask mainTask = new MainTask { Name = NameMainTask, Effort = Effort, EarlyFinish = EarlyFinish, EarlyStart = EarlyStart, LateFinish = LateFinish, LateStart = LateStart, PrecedingMainTasks = new List <MainTask>(), Status = false }; ProjectMainTasks.Add(mainTask); } else { ErrorMessage er = new ErrorMessage("The name exists or effort <= 0!"); er.ShowDialog(); } setVariable(); }
private void CalculateCost() { ManagerValidation MV = new ManagerValidation(); bool correctForm = MV.CalculateCostValidation(ProjectMainTasks, ProjectResources); if (correctForm) { double tmp = 0; DateTime startProject = DateTime.Now; DateTime endProject; foreach (var resources in ProjectResources) { tmp += resources.Cost; } if (ProjectMainTasks.Count() > 0) { startProject = ProjectMainTasks[0].EarlyStart; } endProject = DateTime.Now; foreach (var mt in ProjectMainTasks) { if (startProject.CompareTo(mt.EarlyStart) > 0) { startProject = mt.EarlyStart; } if (endProject.CompareTo(mt.LateFinish) < 0) { endProject = mt.LateFinish; } } TimeSpan interval = endProject - startProject; int days = interval.Days; int month = (int)Math.Ceiling(((double)days) / 30); // OK double allSalary = 0; foreach (var user in Global.user.Team.Users) { allSalary += user.Salary; } allSalary = allSalary * month; tmp = tmp + allSalary; Cost = tmp; } }
private void RemoveMainTask(object name) { string tmpName = name.ToString(); MainTask findMainTask = ProjectMainTasks.Where(x => x.Name == tmpName).FirstOrDefault(); foreach (var mt in ProjectMainTasks) { foreach (var preMT in mt.PrecedingMainTasks.ToList()) { if (preMT.Name == findMainTask.Name) { mt.PrecedingMainTasks.Remove(findMainTask); } } } ProjectMainTasks.Remove(findMainTask); setVariable(); }