示例#1
0
        /// <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);
        }
示例#2
0
        /// <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);
        }