public void Move(DateItem Item, int Index) { //do nothing at the moment if (Item == null) { throw new ArgumentNullException("Item"); } //test if index is valid if (Index < 0) { Index = 0; } else if (Index > this.Count) { Index = this.Count; } //get old itemindex int iOldIndex = this.IndexOf(Item); //remove item from old position if (iOldIndex > -1) { this.RemoveAt(iOldIndex); } //insert item to new position if (this.List.Count < Index) { this.Add(Item); } else { this.List.Insert(Index, Item); } }
/// <summary> /// Remove a DateItem from List /// </summary> /// <param name="Item">DateItem to remove</param> public void Remove(DateItem Item) { if (Item == null) { throw new ArgumentNullException("Item"); } this.List.Remove(Item); }
/// <summary> /// check if a dateItem does exist in collection /// </summary> /// <param name="Item">DateItem to test</param> /// <returns>return true if item does exist otherwise false</returns> public bool Contains(DateItem Item) { if (Item == null) { throw new ArgumentNullException("Item"); } return(this.IndexOf(Item) != -1); }
protected virtual ImageList GetImageList(object component) { DateItem Item = component as DateItem; if (Item != null) { return(Item.GetImageList()); } return(null); }
/// <summary> /// returns an array with all dateitem assigned with given date /// </summary> /// <param name="Date">date to find assigned item with</param> /// <returns>with date assigned items</returns> public DateItem[] DateInfo(DateTime Date) { //first create a new dateitem array DateItem[] myItems = new DateItem[0]; //secondly find all dates match with given date for (int iDateCounter = 0; iDateCounter < this.List.Count; iDateCounter++) { if (this[iDateCounter].Date <= Date && this[iDateCounter].Range >= Date) { switch (this[iDateCounter].Reccurence) { case DateItemReccurence.None: //item shows only on the date if (this[iDateCounter].Date.ToShortDateString() == Date.ToShortDateString()) { myItems = AddInfo(this[iDateCounter], myItems); } break; case DateItemReccurence.Daily: //item shows daily between date and range myItems = AddInfo(this[iDateCounter], myItems); break; case DateItemReccurence.Weekly: //item shows weekly between date and range if (this[iDateCounter].Date.DayOfWeek == Date.DayOfWeek) { myItems = AddInfo(this[iDateCounter], myItems); } break; case DateItemReccurence.Monthly: //item shows monthly between date and range if (this[iDateCounter].Date.Day == Date.Day) { myItems = AddInfo(this[iDateCounter], myItems); } break; case DateItemReccurence.Yearly: //item shows yearly between date and range break; } } } return(myItems); }
/// <summary> /// returns the index of an existing DateItem /// </summary> /// <param name="Item">DateItem to return the index</param> /// <returns>Index from given DateItem; -1 if DateItem does not exist</returns> public int IndexOf(DateItem Item) { if (Item == null) { throw new ArgumentNullException("Item"); } for (int IItemCounter = 0; IItemCounter < this.List.Count; IItemCounter++) { if (this.List[IItemCounter] == Item) { return(IItemCounter); } } return(-1); }
/// <summary> /// Add a DateItem to Collection /// </summary> /// <param name="Item">DateItem to add</param> public void Add(DateItem Item) { if (Item == null) { throw new ArgumentNullException("Item"); } int iIndex = this.IndexOf(Item); Item.Calendar = m_Parent; if (iIndex > -1) { this.List[iIndex] = Item; } else { this.List.Add(Item); } }
/// <summary> /// Add an DateItem to the arraylist /// </summary> /// <param name="New">the new DateItem to add</param> /// <param name="Old">old Array</param> /// <returns>the new array with added dateitem</returns> public DateItem[] AddInfo(DateItem New, DateItem[] Old) { //get old array dimension int iOldItemsSize = Old.Length; //create new dateitem array DateItem[] myDateItems = new DateItem[iOldItemsSize + 1]; //copy old items to new array for (int iOldArrayCounter = 0; iOldArrayCounter < Old.Length; iOldArrayCounter++) { //copy each element from old array to the new myDateItems[iOldArrayCounter] = Old[iOldArrayCounter]; } //at the end add the new value myDateItems[iOldItemsSize] = New; //return the new array return(myDateItems); }