コード例 #1
0
        public NomineeArr Filter(Position position, City city, int ageFrom = 0, int ageTo = 100)
        {
            NomineeArr nomineeArr = new NomineeArr();

            //check if each nominee in the database stands in the filters args. if it doe's
            //then it is added to the new NomineeArr.
            Nominee nominee;

            PositionNomineeArr positionNomineeArr;
            PositionArr        positionArr;

            for (int i = 0; i < this.Count; i++)
            {
                positionNomineeArr = new PositionNomineeArr();
                positionNomineeArr.Fill();
                nominee = (this[i] as Nominee);
                int age = DateTime.Now.Year - nominee.BirthYear;
                positionNomineeArr = positionNomineeArr.Filter(nominee, Position.Empty);
                positionArr        = positionNomineeArr.ToPositionArr();

                if ((city == City.Empty || nominee.City == city) &&
                    (position == Position.Empty || positionArr.Count == 0 || positionArr.IsContains(position)) &&
                    (ageFrom <= age && age <= ageTo))
                {
                    nomineeArr.Add(nominee);
                }
            }

            return(nomineeArr);
        }
コード例 #2
0
        public NomineeArr Filter(string firstName, string lastName, string email, string phone, Position position)
        {
            NomineeArr nomineeArr = new NomineeArr();

            //check if each nominee in the database stands in the filters args. if it doe's
            //then it is added to the new NomineeArr.
            Nominee nominee;

            PositionNomineeArr positionNomineeArr;
            PositionArr        positionArr;

            for (int i = 0; i < this.Count; i++)
            {
                positionNomineeArr = new PositionNomineeArr();
                positionNomineeArr.Fill();
                nominee            = (this[i] as Nominee);
                positionNomineeArr = positionNomineeArr.Filter(nominee, Position.Empty);
                positionArr        = positionNomineeArr.ToPositionArr();

                if (
                    (firstName == "" || nominee.FirstName.StartsWith(firstName)) &&
                    (lastName == "" || nominee.LastName.StartsWith(lastName)) &&
                    (email == "" || nominee.Email.Contains(email)) &&
                    (phone == "" || (nominee.CellAreaCode + nominee.CellPhone).Contains(phone)) &&
                    (position == Position.Empty || positionArr.Count == 0 || positionArr.IsContains(position))
                    )
                {
                    nomineeArr.Add(nominee);
                }
            }

            return(nomineeArr);
        }
コード例 #3
0
        public NomineeArr Filter(Nominee filter, PositionArr filterPositionArr)
        {
            NomineeArr nomineeArr = new NomineeArr();

            //check if each nominee in the database stands in the filters args. if it doe's
            //then it is added to the new NomineeArr.
            Nominee nominee;

            PositionNomineeArr positionNomineeArr;
            PositionArr        positionArr;

            for (int i = 0; i < this.Count; i++)
            {
                positionNomineeArr = new PositionNomineeArr();
                nominee            = (this[i] as Nominee);
                positionNomineeArr = positionNomineeArr.Filter(nominee, Position.Empty);
                positionArr        = positionNomineeArr.ToPositionArr();

                if (
                    (filter.FirstName == "" || nominee.FirstName.StartsWith(filter.FirstName)) &&
                    (filter.LastName == "" || nominee.LastName.StartsWith(filter.LastName)) &&
                    (filter.Id == "" || nominee.Id.StartsWith(filter.Id)) &&
                    (filter.Email == "" || nominee.Email.Contains(filter.Email)) &&
                    (filter.BirthYear == 0 || nominee.BirthYear == filter.BirthYear) &&
                    (filter.CellPhone == "" || (nominee.CellAreaCode + nominee.CellPhone).Contains(filter.CellPhone)) &&
                    (filter.City.ToString() == "" || nominee.City.Name.StartsWith(filter.City.ToString())) &&
                    (positionArr.Count == 0 || positionArr.IsContains(filterPositionArr))
                    )
                {
                    nomineeArr.Add(nominee);
                }
            }

            return(nomineeArr);
        }
