/// <summary> /// Создать и запустить новый рейс /// </summary> /// <param name="session">рейс , который необходимо начать</param> public void CreateNewSession(Session session) { try { Work work = _app.CurrentWork; if (work != null) { work.ResetSessionsState(); session.IsActived = true; work.InsertSession(session); if (db_manager.State == DataBase.DBState.Saving) { db_manager.TurnOffSave(); } if (db_manager.State == DataBase.DBState.Loaded) { db_manager.CloseDB(); } session.DataBase = string.Format("db_{0:00}_{1:00}_{2:00}_{3:00}_{4:00}_{5:00}", session.DateTime.Year, session.DateTime.Month, session.DateTime.Day, session.DateTime.Hour, session.DateTime.Minute, session.DateTime.Second); if (session.DataBase != string.Empty) { db_manager.CreateBD(session.DataBase); db_manager.LoadDB(session.DataBase); } if (db_manager.State == DataBase.DBState.Loaded) { db_manager.TurnOnSave(); } } } catch { } }
/// <summary> /// Загрузить рейсы /// </summary> /// <param name="root">Корневой узел рейсов</param> protected void LoadSessions(XmlNode root) { foreach (XmlNode child in root.ChildNodes) { Session session = new Session(); session.Load(child); sessions.Add(session); } }
// ------------------ работа с рейсами ------------------ /// <summary> /// Добавить рейс /// </summary> /// <param name="session">Добавляемый рейс</param> public void InsertSession(Session session) { if (slim.TryEnterWriteLock(300)) { try { if (session != null) { sessions.Add(session); } } finally { slim.ExitWriteLock(); } } }
/// <summary> /// Удалить рейс /// </summary> /// <param name="session">Удаляемый рейс</param> public void DeleteSession(Session session) { if (slim.TryEnterWriteLock(300)) { try { if (session != null) { sessions.Remove(session); } } finally { slim.ExitWriteLock(); } } }
/// <summary> /// ghjdthbnm dct b yfxfnm yjdsq htqc /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void accept_Click(object sender, EventArgs e) { Work currentWork = _app.CurrentWork; if (currentWork != null) { Session curSession = currentWork.Current; if (curSession != null) { if ((int)numericUpDown1.Value <= curSession.Number) { MessageBox.Show(this, "Номер рейса указан не корректно", "Сообщение", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); DialogResult = DialogResult.None; return; } else { newSession = new Session(); newSession.Description = textBox1.Text; newSession.Number = (int)numericUpDown1.Value; } } else { newSession = new Session(); newSession.Description = textBox1.Text; newSession.Number = (int)numericUpDown1.Value; } } else MessageBox.Show(this, "", "", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); }