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); }
public void Remove(PositionArr positionArr) { //מסירה מהאוסף הנוכחי את האוסף המתקבל for (int i = 0; i < positionArr.Count; i++) { this.Remove(positionArr[i] as Position); } }
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); }
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); } }
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); }
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); }
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); }