//Lägger till en ny biljett... public void PrivilegieListView_InsertItem(Privilegie privilegie) { if (ModelState.IsValid) { try { Service.SavePrivilegie(privilegie); Session["confirmtab"] = String.Format("Ett Privilegie har skapats"); Response.Redirect(Request.RawUrl); } catch { ModelState.AddModelError(string.Empty, "Kunde inte skapa Privilegie, Har du rätt Biljett ID?"); } } }
//uppdaterar kontakten med de nya vrdena! public void UpdatePrivilegie(Privilegie privilegie) { using (var con = CreateConnection()) { try { var cmd = new SqlCommand("appSchema.UpdatePrivilegieNEW", con); cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.Add("@PrivilegieID", SqlDbType.Int, 4).Value = privilegie.PrivilegieID; cmd.Parameters.Add("@PrivilegieTyp", SqlDbType.NVarChar, 30).Value = privilegie.PrivilegieTyp; cmd.Parameters.Add("@BiljettID", SqlDbType.Int, 10).Value = privilegie.BiljettID; con.Open(); cmd.ExecuteNonQuery(); } catch { throw new ApplicationException("Ett fel har uppståt med anslutningen mot databasen....."); } } }
//lägger in den nya kontakten! //public IEnumerable<Biljett> GetBiljettsPageWise(int maximumRows, int startRowIndex, out int totalRowCount) //{ // using (var con = CreateConnection()) // { // try // { // var biljett = new List<Biljett>(100); // var cmd = new SqlCommand("Person.uspGetContactsPageWise", con); // cmd.CommandType = CommandType.StoredProcedure; // cmd.Parameters.Add("@PageIndex", SqlDbType.Int, 4).Value = startRowIndex / maximumRows + 1; // cmd.Parameters.Add("@PageSize", SqlDbType.Int, 4).Value = maximumRows; // cmd.Parameters.Add("@RecordCount", SqlDbType.Int, 4).Direction = ParameterDirection.Output; // con.Open(); // using (var reader = cmd.ExecuteReader()) // { // var biljettIDIndex = reader.GetOrdinal("BesökarID"); // var PrisIndex = reader.GetOrdinal("Förnamn"); // var AntalIndex = reader.GetOrdinal("Efternamn"); // var RabattIndex = reader.GetOrdinal("TelefonNR"); // var BiljettTypIndex = reader.GetOrdinal("Köp"); // var BesokarIDIndex = reader.GetOrdinal("Bokning"); // while (reader.Read()) // { // biljett.Add(new Biljett // { // BiljettID = reader.GetInt32(biljettIDIndex), // Pris = reader.GetInt32(PrisIndex), // Antal = reader.GetInt32(AntalIndex), // Rabatt = reader.GetInt32(RabattIndex), // BiljettTyp = reader.GetString(BiljettTypIndex), // BesokarID = reader.GetInt32(BesokarIDIndex) // }); // } // } // totalRowCount = (int)cmd.Parameters["@RecordCount"].Value; // biljett.TrimExcess(); // return biljett; // } // catch // { // throw new ApplicationException("An error occured during the connection with the database."); // } // } //} public void InsertPrivilegie(Privilegie privilegie) { using (var con = CreateConnection()) { try { var cmd = new SqlCommand("appSchema.createPrivilegie", con); cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.Add("@PrivilegieTyp", SqlDbType.NVarChar, 30).Value = privilegie.PrivilegieTyp; cmd.Parameters.Add("@BiljettID", SqlDbType.Int, 10).Value = privilegie.BiljettID; cmd.Parameters.Add("@PrivilegieID", SqlDbType.Int, 4).Direction = ParameterDirection.Output; // vet inte om denna är rätt! con.Open(); cmd.ExecuteNonQuery(); privilegie.BiljettID = (int)cmd.Parameters["@PrivilegieID"].Value; } catch { throw new ApplicationException("Ett fel har uppståt med anslutningen mot databasen..."); } } }
// denna kommer spara privilegiet! public static void SavePrivilegie(Privilegie privilegie) { ICollection<ValidationResult> validatonResults = new List<ValidationResult>(); if (privilegie.Validate(out validatonResults)) { if (privilegie.PrivilegieID == 0) { PrivilegieDAL.InsertPrivilegie(privilegie); } else { PrivilegieDAL.UpdatePrivilegie(privilegie); } } else { var ex = new ApplicationException("Ett fel uppstod när du skulle spara privilegiet!"); ex.Data.Add("ValidationResult", validatonResults); throw ex; } }