コード例 #1
0
ファイル: Program.cs プロジェクト: rashiidmv/Committe
        private static ResidenceMember GetResidenceMember(string[] fields, int residenceId)
        {
            var residenceMember = new ResidenceMember();

            residenceMember.Residence_Id   = residenceId;
            residenceMember.MemberName     = fields[2].Trim('\"').ToUpper();
            residenceMember.DOB            = Convert.ToDateTime(fields[3].Trim('\"'));
            residenceMember.Gender         = fields[4].Trim('\"');
            residenceMember.Mobile         = fields[5].Trim('\"');
            residenceMember.Job            = fields[6].Trim('\"');
            residenceMember.MarriageStatus = fields[7].Trim('\"');
            residenceMember.Qualification  = fields[8].Trim('\"');
            if (!String.IsNullOrEmpty(fields[9].Trim('\"')))
            {
                residenceMember.Abroad  = true;
                residenceMember.Country = fields[9].Trim('\"');
            }
            else
            {
                residenceMember.Abroad = false;
            }
            residenceMember.IsGuardian = false;

            return(residenceMember);
        }
コード例 #2
0
 private bool ValidateResidenceMember(UnitOfWork unitOfWork)
 {
     if (CurrentResidence == null)
     {
         MessageBox.Show("Please select residence first to add a member");
         return(false);
     }
     if (String.IsNullOrEmpty(MemberName))
     {
         MessageBox.Show("Please enter member name");
         return(false);
     }
     if (!Male && !Female && !Other)
     {
         MessageBox.Show("Please enter gender");
         return(false);
     }
     //if(String.IsNullOrEmpty(MarriageStatus)) {
     //    MessageBox.Show("Please enter marriage status");
     //    return false;
     //}
     if (CurrentMember == null)
     {
         ResidenceMember residenceMember = unitOfWork.ResidenceMembers.Find((x) => x.MemberName == MemberName &&
                                                                            x.Residence_Id == CurrentResidence.Id).FirstOrDefault();
         if (residenceMember != null)
         {
             MessageBox.Show("Member already exists");
             return(false);
         }
     }
     return(true);
 }
コード例 #3
0
        private ResidenceMember GetResidenceMember()
        {
            var residenceMember = new ResidenceMember();

            residenceMember.MemberName = MemberName.Trim().ToUpper();
            residenceMember.DOB        = DOB;
            residenceMember.Job        = Job?.Trim();
            residenceMember.Mobile     = Mobile?.Trim();
            residenceMember.Abroad     = IsAbroad;
            if (IsAbroad)
            {
                residenceMember.Country = Country?.Trim();
            }
            residenceMember.IsGuardian = IsGuardian;
            String gender = String.Empty;

            if (Male)
            {
                gender = "Male";
            }
            else if (Female)
            {
                gender = "Female";
            }
            else
            {
                gender = "Other";
            }
            residenceMember.Gender         = gender;
            residenceMember.MarriageStatus = MarriageStatus;
            residenceMember.Qualification  = Qualification;
            residenceMember.Remarks        = Remarks;
            residenceMember.Residence_Id   = CurrentResidence.Id;
            return(residenceMember);
        }
コード例 #4
0
        private void ExecuteDeleteMember()
        {
            MessageBoxResult result = MessageBox.Show("Are you sure to delete " + currentMember.MemberName, "Delete", MessageBoxButton.YesNo, MessageBoxImage.Warning);

            if (result == MessageBoxResult.Yes)
            {
                if (currentMember != null)
                {
                    using (var unitofWork = new UnitOfWork(new MahalluDBContext())) {
                        ResidenceMember member = unitofWork.ResidenceMembers.Get(CurrentMember.Id);
                        if (member != null)
                        {
                            unitofWork.ResidenceMembers.Remove(member);
                            unitofWork.Complete();

                            ResidenceMemberType residenceMemberType = new ResidenceMemberType {
                                ResidenceMember = CurrentMember,
                                Operation       = MahalluManager.Model.Common.Operation.Delete
                            };
                            eventAggregator.GetEvent <PubSubEvent <ResidenceMemberType> >().Publish(residenceMemberType);

                            MemberList.Remove(CurrentMember);
                            CurrentMember = null;
                        }
                    }
                }
            }
        }