コード例 #4
0
        public SortedDictionary <string, string> GetSortedDictionary(bool sortByNominee)
        {
            SortedDictionary <string, string> dictionary = new SortedDictionary <string, string>();
            string y = "";

            if (sortByNominee)
            {
                NomineeArr  nomineeArr = this.ToNomineeArr();
                PositionArr positionArr;
                foreach (Nominee curNominee in nomineeArr)
                {
                    positionArr = this.Filter(curNominee, Position.Empty).ToPositionArr();

                    y += (positionArr[0] as Position).Name;

                    for (int i = 1; i < positionArr.Count; i++)
                    {
                        y += "\n" + (positionArr[i] as Position).Name;
                    }

                    dictionary.Add(curNominee.ToString() + (curNominee.Disabled ? " (לא זמין)" : ""), y);
                    y = "";
                }
                return(dictionary);
            }
            else
            {
                PositionArr positionArr = this.ToPositionArr();
                NomineeArr  nomineeArr;

                foreach (Position curPosition in positionArr)
                {
                    nomineeArr = this.Filter(Nominee.Empty, curPosition).ToNomineeArr();

                    y += (nomineeArr[0] as Nominee).ToString();

                    for (int i = 1; i < nomineeArr.Count; i++)
                    {
                        y += "\n" + (nomineeArr[i] as Nominee).ToString() + ((nomineeArr[i] as Nominee).Disabled ? " (לא זמין)" : "");
                    }

                    dictionary.Add(curPosition.ToString(), y);
                    y = "";
                }
                return(dictionary);
            }
        }
コード例 #5
0
        public SortedDictionary <string, int> GetSortedDictionaryMaleFemaleCity(bool male)
        {
            // מחזירה משתנה מסוג מילון ממוין עם ערכים רלוונטיים לדוח
            SortedDictionary <string, int> dictionary = new SortedDictionary <string, int>();

            CityArr cityArr = new CityArr();

            cityArr.Fill();

            NomineeArr nomineeArr = this.Filter(male);

            foreach (City curCity in cityArr)
            {
                dictionary.Add(curCity.Name, nomineeArr.Filter(Position.Empty, curCity).Count);
            }
            return(dictionary);
        }
コード例 #6
0
        public NomineeArr ToNomineeArr()
        {
            NomineeArr nomineeArr = new NomineeArr();

            NomineeScoreType nomineeScoreType;
            Nominee          nominee;

            for (int i = 0; i < this.Count; i++)
            {
                nomineeScoreType = this[i] as NomineeScoreType;
                nominee          = nomineeScoreType.Nominee;
                if (!nomineeArr.IsContains(nominee.DBId))
                {
                    nomineeArr.Add(nominee);
                }
            }

            return(nomineeArr);
        }
コード例 #7
0
        public NomineeArr ToNomineeArr()
        {
            NomineeArr nomineeArr = new NomineeArr();

            PositionNominee positionNominee;
            Nominee         nominee;

            for (int i = 0; i < this.Count; i++)
            {
                positionNominee = this[i] as PositionNominee;
                nominee         = positionNominee.Nominee;
                if (!nomineeArr.IsContains(nominee.DBId))
                {
                    nomineeArr.Add(nominee);
                }
            }

            return(nomineeArr);
        }
コード例 #8
0
        public NomineeArr Filter(bool male)
        {
            NomineeArr nomineeArr = new NomineeArr();

            //check if each nominee in the database stands in the filters args. if it doe's
            //then it is added to the new NomineeArr.
            Nominee nominee;

            for (int i = 0; i < this.Count; i++)
            {
                nominee = (this[i] as Nominee);

                if (!male ^ nominee.Male)
                {
                    nomineeArr.Add(nominee);
                }
            }

            return(nomineeArr);
        }