public int PrintRemovedVehicle(string regNr, int forFree, out string info) //metod som hämtar ut det senaste borttagna fordonet, och väljer om avgiften ska vara gratis eller inte { string cmdText = "ReturnRemovedVehicleInfo"; //sql sp kommandot som ska hitta det senaste borttagna fordonet var rowsAffected = 0; info = ""; SqlConnection con = new SqlConnection(); SqlCommand cmd = new SqlCommand(); SqlDataReader rdr = null; con.ConnectionString = conStr; cmd.CommandText = cmdText; cmd.Connection = con; cmd.CommandType = System.Data.CommandType.StoredProcedure; //sätter att det ska vara en sp SqlParameter parRegNr = new SqlParameter //skapar in parametrar till sql kommandot med de mottagna värdena { ParameterName = "@RegNr", SqlDbType = System.Data.SqlDbType.NVarChar, //väljer variabel typ Value = regNr, //sätter värdet på parametern Direction = System.Data.ParameterDirection.Input //sätter vilket håll parametern ska gå }; SqlParameter parForFree = new SqlParameter { ParameterName = "@ForFree", SqlDbType = System.Data.SqlDbType.NVarChar, Value = forFree, Direction = System.Data.ParameterDirection.Input }; cmd.Parameters.Add(parRegNr); //lägger till parametrarna cmd.Parameters.Add(parForFree); using (con) { try { con.Open(); rdr = cmd.ExecuteReader(); //utför sql kommandot rowsAffected = rdr.RecordsAffected; //får tillbaka hur många rader som påverkades från databasen while (rdr.Read()) { info = "RegNr: " + rdr[0] + ", Parked At Time: " + rdr[1] + ", Retreived At Time: " + rdr[2] + ", Parkedtime: " + rdr[3] + "min , Parkingfee: " + rdr[4] + "kr"; //tar emot information från databasen till en string } } catch (Exception x) //fångar möjliga fel { throw new Exception(x.Message); } } return(rowsAffected); }
public string SearchParkingSlot(int parkingSlot) //metod för att hitta fordon i databasen med parkeringsruta { string result = ""; SqlConnection con = new SqlConnection(); SqlCommand cmd = new SqlCommand(); SqlDataReader rdr = null; con.ConnectionString = conStr; SqlParameter parParkingSlot = new SqlParameter //skapar in parametrar till sql kommandot med de mottagna värdena { ParameterName = "@ParkingSlot", SqlDbType = System.Data.SqlDbType.NVarChar, //väljer variabel typ Value = parkingSlot, //sätter värdet på parametern Direction = System.Data.ParameterDirection.Input //sätter vilket håll parametern ska gå }; cmd.Parameters.Add(parParkingSlot); //lägger till parametrarna using (con) { con.Open(); try { //sql kommandot som ska hitta fordonet cmd.CommandText = "SELECT pv.ParkingSpaceID, v.RegNr, v.ParkedTime,v.CurrentParkedTime, v.ParkingFee " + "FROM Vehicle v " + "JOIN ParkedVehicles pv ON " + "v.VehicleID = pv.VehicleID " + "WHERE pv.ParkingSpaceID = @ParkingSlot"; cmd.Connection = con; rdr = cmd.ExecuteReader(); //utför sql kommandot while (rdr.Read()) { result += $"Parking Slot: {rdr[0]}, RegNr: {rdr[1]}, Parked at:{rdr[2]}, Parked Time: {rdr[3]}min, Parking Fee: {rdr[4]}kr\n"; //tar emot information från databasen till en string } } catch (Exception x) //fångar möjliga fel { throw new Exception(x.Message); } } if (result.Length < 1) //om parkeringsplatsen var tom eller om den inte fanns { result = "The parking slot was empty or don't exist"; } return(result); }
public string ShowIncomeIntervall(string start, string end) //metod för att hämta inkomst för en specifik dag eller ett intervall { string result = ""; SqlConnection con = new SqlConnection(); SqlCommand cmd = new SqlCommand(); con.ConnectionString = conStr; SqlParameter parStartDate = new SqlParameter //skapar in parametrar till sql kommandot med de mottagna värdena { ParameterName = "@StartDate", SqlDbType = System.Data.SqlDbType.Date, //väljer variabel typ Value = start, //sätter värdet på parametern Direction = System.Data.ParameterDirection.Input //sätter vilket håll parametern ska gå }; SqlParameter parEndDate = new SqlParameter { ParameterName = "@EndDate", SqlDbType = System.Data.SqlDbType.Date, Value = end, Direction = System.Data.ParameterDirection.Input }; cmd.Parameters.Add(parStartDate); //lägger till parametrarna cmd.Parameters.Add(parEndDate); cmd.CommandType = System.Data.CommandType.StoredProcedure; //väljer att det ska vara en sp SqlDataReader rdr = null; using (con) { con.Open(); try { cmd.CommandText = "sp_GetIncomeInterval"; //sql spn som ska hämta informationen cmd.Connection = con; rdr = cmd.ExecuteReader(); //utför sql kommandot while (rdr.Read()) //tar emot information från databasen till en string { DateTime temp; if (rdr.FieldCount == 2) { temp = (DateTime)rdr[0]; result += "Date: " + temp.ToString("yyyy:MM:dd") + ", Income: " + rdr[1] + "kr\n"; } if (rdr.FieldCount == 3) { temp = (DateTime)rdr[0]; result += "Date: " + temp.ToString("yyyy:MM:dd") + ", Income: " + rdr[1] + "kr, Average Income/Day: " + rdr[2] + "kr\n"; } } } catch (Exception x) //fångar möjliga fel { result = ""; throw new Exception(x.Message); } } return(result); }