예제 #1
0
        public async Task <bool> CreateParkingYard(ParkingYard yard)
        {
            if (ParkingYardExists(yard) == false)
            {
                using (Con = new SqlConnection(GC.ConnectionString))
                {
                    if (Con.State == ConnectionState.Closed)
                    {
                        Con.Open();
                    }

                    Query = "CreatePark";

                    using (Com = new SqlCommand(Query, Con))
                    {
                        Com.CommandType = CommandType.StoredProcedure;

                        //byte[] ImageByte = null;
                        //MemoryStream ms = new MemoryStream();
                        //yard.Image.Save(ms, System.Drawing.Imaging.ImageFormat.Png);
                        //ImageByte = ms.ToArray();


                        Com.Parameters.Add(new SqlParameter("@name", yard.Name));
                        Com.Parameters.Add(new SqlParameter("@placeid", yard.Place_ID));
                        Com.Parameters.Add(new SqlParameter("@placeref", yard.Reference));
                        Com.Parameters.Add(new SqlParameter("@locationname", yard.Location.Name));
                        Com.Parameters.Add(new SqlParameter("@locationlong", yard.Location.Longitude));
                        Com.Parameters.Add(new SqlParameter("@locationlat", yard.Location.Latitude));
                        Com.Parameters.Add(new SqlParameter("@Image", yard.Image));

                        ParkID = (int)Com.ExecuteScalar();

                        System.Diagnostics.Debug.WriteLine("Park id: " + ParkID);

                        Com.Dispose();
                    }

                    Con.Close();

                    GenerateSpaceData();

                    return(true);
                }
            }

            else
            {
                return(false);
            }
        }
예제 #2
0
        public bool ParkingYardExists(ParkingYard yard)
        {
            using (Con = new SqlConnection(GC.ConnectionString))
            {
                if (Con.State == ConnectionState.Closed)
                {
                    Con.Open();
                }

                Query = "Select count(*) as result,p.id from Park p where p.name=@name and p.placeid=@placeid group by p.id";

                using (Com = new SqlCommand(Query, Con))
                {
                    Com.Parameters.Add(new SqlParameter("@name", yard.Name));
                    Com.Parameters.Add(new SqlParameter("@placeid", yard.Place_ID));

                    Reader = Com.ExecuteReader();

                    int Result = 0;

                    while (Reader.Read())
                    {
                        Result = Convert.ToInt32(Reader["result"].ToString());

                        if (Reader["id"] != DBNull.Value)
                        {
                            ParkID = Convert.ToInt32(Reader["id"].ToString());
                        }
                    }

                    System.Diagnostics.Debug.WriteLine("Results:" + Result);

                    Com.Dispose();

                    Con.Close();

                    if (Result > 0)
                    {
                        return(true);
                    }
                    else
                    {
                        return(false);
                    }
                }
            }
        }
예제 #3
0
        public bool ParkingYardExists(ParkingYard yard)
        {
            using (Con = new MySqlConnection(GC.ConnectionString))
            {
                if (Con.State == ConnectionState.Closed)
                {
                    Con.Open();
                }

                Query = "Select count(*) as result,ID from Parks where Name='" + MySqlHelper.EscapeString(yard.Name) + "' and Place_ID='" + yard.Place_ID + "'";

                using (Com = new MySqlCommand(Query, Con))
                {
                    Reader = Com.ExecuteReader();

                    int Result = 0;

                    while (Reader.Read())
                    {
                        Result = Convert.ToInt32(Reader["result"].ToString());

                        if (Reader["ID"] != DBNull.Value)
                        {
                            ParkID = Convert.ToInt32(Reader["ID"].ToString());
                        }
                    }

                    System.Diagnostics.Debug.WriteLine("Results:" + Result);

                    Com.Dispose();

                    Con.Close();

                    if (Result > 0)
                    {
                        return(true);
                    }
                    else
                    {
                        return(false);
                    }
                }
            }
        }
