private void ExecuteSaveResidence() { using (var unitOfWork = new UnitOfWork(new MahalluDBContext())) { if (ValidateResidence()) { Residence residence = GetResidence(); if (CurrentResidence != null) { CurrentResidence.Name = residence.Name; CurrentResidence.Area = residence.Area; unitOfWork.Residences.Update(CurrentResidence); MessageBox.Show(CurrentResidence.Name + " updated successfully !", "New Residence", MessageBoxButton.OK, MessageBoxImage.Information); } else { if (CurrentResidence == null && IsHouserNumberExists(unitOfWork)) { return; } unitOfWork.Residences.Add(residence); ResidenceList.Add(residence); CurrentResidence = residence; MessageBox.Show(CurrentResidence.Name + " added successfully !", "New Residence", MessageBoxButton.OK, MessageBoxImage.Information); } unitOfWork.Complete(); ResidenceType residenceType = new ResidenceType { Residence = CurrentResidence, Operation = MahalluManager.Model.Common.Operation.Add }; eventAggregator.GetEvent <PubSubEvent <ResidenceType> >().Publish(residenceType); } } }
private void ExecuteSearch() { RefreshResidence(); searchSource = ResidenceList.ToList();; if (SearchByHouseNumber) { ResidenceList = new ObservableCollection <Residence>(searchSource.FindAll((x) => x.Number == SearchText.Trim())); if (ResidenceList != null && ResidenceList.Count == 0) { MessageBox.Show("No Residence Found with House Number " + SearchText); } } else if (SearchByHouseName) { ResidenceList = new ObservableCollection <Residence>(searchSource.FindAll((x) => x.Name.ToLower().Contains(SearchText.Trim().ToLower()))); if (ResidenceList != null && ResidenceList.Count == 0) { MessageBox.Show("No Residence Found with House Name " + SearchText); } } else if (SearchByMemberName) { using (var unitofWork = new UnitOfWork(new MahalluDBContext())) { List <ResidenceMember> tempResidenceMembers = unitofWork.ResidenceMembers.Find((x) => x.MemberName.ToLower().Contains(SearchText.Trim().ToLower())).ToList(); if (tempResidenceMembers != null && tempResidenceMembers.Count == 0) { MessageBox.Show("No Residence Found with Member Name " + SearchText); } else { ResidenceList.Clear(); foreach (var item in tempResidenceMembers) { Residence residence = searchSource.Find((x) => x.Id == item.Residence_Id); if (residence != null && !ResidenceList.Contains(residence)) { ResidenceList.Add(residence); } } } } } }