예제 #1
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);
        }
예제 #2
0
        public void Remove(PositionArr positionArr)
        {
            //מסירה מהאוסף הנוכחי את האוסף המתקבל

            for (int i = 0; i < positionArr.Count; i++)
            {
                this.Remove(positionArr[i] as Position);
            }
        }
예제 #3
0
        public SortedDictionary <string, int> GetSortedDictionary()
        {
            // מחזירה משתנה מסוג מילון ממוין עם ערכים רלוונטיים לדוח
            SortedDictionary <string, int> dictionary = new SortedDictionary <string, int>();

            PositionArr positionArr = this.ToPositionArr();

            foreach (Position curPosition in positionArr)
            {
                dictionary.Add(curPosition.Name, this.Filter(Nominee.Empty, curPosition).Count);
            }
            return(dictionary);
        }
예제 #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 PositionArr Filter(string arg)
        {
            arg = arg.ToLower();
            PositionArr PositionArr = new PositionArr();

            Position Position;

            for (int i = 0; i < this.Count; i++)
            {
                Position = (this[i] as Position);
                if (arg == "" || Position.Name.ToLower().StartsWith(arg))
                {
                    PositionArr.Add(Position);
                }
            }

            return(PositionArr);
        }
예제 #6
0
        public PositionArr ToPositionArr()
        {
            PositionArr positionArr = new PositionArr();

            PositionNominee positionNominee;
            Position        position;

            for (int i = 0; i < this.Count; i++)
            {
                positionNominee = this[i] as PositionNominee;
                position        = positionNominee.Position;
                if (!positionArr.IsContains(position.Name))
                {
                    positionArr.Add(position);
                }
            }

            return(positionArr);
        }
예제 #7
0
        public bool IsContains(PositionArr positionArr)
        {
            bool isEqual;

            for (int i = 0; i < positionArr.Count; i++)
            {
                isEqual = false;
                for (int x = 0; x < this.Count; x++)
                {
                    if ((this[x] as Position) == (positionArr[i] as Position))
                    {
                        isEqual = true;
                        break;
                    }
                }
                if (!isEqual)
                {
                    return(false);
                }
            }
            return(true);
        }