private void SettingsVM_PropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e) { switch (e.PropertyName) { case "LeadMan": case "SecondMan": MaximoPerson leadPerson = null; MaximoPerson secondPerson = null; var l = LaborList.Where(person => person.personid == LeadMan).ToList(); if (l.Count > 0) { leadPerson = l[0]; } if (AppType == "PM") { var list = LaborList.Where(person => person.personid == SecondMan).ToList(); if (list.Count > 0) { secondPerson = list[0]; } } var tempList = new List <MaximoPerson>(); if (leadPerson != null) { tempList.Add(leadPerson); } if (secondPerson != null) { tempList.Add(secondPerson); } DriverList = tempList; if (DriverMan != LeadMan && DriverMan != SecondMan) { DriverMan = e.PropertyName == "LeadMan" ? LeadMan : SecondMan; } break; } }
public virtual void CalculateLaborRates(int laborTypeId) { // recalculate labor rates from remaining like tasks (if any) var commonLabor = LaborList.Where(l => l.LaborType.Id == laborTypeId); if (commonLabor.Count() > 0) { var rate = commonLabor.Where(l => l.EstimatedRate > 0).Select(r => r.EstimatedRate).FirstOrDefault(); if (rate <= 0) { //TODO: log warning rate = 10; } foreach (Labor l in commonLabor) { l.ActualRate = (rate / commonLabor.Count()) * l.Employee.Rate; } } }
public virtual void AddLabor(Labor child) { child.Invoice = this; LaborList.Add(child); }