コード例 #5
0
ファイル: Program.cs プロジェクト: rashiidmv/Committe
        static void Main(string[] args)
        {
            try {
                LoadArea();
                LoadHouseNumbers();
                Console.WriteLine("Enter Soure file path");
                String path = Console.ReadLine();;
                while (!File.Exists(path))
                {
                    Console.WriteLine("Please enter correct source file path");
                    path = Console.ReadLine();;
                    Console.Read();
                }

                string[] inputlines     = File.ReadAllLines(path);
                String   currentFolder  = Path.GetDirectoryName(System.Windows.Forms.Application.ExecutablePath);
                String   skippedMembers = Path.Combine(currentFolder, "skipped.csv");
                String   skippedContent = inputlines[0];
                using (var unitOfWork = new UnitOfWork(new MahalluDBContext())) {
                    List <Residence> residences = unitOfWork.Residences.GetAll().ToList();
                    for (int i = 1; i < inputlines.Length; i++)
                    {
                        string[]  fields    = inputlines[i].Split(',');
                        Residence residence = null;
                        bool      isFound   = false;
                        foreach (var item in residences)
                        {
                            if (item.Number == fields[1].Trim('\"'))
                            {
                                residence = item;
                                isFound   = true;
                                break;
                            }
                        }
                        if (isFound)
                        {
                            ResidenceMember residenceMember = GetResidenceMember(fields, residence.Id);
                            unitOfWork.ResidenceMembers.Add(residenceMember);
                            unitOfWork.Complete();
                        }
                        else
                        {
                            skippedContent += "\n" + inputlines[i];
                        }
                    }
                }
                File.WriteAllText(skippedMembers, skippedContent);;

                Console.WriteLine("Data loaded successfully");
            } catch (Exception ex) {
                Console.WriteLine(ex.ToString());
            }
            Console.Read();
        }
コード例 #6
0
        private void ExecuteSaveMember()
        {
            using (var unitOfWork = new UnitOfWork(new MahalluDBContext())) {
                if (ValidateResidenceMember(unitOfWork))
                {
                    ResidenceMember residenceMember = GetResidenceMember();
                    if (CurrentMember != null)
                    {
                        CurrentMember.MemberName     = residenceMember.MemberName.ToUpper();
                        CurrentMember.DOB            = residenceMember.DOB;
                        CurrentMember.Job            = residenceMember.Job;
                        CurrentMember.Mobile         = residenceMember.Mobile;
                        CurrentMember.Abroad         = residenceMember.Abroad;
                        CurrentMember.Country        = residenceMember.Country;
                        CurrentMember.IsGuardian     = residenceMember.IsGuardian;
                        CurrentMember.MarriageStatus = residenceMember.MarriageStatus;
                        CurrentMember.Qualification  = residenceMember.Qualification;
                        CurrentMember.Remarks        = residenceMember.Remarks;
                        CurrentMember.Gender         = residenceMember.Gender;
                        unitOfWork.ResidenceMembers.Update(CurrentMember);
                        MessageBox.Show(CurrentMember.MemberName + " updated successfully !", "New Member", MessageBoxButton.OK, MessageBoxImage.Information);
                    }
                    else
                    {
                        unitOfWork.ResidenceMembers.Add(residenceMember);
                        MemberList.Add(residenceMember);
                        CurrentMember = residenceMember;
                        MessageBox.Show(CurrentMember.MemberName + " added successfully !", "New Member", MessageBoxButton.OK, MessageBoxImage.Information);
                    }
                    unitOfWork.Complete();

                    ResidenceMemberType residenceMemberType = new ResidenceMemberType {
                        ResidenceMember = CurrentMember,
                        Operation       = MahalluManager.Model.Common.Operation.Add
                    };
                    eventAggregator.GetEvent <PubSubEvent <ResidenceMemberType> >().Publish(residenceMemberType);
                }
            }
        }
