public void DeleteWorkplace(Guid guid) { var workplace = WorkPlaces.SingleOrDefault(w => w.Guid == guid); if (workplace == null) { throw new CvException($"There is no workplace associated this id -> {guid}"); } WorkPlaces.Remove(workplace); }
public void Compare(DataModel model) { Clear(); if (model.Person == null || model.Employee == null) { return; } var person = model.Person; var employee = model.Employee; var card = model.PersonCard; if (!(person.Nickname ?? String.Empty).Equals(employee.FullName)) { Data.Add(new Difference { Field = "Псевдоним", Source = employee.FullName, Target = person.Nickname }); } if (card != null) { if (employee.LastName != card.LastNameRus) { Data.Add(new Difference { Field = "Фамилия", Source = employee.LastName, Target = card.LastNameRus }); } if (employee.FirstName != card.FirstNameRus) { Data.Add(new Difference { Field = "Имя", Source = employee.FirstName, Target = card.FirstNameRus }); } if (employee.MiddleName != card.MiddleNameRus) { Data.Add(new Difference { Field = "Отчество", Source = employee.MiddleName, Target = card.MiddleNameRus }); } if (employee.Gender != card.Sex) { Data.Add(new Difference { Field = "Пол", Source = employee.Gender, Target = card.Sex }); } } if (model.EmployeePositions != null && model.EmployeePositions.Count > 0) { model.EmployeePositions.ForEach((position) => { var filtered = model.PersonPositions.Where( pos => pos.PersonID == position.PersonID && pos.Position.Equals(position.Position, StringComparison.InvariantCultureIgnoreCase) ).ToList(); if (filtered == null || filtered.Count() == 0) { WorkPlaces.Add(new WorkPlaceDifference { PersonID = position.PersonID, PersonNickname = position.Organization, PersonLinkID = position.PersonLinkID, Position = position.Position }); } else { filtered.ForEach(personPos => { if (personPos.Position.ToLower() != position.Position.ToLower()) { WorkPlaces.Add(new WorkPlaceDifference { PersonID = position.PersonID, PersonNickname = position.Organization, PersonLinkID = position.PersonLinkID, Position = position.Position }); } }); } }); } }
public void Clear() { Data.Clear(); WorkPlaces.Clear(); }