Beispiel #1
0
        public IHttpActionResult PutCoordonneeP(int id, CoordonneeP coordonneeP)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != coordonneeP.Id)
            {
                return(BadRequest());
            }

            db.Entry(coordonneeP).State = EntityState.Modified;

            try
            {
                db.SaveChanges();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!CoordonneePExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(StatusCode(HttpStatusCode.NoContent));
        }
Beispiel #2
0
        public IHttpActionResult GetCoordonneeP(int id)
        {
            CoordonneeP coordonneeP = db.CoordonneePs.Find(id);

            if (coordonneeP == null)
            {
                return(NotFound());
            }

            return(Ok(coordonneeP));
        }
Beispiel #3
0
        public IHttpActionResult PostCoordonneeP(CoordonneeP coordonneeP)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            db.CoordonneePs.Add(coordonneeP);
            db.SaveChanges();

            return(CreatedAtRoute("DefaultApi", new { id = coordonneeP.Id }, coordonneeP));
        }
Beispiel #4
0
        public IHttpActionResult DeleteCoordonneeP(int id)
        {
            CoordonneeP coordonneeP = db.CoordonneePs.Find(id);

            if (coordonneeP == null)
            {
                return(NotFound());
            }

            db.CoordonneePs.Remove(coordonneeP);
            db.SaveChanges();

            return(Ok(coordonneeP));
        }
        public string GetPrestatairesLibresEtProches(int idCli) //IQueryable<Prestataire> GetPrestatairesLibresEtProches(int idCli)
        {
            Prestation p               = db.Prestations.Find(idCli);
            var        address         = p.RueDep + " " + p.VilleDep; // "123 something st, somewhere"; /*https://www.google.fr/maps/@50.5961833,3.0853137,12z*/
            var        requestUri      = string.Format("http://maps.googleapis.com/maps/api/geocode/xml?address={0}&sensor=false", Uri.EscapeDataString(address));
            var        request         = WebRequest.Create(requestUri);
            var        response        = request.GetResponse();
            var        xdoc            = XDocument.Load(response.GetResponseStream());
            var        result          = xdoc.Element("GeocodeResponse").Element("result");
            var        locationElement = result.Element("geometry").Element("location");
            var        lat1            = locationElement.Element("lat");
            var        lng1            = locationElement.Element("lng");

            string lat11 = lat1.ToString().Substring(5, 15);

            lat11 = lat11.Substring(0, 10);
            lat11 = lat11.Replace(".", ",");
            string lng11 = lng1.ToString().Substring(5, 15);

            lng11 = lng11.Substring(0, 9);
            lng11 = lng11.Replace(".", ",");

            double lat111 = double.Parse(lat11);
            double lng111 = double.Parse(lng11);

            double distance = 42000.0;

            ////Prestataire p1 = db.Prestataires.Find(1);
            foreach (Prestataire p1 in db.Prestataires)
            {
                using (var context = new Db())
                {
                    CoordonneeP c1               = context.CoordonneePs.Find(p1.Id);
                    var         address2         = c1.Rue + " " + c1.Ville; // "123 something st, somewhere";
                    var         requestUri2      = string.Format("http://maps.googleapis.com/maps/api/geocode/xml?address={0}&sensor=false", Uri.EscapeDataString(address2));
                    var         request2         = WebRequest.Create(requestUri2);
                    var         response2        = request2.GetResponse();
                    var         xdoc2            = XDocument.Load(response2.GetResponseStream());
                    var         result2          = xdoc2.Element("GeocodeResponse").Element("result");
                    var         locationElement2 = result2.Element("geometry").Element("location");
                    var         lat2             = locationElement2.Element("lat");
                    var         lng2             = locationElement2.Element("lng");
                    string      lat22            = lat2.ToString().Substring(5, 15);
                    lat22 = lat22.Substring(0, 10);
                    lat22 = lat22.Replace(".", ",");
                    string lng22 = lng2.ToString().Substring(5, 15);
                    lng22 = lng22.Substring(0, 9);
                    lng22 = lng22.Replace(".", ",");
                    double lat222 = double.Parse(lat22);
                    double lng222 = double.Parse(lng22);

                    if (GetDistanceBetween(lat111, lng111, lat222, lng222) < distance)
                    {
                        distance = GetDistanceBetween(lat111, lng111, lat222, lng222);
                    }
                    return(result2.ToString());
                }
            }

            //return "";
            return(distance.ToString());
        }