コード例 #7
0
        public ContributionViewModel()
        {
            eventAggregator.GetEvent <PubSubEvent <ObservableCollection <IncomeCategory> > >().Subscribe((e) => {
                CategoryList = e;
            });

            ClearContributionCommand  = new DelegateCommand(ExecuteClearContribution, CanExecuteClearContribution);
            DeleteContributionCommand = new DelegateCommand(ExecuteDeleteContribution, CanExecuteDeleteContribution);
            NewContributionCommand    = new DelegateCommand(ExecuteNewContribution);
            SaveContributionCommand   = new DelegateCommand(ExecuteSaveContribution, CanExecuteSaveContribution);

            ClearSearchContributionCommand = new DelegateCommand(ExecuteClearSearchContribution);
            SearchContributionCommand      = new DelegateCommand(ExecuteSearchContribution, CanExecuteSearchContribution);

            ClearDetailCommand  = new DelegateCommand(ExecuteClearDetail, CanExecuteClearDetail);
            DeleteDetailCommand = new DelegateCommand(ExecueDeleteDetail, CanExecueDeleteDetail);
            NewDetailCommand    = new DelegateCommand(ExecuteNewDetail, CanExecuteNewDetail);
            SaveDetailCommand   = new DelegateCommand(ExecuteSaveDetail, CanExecuteSaveDetail);
            IsMember            = true;
            RefreshContribution();

            SetupSearchableIndexes();

            eventAggregator.GetEvent <PubSubEvent <ResidenceType> >().Subscribe((e) => {
                Residence residence = ((ResidenceType)e).Residence;
                bool isPresent      = false;
                foreach (var item in SearchableResidenceNumbers)
                {
                    if (item == residence.Number)
                    {
                        isPresent = true;
                        break;
                    }
                }
                if (!isPresent)
                {
                    SearchableResidenceNumbers.Add(residence.Number);
                }
                else if (isPresent && e.Operation == MahalluManager.Model.Common.Operation.Delete)
                {
                    SearchableResidenceNumbers.Remove(residence.Number);
                }

                isPresent = false;
                foreach (var item in SearchableResidenceNames)
                {
                    if (item.Equals(residence.Name))
                    {
                        isPresent = true;
                    }
                }
                if (!isPresent)
                {
                    SearchableResidenceNames.Add(residence.Name);
                }
                else if (isPresent && e.Operation == MahalluManager.Model.Common.Operation.Delete)
                {
                    SearchableResidenceNames.Remove(residence.Name);
                }
            });

            eventAggregator.GetEvent <PubSubEvent <ResidenceMemberType> >().Subscribe((e) => {
                ResidenceMember residenceMember = ((ResidenceMemberType)e).ResidenceMember;
                bool isPresent = false;
                foreach (var item in SearchableMemberNames)
                {
                    if (item.Equals(residenceMember.MemberName))
                    {
                        isPresent = true;
                    }
                }
                if (!isPresent)
                {
                    SearchableMemberNames.Add(residenceMember.MemberName);
                }
                else if (isPresent && e.Operation == MahalluManager.Model.Common.Operation.Delete)
                {
                    SearchableMemberNames.Remove(residenceMember.MemberName);
                }

                isPresent = false;
                foreach (var item in members)
                {
                    if (item.Id == residenceMember.Id)
                    {
                        isPresent = true;
                    }
                }
                Residence residence = GetResidence(residenceMember);
                if (!isPresent)
                {
                    members.Add(residenceMember);
                    SearchableMembers.Add(residenceMember.MemberName + " \t@" + residence.Name + "_" + residence.Number + "@");
                }
                else if (isPresent && e.Operation == MahalluManager.Model.Common.Operation.Delete)
                {
                    members.Remove(residenceMember);
                    SearchableMembers.Remove(residenceMember.MemberName + " \t@" + residence.Name + "_" + residence.Number + "@");
                }
            });

            InitializeDatePicker();
            InitializeSearchPanel();

            eventAggregator.GetEvent <PubSubEvent <SelectedYearType> >().Subscribe((e) => {
                SelectedYear = ((SelectedYearType)e).SelectedYear;
            });
        }
コード例 #8
0
 private static Residence GetResidence(ResidenceMember residenceMember)
 {
     using (UnitOfWork unitOfWork = new UnitOfWork(new MahalluDBContext())) {
         return(unitOfWork.Residences.Get(residenceMember.Residence_Id));
     }
 }
