예제 #1
0
        // POST api/setroutecordinates
        public void post(string appKey, [FromBody] string value)
        {
            SqlConnection   con = new SqlConnection(ConfigurationManager.AppSettings["SqlConString"]);
            SqlCommand      cmd;
            string          val  = value;
            RouteCordinates data = JsonConvert.DeserializeObject <RouteCordinates>(value);

            //RouteCordinates facebookFriends = new System.Web.Script.Serialization.JavaScriptSerializer().Deserialize<RouteCordinates>(value);
            // DateTime currentDateTime = new DateTime();
            if (appKey == "ttpapikey.asxc123nju89mno0")
            {
                try
                {
                    con.Open();
                    try
                    {
                        //cmd = con.CreateCommand();
                        foreach (Cordinate cor in data.cordinates)
                        {
                            cmd = new SqlCommand("sp_AddRouteCordinates", con);
                            //cmd = new SqlCommand("INSERT INTO AssetLocationDet (assetId,latitude,longitude) VALUES (" + assetId + "," + lat + "," + lon + ")", con);
                            cmd.CommandType = System.Data.CommandType.StoredProcedure;
                            cmd.Parameters.Add(new SqlParameter("@routeId", data.routeId));
                            cmd.Parameters.Add(new SqlParameter("@seqNo", cor.seqNo));
                            cmd.Parameters.Add(new SqlParameter("@startlatitude", cor.startLat));
                            cmd.Parameters.Add(new SqlParameter("@startlongitude", cor.startLon));
                            cmd.Parameters.Add(new SqlParameter("@endlatitude", cor.endLat));
                            cmd.Parameters.Add(new SqlParameter("@endlongitude", cor.endLon));
                            cmd.ExecuteNonQuery();
                            //cmd.CommandText = "INSERT INTO AssetLocationDet (assetId,latitude,longitude) VALUES (" + assetId + "," + lat + "," + lon + ")";
                        }
                    }
                    catch (Exception ex)
                    {
                        throw ex.InnerException;
                    }
                    finally
                    {
                        if (con.State == System.Data.ConnectionState.Open)
                        {
                            con.Close();
                        }
                    }
                }
                catch (Exception e)
                {
                    throw e.InnerException;
                }
            }
        }
