private void ExecuteSaveMarriage()
        {
            using (var unitOfWork = new UnitOfWork(new MahalluDBContext())) {
                if (ValidateFields())
                {
                    MarriageCertificate marriageCertificate = GetMarriageDetails();
                    if (CurrentMarriage != null)
                    {
                        CurrentMarriage.GroomName       = marriageCertificate.GroomName;
                        CurrentMarriage.GroomDOB        = marriageCertificate.GroomDOB;
                        CurrentMarriage.GroomFatherName = marriageCertificate.GroomFatherName;
                        CurrentMarriage.GroomHouseName  = marriageCertificate.GroomHouseName;
                        CurrentMarriage.GroomArea       = marriageCertificate.GroomArea;
                        CurrentMarriage.GroomPincode    = marriageCertificate.GroomPincode;
                        CurrentMarriage.GroomPostOffice = marriageCertificate.GroomPostOffice;
                        CurrentMarriage.GroomDistrict   = marriageCertificate.GroomDistrict;
                        CurrentMarriage.GroomState      = marriageCertificate.GroomState;
                        CurrentMarriage.GroomCountry    = marriageCertificate.GroomCountry;
                        if (marriageCertificate.GroomPhoto != null)
                        {
                            CurrentMarriage.GroomPhoto = marriageCertificate.GroomPhoto;
                        }

                        CurrentMarriage.BrideName       = marriageCertificate.BrideName;
                        CurrentMarriage.BrideDOB        = marriageCertificate.BrideDOB;
                        CurrentMarriage.BrideFatherName = marriageCertificate.BrideFatherName;
                        CurrentMarriage.BrideHouseName  = marriageCertificate.BrideHouseName;
                        CurrentMarriage.BrideArea       = marriageCertificate.BrideArea;
                        CurrentMarriage.BridePincode    = marriageCertificate.BridePincode;
                        CurrentMarriage.BridePostOffice = marriageCertificate.BridePostOffice;
                        CurrentMarriage.BrideDistrict   = marriageCertificate.BrideDistrict;
                        CurrentMarriage.BrideState      = marriageCertificate.BrideState;
                        CurrentMarriage.BrideCountry    = marriageCertificate.BrideCountry;
                        if (marriageCertificate.BridePhoto != null)
                        {
                            CurrentMarriage.BridePhoto = marriageCertificate.BridePhoto;
                        }
                        CurrentMarriage.MarriageDate  = marriageCertificate.MarriageDate;
                        CurrentMarriage.MarriagePlace = marriageCertificate.MarriagePlace;

                        unitOfWork.MarriageCertificates.Update(CurrentMarriage);
                        MessageBox.Show(GroomName + "'s marriage updated successfully !", "New Marriage", MessageBoxButton.OK, MessageBoxImage.Information);
                    }
                    else
                    {
                        unitOfWork.MarriageCertificates.Add(marriageCertificate);
                        MarriageList.Add(marriageCertificate);
                        CurrentMarriage = marriageCertificate;
                        MessageBox.Show("Marriage details added successfully !", "New Marriage", MessageBoxButton.OK, MessageBoxImage.Information);
                    }
                    unitOfWork.Complete();
                    BridePhotoPath = GroomPhotoPath = string.Empty;
                    //ExpenseType totatExpenseType = new ExpenseType() { Expense = CurrentExpense };
                    //eventAggregator.GetEvent<PubSubEvent<ExpenseType>>().Publish(totatExpenseType);
                }
            }
        }
 private void ExecuteClearSearch()
 {
     if (searchSource != null && searchSource.Count != MarriageList.Count)
     {
         if (MarriageList != null)
         {
             MarriageList.Clear();
         }
         searchSource = null;
         RefreshMarriages();
     }
     SearchText = String.Empty;
 }
 private void ExecuteSearch()
 {
     RefreshMarriages();
     searchSource = MarriageList.ToList();;
     MarriageList = new ObservableCollection <MarriageCertificate>(searchSource.FindAll((x) => x.BrideName.Contains(SearchText.Trim()) ||
                                                                                        x.BrideFatherName.Contains(SearchText.Trim()) ||
                                                                                        x.GroomFatherName.Contains(SearchText.Trim()) ||
                                                                                        x.Id.ToString() == (SearchText.Trim()) ||
                                                                                        x.GroomName.Contains(SearchText.Trim())));
     if (MarriageList != null && MarriageList.Count == 0)
     {
         MessageBox.Show("No Marriage details found with " + SearchText);
     }
 }
        private void ExecuteDeleteMarriage()
        {
            MessageBoxResult result = MessageBox.Show("Are you sure to delete", "Delete", MessageBoxButton.YesNo, MessageBoxImage.Warning);

            if (result == MessageBoxResult.Yes)
            {
                if (CurrentMarriage != null)
                {
                    using (var unitofWork = new UnitOfWork(new MahalluDBContext())) {
                        MarriageCertificate marriageCertificate = unitofWork.MarriageCertificates.Get(CurrentMarriage.Id);
                        unitofWork.MarriageCertificates.Remove(marriageCertificate);
                        unitofWork.Complete();

                        //ExpenseType totatExpenseType = new ExpenseType() { Expense = CurrentExpense };
                        //eventAggregator.GetEvent<PubSubEvent<ExpenseType>>().Publish(totatExpenseType);

                        MarriageList.Remove(CurrentMarriage);
                        CurrentMarriage = null;
                    }
                }
            }
        }