private MDF_Line CreateLine(MDF_ConnectLineModel linemodel) { if (canvasLine == null) { return(null); } if (LineSource == null) { return(null); } if (m_dicitem.Where(p => p.Key == linemodel.From).Count() == 0) { return(null); } if (m_dicitem.Where(p => p.Key == linemodel.To).Count() == 0) { return(null); } ConnectItem from = m_dicitem[linemodel.From]; ConnectItem to = m_dicitem[linemodel.To]; if (from == null || to == null) { return(null); } if (LineCheck != null) { if (!LineCheck.AddLineCheck(from.DataContext as MDF_ConnectItemModel, to.DataContext as MDF_ConnectItemModel)) { return(null); } } //判断是否已存在,如果存在则执行创建线 var v = canvasLine.Children.FirstOrDefault(p => ((p as MDF_Line).DataContext as MDF_ConnectLineModel).From == linemodel.From && ((p as MDF_Line).DataContext as MDF_ConnectLineModel).To == linemodel.To); if (v != null) { return(null); } MDF_Line line = new MDF_Line(); line.SetBinding(MDF_Line.StyleProperty, new Binding() { Source = this, Path = new PropertyPath("LineStyle") }); line.DataContext = linemodel; canvasLine.Children.Add(line); ComputeLineInfo(line); line.LineSelected += line_LineSelected; return(line); }
/// <summary> /// 删除线 /// </summary> /// <param name="model"></param> private void DeleteLine(MDF_ConnectLineModel model) { if (canvasLine == null) { return; } if (model == null) { return; } MDF_Line line = canvasLine.Children.FirstOrDefault(p => ((p as FrameworkElement).DataContext as MDF_ConnectLineModel) == model) as MDF_Line; if (line == null) { return; } if (LineCheck != null && !LineCheck.DeleckLine(model)) { return; } line.LineSelected -= line_LineSelected; canvasLine.Children.Remove(line); LineSource.Remove(model); }
public async Task <IHttpActionResult> PutLineCheck(int id, LineCheck lineCheck) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (id != lineCheck.Id) { return(BadRequest()); } db.Entry(lineCheck).State = EntityState.Modified; try { await db.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!LineCheckExists(id)) { return(NotFound()); } else { throw; } } return(StatusCode(HttpStatusCode.NoContent)); }
public async Task <IHttpActionResult> GetLineCheck(int id) { LineCheck lineCheck = await db.LineCheck.FindAsync(id); if (lineCheck == null) { return(NotFound()); } return(Ok(lineCheck)); }
public async Task <IHttpActionResult> PostLineCheck(LineCheck lineCheck) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } db.LineCheck.Add(lineCheck); await db.SaveChangesAsync(); return(CreatedAtRoute("DefaultApi", new { id = lineCheck.Id }, lineCheck)); }
public async Task <IHttpActionResult> DeleteLineCheck(int id) { LineCheck lineCheck = await db.LineCheck.FindAsync(id); if (lineCheck == null) { return(NotFound()); } db.LineCheck.Remove(lineCheck); await db.SaveChangesAsync(); return(Ok(lineCheck)); }
static bool CheckPoints(List <Point> points) { if (points.Count < 3) { return(true); } else { var check = new LineCheck(points[0], points[1]); foreach (var testPoint in points.Skip(2)) { if (!check.IsPointOnLine(testPoint)) { return(false); } } return(true); } }
public Form_Main() { InitializeComponent(); lineChecker = new LineCheck(dataGridView_game, (int)numericUpDown_connectk.Value); startGame(); }