/// <summary>休日のインポート /// </summary> /// <param name="dayoff">インポートする休日</param> /// <returns>成功:追加したエレメント/不成功:null</returns> private CDayOff ImportDayOff(CDayOff dayoff) { #region 重複チェック CDayOffCollection col = Target.DayOffs; if (col.GetByName(dayoff.Name) != null) { return(null); } if (col.Size() >= FMainForm.MaxItemCount) { return(null); } #endregion #region インポート CDayOff newdayoff = col.CreateDayOff(true); newdayoff.Name = dayoff.Name; newdayoff.StartDate = dayoff.StartDate; newdayoff.EndDate = dayoff.EndDate; foreach (string key in dayoff.properties.AllKeys) { newdayoff[key] = dayoff[key]; } #endregion col.AddDayOff(newdayoff); // 終端 return(newdayoff); }
/// <summary>インポートする /// </summary> /// <param name="sender">イベント発生元</param> /// <param name="e">発生したイベント</param> private void BtnOK_Click(object sender, EventArgs e) { try { foreach (DataRowView view in LstImportMember.CheckedItems) { CMember item = view.Row["ClmImportMember"] as CMember; ImportMember(item); } foreach (DataRowView view in LstImportPattern.CheckedItems) { CPattern item = view.Row["ClmImportPattern"] as CPattern; ImportPattern(item); } foreach (DataRowView view in LstImportRequires.CheckedItems) { CRequirePatterns item = view.Row["ClmImportRequires"] as CRequirePatterns; ImportRequires(item); } foreach (DataRowView view in LstImportDayOff.CheckedItems) { CDayOff item = view.Row["ClmImportDayOff"] as CDayOff; ImportDayOff(item); } } catch (Exception ex) { MessageBox.Show(this, ex.StackTrace, ex.Message, MessageBoxButtons.OK, MessageBoxIcon.Error); } Dispose(); }
/// <summary>休日を追加する /// </summary> public void AddDayOff(CDayOff dayoff) { this.DayOffs.Add(dayoff); if (TimeTable != null) { TimeTable.NotifyDayOffsEdited(EnumTimeTableElementEventTypes.ElementAdded, dayoff); } }
/// <summary>休日の削除 /// </summary> public void DeleteDayOff(CDayOff dayoff) { DayOffs.Remove(dayoff); if (TimeTable != null) { TimeTable.NotifyDayOffsEdited(EnumTimeTableElementEventTypes.ElementRemoved, dayoff); } }
/// <summary>休日一覧の作成 /// </summary> private void MakeDayOffs() { for (int i = 0; i < Source.DayOffs.Size(); i++) { CDayOff dayoff = Source.DayOffs[i]; DataRow dr = TblImportDayOff.NewRow(); dr[ClmImportDayOff] = dayoff; dr[ClmImportDayOffName] = dayoff.Name + (dayoff.Removed == null ? "" : "(削除されています)"); TblImportDayOff.Rows.Add(dr); } }
/// <summary>新しい休日の作成(初期化つき) /// </summary> /// <param name="init"></param> /// <returns></returns> public CDayOff CreateDayOff(bool init) { CDayOff RetValue = CreateDayOff(); if (init) { RetValue.Name = "新しい休日"; RetValue.StartDate = System.DateTime.Today; RetValue.EndDate = System.DateTime.Today; } return(RetValue); }
/// <summary>名前から取得 /// </summary> /// <param name="name"></param> /// <returns></returns> public CDayOff GetByName(string name) { CDayOff ret = null; for (int i = 0; i < Count; i++) { if (this[i].Name == name) { ret = this[i]; break; } } return(ret); }
/// <summary>休日のセーブ /// </summary> public XmlElement SaveDayOffs(XmlDocument doc, CTimeTable all) { XmlElement element = doc.CreateElement("dayoffs"); SaveTmElement(doc, element, all.DayOffs); for (int i = 0; i < all.DayOffs.Size(); i++) { CDayOff dayoff = all.DayOffs[i]; XmlElement pNode = doc.CreateElement("dayoff"); SaveTmElement(doc, pNode, dayoff); pNode.SetAttribute("name", dayoff.Name); pNode.SetAttribute("start", dayoff.StartDate.ToString(CSaver.DATEFORMAT)); pNode.SetAttribute("end", dayoff.EndDate.ToString(CSaver.DATEFORMAT)); element.AppendChild(pNode); } return(element); }
/// <summary>休日のロード /// </summary> public void LoadDayOffs(XmlElement element, CTimeTable all) { XmlElement pNode = element.FirstChild as XmlElement; while (pNode != null) { if (pNode.Name == "dayoff") { // 休日 CDayOff dayoff = all.DayOffs.CreateDayOff(); LoadTmElement(pNode, dayoff); dayoff.Name = pNode.GetAttribute("name"); dayoff.StartDate = DateTime.Parse(pNode.GetAttribute("start")); dayoff.EndDate = DateTime.Parse(pNode.GetAttribute("end")); all.DayOffs.AddDayOff(dayoff); } // pNode = pNode.NextSibling as XmlElement; } }
/// <summary>休日の作成 /// </summary> public CDayOff CreateDayOff() { CDayOff RetValue = new CDayOff(this); return(RetValue); }
/// <summary>休日の削除 /// </summary> public void DeleteDayOff(int n) { CDayOff doff = DayOffs[n]; DeleteDayOff(doff); }
public EDayOffsEditedEventArgs(EnumTimeTableElementEventTypes EventType, CDayOff EventSource) { this.type = EventType; this.source = EventSource; }