예제 #2
0
        // GET api/getroutecordinates/5
        public string Get(string appKey, string routeId)
        {
            SqlConnection   con = new SqlConnection(ConfigurationManager.AppSettings["SqlConString"]);
            SqlCommand      cmd;
            SqlDataReader   reader                = null;
            string          outputJsonString      = "{'RouteCordinates':[";
            string          jsonStringConstructor = string.Empty;
            RouteCordinates data = new RouteCordinates();

            if (appKey == "ttpapikey.asxc123nju89mno0")
            {
                try
                {
                    con.Open();
                    try
                    {
                        cmd             = new SqlCommand("sp_GetRouteInfo", con);
                        cmd.CommandType = System.Data.CommandType.StoredProcedure;
                        cmd.Parameters.Add(new SqlParameter("@routeId", routeId));
                        reader = cmd.ExecuteReader();

                        data.routeId = Convert.ToInt64(routeId);
                        List <Cordinate> cList = new List <Cordinate>();
                        Cordinate        c;
                        while (reader.Read())
                        {
                            {
                                c          = new Cordinate();
                                c.seqNo    = Convert.ToInt32(reader["seqNo"].ToString());
                                c.startLat = reader["startLatitude"].ToString();
                                c.startLon = reader["startLongitude"].ToString();
                                c.endLat   = reader["endLatitude"].ToString();
                                c.endLon   = reader["endLongitude"].ToString();
                                //data.cordinates+ reader["startLatitude"].ToString() + "', 'endLatitude' : '" + reader["endLatitude"].ToString() + "','startLongitude' : '" + reader["startLongitude"].ToString() + "', 'endLongitude' : '" + reader["endLongitude"].ToString() + "'}";
                                cList.Add(c);
                            }
                        }
                        data.cordinates = new List <Cordinate>(cList);
                    }
                    catch (Exception ex)
                    {
                        throw ex.InnerException;
                        return("Error Occured");
                    }
                    finally
                    {
                        if (con.State == System.Data.ConnectionState.Open)
                        {
                            con.Close();
                        }
                    }
                }
                catch (Exception e)
                {
                    throw e;
                    return("Error Occured");
                }
            }
            outputJsonString = JsonConvert.SerializeObject(data);
            return(JsonConvert.SerializeObject(data));
        }
        public ActionResult CreateRoute(string routeId, string routeName, string assetId, List <Cordinate> cordinates)
        {
            try
            {
                using (HttpClient httpClient1 = new HttpClient())
                {
                    if (routeName.Trim().Length > 0)
                    {
                        httpClient1.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
                        var pairs = new List <KeyValuePair <string, string> >
                        {
                            new KeyValuePair <string, string>("appKey", "ttpapikey.asxc123nju89mno0"),
                            new KeyValuePair <string, string>("routeName", routeName),
                            new KeyValuePair <string, string>("userName", "admin"),
                        };
                        var content = new FormUrlEncodedContent(pairs);

                        var client = new HttpClient {
                            BaseAddress = new Uri("http://sanjayjdm.apphb.com")
                        };

                        var response = client.PostAsync("/api/createroute?appKey=ttpapikey.asxc123nju89mno0&routeName=" + routeName.Trim() + "&userName=admin", null).Result;
                        routeId = GetRouteIdFromRouteName(routeName);
                    }


                    AssignAssetTotheRoute(routeId, assetId);
                    var routeCordinates = new RouteCordinates();

                    routeCordinates.routeId    = routeId;
                    routeCordinates.cordinates = new List <Cordinate>();
                    routeCordinates.cordinates = cordinates;


                    string jsonStringUsingJconvert = "=" + JsonConvert.SerializeObject(routeCordinates);

                    HttpWebRequest HttpWReq =
                        (HttpWebRequest)WebRequest.Create("http://sanjayjdm.apphb.com/api/setroutecordinates?appkey=ttpapikey.asxc123nju89mno0");

                    ASCIIEncoding encoding = new ASCIIEncoding();
                    byte[]        data     = encoding.GetBytes(jsonStringUsingJconvert);
                    HttpWReq.ContentType = "application/x-www-form-urlencoded";

                    HttpWReq.Method        = "POST";
                    HttpWReq.ContentLength = data.Length;

                    Stream newStream = HttpWReq.GetRequestStream();
                    newStream.Write(data, 0, data.Length);
                    newStream.Close();
                    WebResponse myWebResponse = HttpWReq.GetResponse();
                }
            }
            catch (WebException wex)
            {
                var httpResponse = wex.Response as HttpWebResponse;
                if (httpResponse != null)
                {
                    throw new ApplicationException(string.Format(
                                                       "Remote server call {0} {1} resulted in a http error {2} {3}.",
                                                       "POST",
                                                       "set route coorinates API",
                                                       httpResponse.StatusCode,
                                                       httpResponse.StatusDescription), wex);
                }
                else
                {
                    throw new ApplicationException(string.Format(
                                                       "Remote server call {0} {1} resulted in an error.",
                                                       "POST",
                                                       "set route coorinates API"), wex);
                }
            }

            catch (Exception exep)
            {
                throw new Exception(exep.Message);
            }


            /*MemoryStream stream1 = new MemoryStream();
             * DataContractJsonSerializer ser = new DataContractJsonSerializer(typeof(RouteDetails));
             *
             * ser.WriteObject(stream1, routeDetails);
             *
             * stream1.Position = 0;
             * StreamReader sr = new StreamReader(stream1);
             * string jsonString = sr.ReadToEnd();
             * return Content(jsonString);*/
            return(Content("success"));
        }