예제 #4
0
        public ParkingYard [] GetParkingYards()
        {
            List <ParkingYard> YardList = new List <ParkingYard>();

            using (Con = new SqlConnection(GC.ConnectionString))
            {
                if (Con.State == ConnectionState.Closed)
                {
                    Con.Open();
                }

                Query = "Select * from Park p left join Park_Location pl on p.ID=pl.Park_ID left join Park_spaces on pl.park_id=park_spaces.park_id";

                using (Com = new SqlCommand(Query, Con))
                {
                    Reader = Com.ExecuteReader();

                    while (Reader.Read())
                    {
                        ParkingYard Yard = new ParkingYard();

                        Yard.id        = Convert.ToInt32(Reader["ID"].ToString());
                        Yard.Name      = Reader["Name"].ToString();
                        Yard.Reference = Reader["placeref"].ToString();
                        Yard.Place_ID  = Reader["placeid"].ToString();
                        Yard.Image     = Reader["Image"].ToString();


                        //Get Yard Location

                        ParkingYard.YardLocation yardlocation = new ParkingYard.YardLocation();
                        if (Reader["L_ID"] != DBNull.Value)
                        {
                            yardlocation.id = Convert.ToInt32(Reader["L_ID"].ToString());
                        }
                        if (Reader["Long"] != DBNull.Value)
                        {
                            yardlocation.Longitude = Convert.ToDouble(Reader["Long"].ToString());
                        }
                        if (Reader["Lat"] != DBNull.Value)
                        {
                            yardlocation.Latitude = Convert.ToDouble(Reader["Lat"].ToString());
                        }
                        if (Reader["Vicinity"] != DBNull.Value)
                        {
                            yardlocation.Name = Reader["Vicinity"].ToString();
                        }
                        Yard.Location = yardlocation;

                        //Get Yard Spaces
                        ParkingYard.YardSpaces yardspaces = new ParkingYard.YardSpaces();

                        if (Reader["Space_id"] != DBNull.Value)
                        {
                            yardspaces.Space_ID = Convert.ToInt32(Reader["Space_id"].ToString());
                        }
                        if (Reader["SpaceCount"] != DBNull.Value)
                        {
                            yardspaces.Count = Convert.ToInt32(Reader["SpaceCount"].ToString());
                        }
                        if (Reader["UsedSpace"] != DBNull.Value)
                        {
                            yardspaces.UsedSpaces = Convert.ToInt32(Reader["UsedSpace"].ToString());
                        }

                        Yard.Spaces = yardspaces;

                        YardList.Add(Yard);
                    }

                    Com.Dispose();
                }

                Con.Close();
            }

            return(YardList.ToArray());
        }
