/// <summary> /// Dodawanie nowego obszaru /// </summary> /// <param name="a">Informacje do stworzenia obszaru z pkt i liniami</param> /// <returns>Obszar dododany</returns> public Area PostArea(AreaApi a) { List <double> pointsX = new List <double>(); List <double> pointsY = new List <double>(); List <int?> note = new List <int?>(); for (int i = 0; i < a.PointX.Count(); i++) { pointsX.Add(double.Parse(a.PointX[i])); pointsY.Add(double.Parse(a.PointY[i])); } Geodeta.Data.Area area; Debug.WriteLine(a.Name + " " + a.UserId + " " + a.IsNewVersion + " " + a.DateMod); area = this.db.Area.Add(new Geodeta.Data.Area { Name = a.Name, UserId = a.UserId, IsNewVersion = a.IsNewVersion, DateMod = a.DateMod }); this.db.SaveChanges(); Area tmp = new Area { ID = area.ID, Name = area.Name, UserId = area.UserId, DateMod = area.DateMod }; this.CreateListOfPoints(area.ID, pointsX, pointsY, a.Title, a.Content, a.TitleLine, a.ContentLine); return(tmp); }
/// <summary> /// Edycja obszaru o danym id /// </summary> /// <param name="id">Id area</param> /// <param name="a">Informacje do edycji obszaru z pkt i liniami</param> /// <returns>Obszar zedytowany</returns> public Area PutArea(int id, AreaApi a) { Debug.WriteLine("weszlo"); NoteDTO noteDto = new NoteDTO(); List <double> pointsX = new List <double>(); List <double> pointsY = new List <double>(); List <int?> noteid = new List <int?>(); List <int?> note = new List <int?>(); for (int i = 0; i < a.PointX.Count(); i++) { pointsX.Add(double.Parse(a.PointX[i])); pointsY.Add(double.Parse(a.PointY[i])); } noteid = this.GetAreaNoteId(id); for (int i = 0; i < noteid.Count(); i++) { if (noteid[i].HasValue) { noteDto.DeleteNote(noteid[i].Value); this.db.SaveChanges(); } } Geodeta.Services.Area area = new Geodeta.Services.Area { ID = id, Name = a.Name, UserId = a.UserId, IsNewVersion = a.IsNewVersion, DateMod = a.DateMod }; this.Edit(area); this.db.SaveChanges(); this.RemoveListOfPoints(id); this.CreateListOfPoints(id, pointsX, pointsY, a.Title, a.Content, a.TitleLine, a.ContentLine); return(area); }