private void Unlink_Click(object sender, EventArgs e) { MessageBox.Show("Выберите задачу, с которой необходимо разорвать связь", "Подсказка", MessageBoxButtons.OK, MessageBoxIcon.Information); status = MapStat.unlinking; Cursor = Cursors.Hand; ALink = editnow; }
/// <summary> /// Обработчик нажатия по панели для показа контекствного меню /// </summary> /// <param name="sender">Объект события</param> /// <param name="e">Аргумент события</param> private void Panel1_MouseClick(object sender, MouseEventArgs e) { if (status == MapStat.createnew && e.Button == MouseButtons.Left) { mouseloc = e.Location; Cursor = Cursors.Arrow; status = MapStat.none; AddTask form = new AddTask(); form.FormClosing += uxPlay; this.Enabled = false; form.SavingChanges += GetNewPoint; form.Show(); StartPaintTrace(); } else if (e.Button == MouseButtons.Right) { foreach (ToolStripItem it in contextPainter.Items) { it.Enabled = false; } contextPainter.Items[0].Enabled = true; if (points.Count > 0) { contextPainter.Items[6].Enabled = true; } mouseloc = new Point(Cursor.Position.X - TasksPanel.Location.X - this.Location.X, Cursor.Position.Y - TasksPanel.Location.Y - this.Location.Y); contextPainter.Show(Cursor.Position); StartPaintTrace(); } }
/// <summary> /// Обработчик события нажатия "Связать с" /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void Link_Click(object sender, EventArgs e) { MessageBox.Show("Выберите задачу для связывания", "Подсказка", MessageBoxButtons.OK, MessageBoxIcon.Information); this.Cursor = Cursors.Hand; status = MapStat.linking; ALink = editnow; }
private void DeleteLinkStripMenuItem1_Click(object sender, EventArgs e) { Cursor = Cursors.Hand; status = MapStat.unlinking; MessageBox.Show("Укажите задачу от которого будет происходить отвязка на карте", "Информация", MessageBoxButtons.OK, MessageBoxIcon.Information); editnow = null; ALink = null; }
/// <summary> /// 获取工地地图信息 /// </summary> /// <returns></returns> public IEnumerable <MapStat> Post() { _dbContext = new EsMonitor(Global.GetConnString(HttpContext.Current.Request["city"])); var type = Global.GetProjectType(int.Parse(HttpContext.Current.Request["projectType"])); var mapstats = new List <MapStat>(); var stats = _dbContext.Stats.Where(obj => obj.ProType == type); if (!string.IsNullOrWhiteSpace(HttpContext.Current.Request["district"])) { var district = int.Parse(HttpContext.Current.Request["district"]); stats = stats.Where(obj => obj.Country == district); } if (!string.IsNullOrWhiteSpace(HttpContext.Current.Request["stat"])) { var stat = int.Parse(HttpContext.Current.Request["stat"]); stats = stats.Where(obj => obj.Country == stat); } foreach (var stat in stats) { var min = _dbContext.EsMin.OrderByDescending(obj => obj.UpdateTime) .FirstOrDefault(item => item.StatId == stat.Id); var cordinate = Global.ConvertToGdCordinate((double)stat.Longitude, (double)stat.Latitude); var mapStat = new MapStat { id = stat.Id, name = stat.StatName.Trim(), latitude = cordinate.Latitude, longitude = cordinate.Longitude }; if (min != null) { if (min.UpdateTime != null) { mapStat.time = min.UpdateTime.Value.ToString("yyyy-MM-dd HH:mm:ss"); } mapStat.tsp = Math.Round(min.TP / 1000.0, 2); mapStat.rate = Global.GetRate(min.TP / 1000.0); mapStat.windSpeed = min.WindSpeed; mapStat.windDirection = min.WindDirection; mapStat.temperature = min.Temperature; mapStat.humidity = min.Humidity; } mapstats.Add(mapStat); } return(mapstats); }
/// <summary> /// Обработчик нажатия мышью по TaskUI /// </summary> /// <param name="sender">Объект события</param> /// <param name="e">Аргумент события</param> private void ClickPoint(object sender, MouseEventArgs e) { if (status == MapStat.none) { editnow = (TaskUI)sender; mousecorrection = e.Location; drag = true; if (e.Button == MouseButtons.Right) { foreach (ToolStripItem ts in contextPainter.Items) { ts.Enabled = false; } contextPainter.Items[2].Enabled = true; contextPainter.Items[1].Enabled = true; contextPainter.Items[3].Enabled = true; if (editnow.Task.Connections.Count > 0) { contextPainter.Items[5].Enabled = true; } if (points.Count > 1) { contextPainter.Items[4].Enabled = true; } if (points.Count > 0) { contextPainter.Items[6].Enabled = true; } contextPainter.Show(Cursor.Position); } } if (status == MapStat.delete) { editnow = (TaskUI)sender; Cursor = Cursors.Arrow; status = MapStat.none; List <NetPoint> np = Tasks; np.Remove(editnow.Task); Tasks = np; way = null; TasksPanel.Controls.Remove(editnow); List <NetPoint> update = new List <NetPoint>(); foreach (NetPoint nep in Tasks) { NetPoint updated = nep; if (updated.Connections.Contains(editnow.Task)) { updated.Connections.Remove(editnow.Task); } update.Add(updated); } Tasks = update; StartPaintTrace(); } if (status == MapStat.edit) { Cursor = Cursors.Default; status = MapStat.none; TaskUI sen = (TaskUI)sender; editnow = sen; editnow.Task.PointType = sen.Task.PointType; NetPoint task = sen.Task; EditTask edit = new EditTask(task); edit.SavingChanges += EditPoint; edit.FormClosing += uxPlay; this.Enabled = false; edit.Show(); StartPaintTrace(); } if (status == MapStat.linking) { if (editnow == null && ALink == null) { ALink = (TaskUI)sender; MessageBox.Show("Выберите задачу, с которой необходимо образовать связь", "Подсказка", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } else if (editnow == null && ALink != null) { editnow = (TaskUI)sender; } way = null; NetPoint linked = ((TaskUI)sender).Task; if (((TaskUI)sender) != ALink) { ALink.Task.Connections.Add(linked); } else if (ALink.Task.Connections.Contains(linked)) { ALink.Task.Connections.Remove(linked); ALink.Task.Connections.Add(linked); MessageBox.Show("С данной задачей уже установлена связь", "Внимание", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } Cursor = Cursors.Default; status = MapStat.none; UpdateTable(); StartPaintTrace(); } if (status == MapStat.unlinking) { if (ALink == null && editnow == null) { ALink = (TaskUI)sender; MessageBox.Show("Выберите задачу, с которой необходимо разорвать связь", "Подсказка", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } else if (ALink != null && editnow == null) { editnow = (TaskUI)sender; } way = null; NetPoint unlink = ((TaskUI)sender).Task; if (((TaskUI)sender) != ALink && ALink.Task.Connections.Contains(unlink)) { ALink.Task.Connections.Remove(unlink); List <NetPoint> nplist = new List <NetPoint>(); foreach (NetPoint np in points) { nplist.Add(np); if (np.ID == ALink.Task.ID) { nplist.Add(ALink.Task); break; } } } else { MessageBox.Show("С данным объектом не установлена связь", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } Cursor = Cursors.Default; status = MapStat.none; UpdateTable(); StartPaintTrace(); } }
private void DeleteTaskMenuStripItem_Click(object sender, EventArgs e) { Cursor = Cursors.Hand; status = MapStat.delete; MessageBox.Show("Укажите задачу для удаления на карте", "Информация", MessageBoxButtons.OK, MessageBoxIcon.Information); }
private void AddTaskStripMenuItem_Click(object sender, EventArgs e) { Cursor = Cursors.Cross; MessageBox.Show("Разместите задачу на карте", "Информация", MessageBoxButtons.OK, MessageBoxIcon.Information); status = MapStat.createnew; }
private void EditTaskStripMenuItem1_Click(object sender, EventArgs e) { Cursor = Cursors.Hand; MessageBox.Show("Выберите задачу для редактирования на карте", "Информация", MessageBoxButtons.OK, MessageBoxIcon.Information); status = MapStat.edit; }