コード例 #9
0
        private void ExecuteRestore()
        {
            MessageBoxResult messageBoxResult = MessageBox.Show("Are you sure to Restore", "Restore", MessageBoxButton.YesNo, MessageBoxImage.Warning);

            if (messageBoxResult == MessageBoxResult.Yes)
            {
                using (var unitofWork = new UnitOfWork(new MahalluDBContext())) {
                    unitofWork.Residences.RemoveRange(unitofWork.Residences.GetAll());
                    unitofWork.ResidenceMembers.RemoveRange(unitofWork.ResidenceMembers.GetAll());
                    unitofWork.Areas.RemoveRange(unitofWork.Areas.GetAll());
                    unitofWork.ExpenseCategories.RemoveRange(unitofWork.ExpenseCategories.GetAll());
                    unitofWork.IncomeCategories.RemoveRange(unitofWork.IncomeCategories.GetAll());
                    unitofWork.CashSources.RemoveRange(unitofWork.CashSources.GetAll());
                    //unitofWork.Expenses.RemoveRange(unitofWork.Expenses.GetAll());
                    //unitofWork.ExpenseDetails.RemoveRange(unitofWork.ExpenseDetails.GetAll());
                    //unitofWork.Contributions.RemoveRange(unitofWork.Contributions.GetAll());
                    //unitofWork.ContributionDetails.RemoveRange(unitofWork.ContributionDetails.GetAll());
                    //unitofWork.MarriageCertificates.RemoveRange(unitofWork.MarriageCertificates.GetAll());
                    unitofWork.Complete();

                    string[] directories   = Directory.GetDirectories(BackupAndRestoreLocation);
                    string   directoryPath = backupAndRestoreLocation + @"\MMBackup";
                    if (Directory.Exists(directoryPath))
                    {
                        string filePath = directoryPath + @"\Residences.csv";
                        if (File.Exists(filePath))
                        {
                            String[] backupData = File.ReadAllLines(filePath);
                            for (int i = 1; i < backupData.Length; i++)
                            {
                                string[]  fields    = backupData[i].Split(new char[] { ',' });
                                Residence residence = new Residence();
                                residence.Number = fields[0];
                                residence.Name   = fields[1];
                                residence.Area   = fields[2];
                                unitofWork.Residences.Add(residence);
                            }
                        }
                        unitofWork.Complete();

                        filePath = directoryPath + @"\ResidenceMembers.csv";
                        if (File.Exists(filePath))
                        {
                            String[] backupData = File.ReadAllLines(filePath);
                            for (int i = 1; i < backupData.Length; i++)
                            {
                                string[]        fields          = backupData[i].Split(new char[] { ',' });
                                Residence       residence       = unitofWork.Residences.GetAll().Where(x => x.Number == fields[0]).FirstOrDefault();
                                ResidenceMember residenceMember = new ResidenceMember();
                                residenceMember.Residence_Id   = residence.Id;
                                residenceMember.MemberName     = fields[1];
                                residenceMember.DOB            = Convert.ToDateTime(fields[2]);
                                residenceMember.Job            = fields[3];
                                residenceMember.Mobile         = fields[4];
                                residenceMember.Abroad         = Convert.ToBoolean(fields[5]);
                                residenceMember.Country        = fields[6];
                                residenceMember.IsGuardian     = Convert.ToBoolean(fields[7]);
                                residenceMember.Gender         = fields[8];
                                residenceMember.MarriageStatus = fields[9];
                                residenceMember.Qualification  = fields[10];
                                residenceMember.Remarks        = fields[11];
                                unitofWork.ResidenceMembers.Add(residenceMember);
                            }
                        }
                        unitofWork.Complete();

                        filePath = directoryPath + @"\Areas.csv";
                        if (File.Exists(filePath))
                        {
                            String[] backupData = File.ReadAllLines(filePath);
                            for (int i = 1; i < backupData.Length; i++)
                            {
                                string[] fields = backupData[i].Split(new char[] { ',' });
                                Area     area   = new Area();
                                area.Name = fields[0];
                                unitofWork.Areas.Add(area);
                            }
                        }
                        unitofWork.Complete();

                        filePath = directoryPath + @"\ContributionDetail.csv";
                        if (File.Exists(filePath))
                        {
                            String[] backupData = File.ReadAllLines(filePath);
                            for (int i = 1; i < backupData.Length; i++)
                            {
                                string[]           fields             = backupData[i].Split(new char[] { ',' });
                                ContributionDetail contributionDetail = new ContributionDetail();

                                unitofWork.ContributionDetails.Add(contributionDetail);
                            }
                        }
                        unitofWork.Complete();

                        filePath = directoryPath + @"\CashSources.csv";
                        if (File.Exists(filePath))
                        {
                            String[] backupData = File.ReadAllLines(filePath);
                            for (int i = 1; i < backupData.Length; i++)
                            {
                                string[]   fields     = backupData[i].Split(new char[] { ',' });
                                CashSource cashSource = new CashSource();
                                cashSource.SourceName = fields[0];
                                cashSource.Amount     = Convert.ToDecimal(fields[1]);
                                unitofWork.CashSources.Add(cashSource);
                            }
                        }
                        unitofWork.Complete();

                        filePath = directoryPath + @"\ExpenseCategories.csv";
                        if (File.Exists(filePath))
                        {
                            String[] backupData = File.ReadAllLines(filePath);
                            for (int i = 1; i < backupData.Length; i++)
                            {
                                string[]        fields          = backupData[i].Split(new char[] { ',' });
                                ExpenseCategory expenseCategory = new ExpenseCategory();
                                expenseCategory.Name            = fields[0];
                                expenseCategory.DetailsRequired = Convert.ToBoolean(fields[1]);
                                unitofWork.ExpenseCategories.Add(expenseCategory);
                            }
                        }
                        unitofWork.Complete();

                        filePath = directoryPath + @"\IncomeCategories.csv";
                        if (File.Exists(filePath))
                        {
                            String[] backupData = File.ReadAllLines(filePath);
                            for (int i = 1; i < backupData.Length; i++)
                            {
                                string[]       fields         = backupData[i].Split(new char[] { ',' });
                                IncomeCategory incomeCategory = new IncomeCategory();
                                incomeCategory.Name            = fields[0];
                                incomeCategory.DetailsRequired = Convert.ToBoolean(fields[1]);
                                unitofWork.IncomeCategories.Add(incomeCategory);
                            }
                        }
                        unitofWork.Complete();

                        MessageBox.Show("Restore is completed successfully..!");
                    }
                    else
                    {
                        MessageBox.Show(backupAndRestoreLocation + " doesn't contain back up directory as MMBackup");
                    }
                }
            }
        }