예제 #5
0
        public async Task <JObject> Parks([FromUri] double lat, [FromUri] double lng)
        {
            maps mp = new maps();

            Response Response = new Response();

            Response = await mp.GetNearByPlaces(lat, lng, "parking", 10000);

            JObject Error = new JObject();

            if (Response.Code == 200)

            {
                Error.Add("Code", Response.Code);
                Error.Add("Message", "Success");

                ParkingYard Yard = new ParkingYard();

                JArray jarr = JArray.Parse(Response.Data);

                for (int count = 0; count < jarr.Count; count++)
                {
                    Yard.Image     = jarr[count]["place image"].ToString();
                    Yard.Name      = jarr[count]["name"].ToString();
                    Yard.Place_ID  = jarr[count]["place_id"].ToString();
                    Yard.Reference = jarr[count]["reference"].ToString();

                    ParkingYard.YardLocation YardLocation = new ParkingYard.YardLocation();
                    YardLocation.Name      = jarr[count]["vicinity"].ToString();
                    YardLocation.Latitude  = Convert.ToDouble(jarr[count]["geometry"]["location"]["lat"]);
                    YardLocation.Longitude = Convert.ToDouble(jarr[count]["geometry"]["location"]["lng"]);

                    Yard.Location = YardLocation;

                    ParkRepo = new ParkRepository();

                    if (await ParkRepo.CreateParkingYard(Yard))
                    {
                        Response.Message = "Parking Created Successfully";
                    }

                    else
                    {
                        Response.Message = "Parking Already exists";
                    }

                    JObject Parking = new JObject();

                    ParkingYard py = ParkRepo.GetParkingYard(Yard.Place_ID);

                    JObject Space = new JObject();

                    Space.Add("space id", py.Spaces.Space_ID);
                    Space.Add("space count", py.Spaces.Count);
                    Space.Add("used spaces", py.Spaces.UsedSpaces);

                    JObject Location = new JObject();
                    Location.Add("id", py.Location.id);
                    Location.Add("name", py.Location.Name);

                    Parking.Add("park_id", py.id);
                    Parking.Add("Space", Space);
                    Parking.Add("Location", Location);

                    JObject FinalJarr = (JObject)jarr[count];
                    FinalJarr.Add("Park Data", Parking);

                    jarr[count] = FinalJarr;
                }

                // JArray FinalJSONArray = (JArray)jarr;

                Error.Add("values", jarr);
            }

            else
            {
                Error.Add("Code", Response.Code);
                Error.Add("Message", Response.Message);
                Error.Add("Values", Response.Data);
            }

            return(Error);
        }
예제 #6
0
        public ParkingYard GetParkingYard(int ParkID)
        {
            ParkingYard Yard = new ParkingYard();

            using (Con = new MySqlConnection(GC.ConnectionString))
            {
                if (Con.State == ConnectionState.Closed)
                {
                    Con.Open();
                }

                Query = "Select * from Parks left join park_geometry on Parks.ID=park_geometry.Park_ID left join Park_spaces on park_geometry.park_id=park_spaces.park_id where Parks.ID='" + ParkID + "'";

                using (Com = new MySqlCommand(Query, Con))
                {
                    Reader = Com.ExecuteReader();

                    while (Reader.Read())
                    {
                        Yard.id        = Convert.ToInt32(Reader["ID"].ToString());
                        Yard.Name      = Reader["Name"].ToString();
                        Yard.Reference = Reader["Reference"].ToString();
                        Yard.Place_ID  = Reader["Place_ID"].ToString();
                        Yard.Image     = Reader["Image"].ToString();

                        //Get Yard Location
                        ParkingYard.YardLocation yardlocation = new ParkingYard.YardLocation();
                        if (Reader["L_ID"] != DBNull.Value)
                        {
                            yardlocation.id = Convert.ToInt32(Reader["L_ID"].ToString());
                        }
                        if (Reader["Longitude"] != DBNull.Value)
                        {
                            yardlocation.Longitude = Convert.ToDouble(Reader["Longitude"].ToString());
                        }
                        if (Reader["Latitude"] != DBNull.Value)
                        {
                            yardlocation.Latitude = Convert.ToDouble(Reader["Latitude"].ToString());
                        }
                        if (Reader["Vicinity"] != DBNull.Value)
                        {
                            yardlocation.Name = Reader["Vicinity"].ToString();
                        }

                        Yard.Location = yardlocation;

                        //Get Yard Spaces
                        ParkingYard.YardSpaces yardspaces = new ParkingYard.YardSpaces();
                        if (Reader["Space_id"] != DBNull.Value)
                        {
                            yardspaces.Space_ID = Convert.ToInt32(Reader["Space_id"].ToString());
                        }
                        if (Reader["Space_Count"] != DBNull.Value)
                        {
                            yardspaces.Count = Convert.ToInt32(Reader["Space_Count"].ToString());
                        }
                        if (Reader["Used"] != DBNull.Value)
                        {
                            yardspaces.UsedSpaces = Convert.ToInt32(Reader["Used"].ToString());
                        }

                        Yard.Spaces = yardspaces;
                    }

                    Com.Dispose();
                }

                Con.Close();
            }

            return(Yard);
        }