public ActionResult OpretAftale(Aftale aftale) { if (ModelState.IsValid) { Aftale insertedAftale = Aftale.OpretAftale(aftale); ViewData["status"] = "Success"; ViewData["Aftale"] = insertedAftale; var kundeListe = new SelectList(Kunde.HentAlleKunder(), "KundeId", "KundeFuldeNavn"); ViewData["kundeliste"] = kundeListe; var arbejdsrolleListe = new SelectList(Arbejdsopgave.HentAlleArbejdsopgaver(), "ArbejdsopgaveId", "Navn"); ViewData["arbejdsopgaveliste"] = arbejdsrolleListe; ModelState.Clear(); return View(); } return View(); }
public void OpretAftale_Godkendt() { List<Kunde> kundeListe = Kunde.HentAlleKunder(); List<Arbejdsopgave> arbejdsopgaveListe = Arbejdsopgave.HentAlleArbejdsopgaver(); Random rnd = new Random(); Aftale aftale = new Aftale { Arbejdstid = Faker.Generators.DateTimes.GetDateTime(), ArbejdsopgaveId = rnd.Next(0, arbejdsopgaveListe.Count), KundeId = rnd.Next(0, kundeListe.Count) }; List<ValidationResult> validationResults = new List<ValidationResult>(); var test = Validator.TryValidateObject(aftale, new ValidationContext(aftale), validationResults, true); Assert.IsTrue(test, "Testen forventes godkendt."); Assert.AreEqual(0, validationResults.Count, "Ukendt antal fejl i valideringen"); }
public void OpretAftale_ArbejdsopgaveRequired() { List<Kunde> kundeListe = Kunde.HentAlleKunder(); Random rnd = new Random(); Aftale aftale = new Aftale { Arbejdstid = Faker.Generators.DateTimes.GetDateTime(), ArbejdsopgaveId = null, KundeId = rnd.Next(0, kundeListe.Count) }; List<ValidationResult> validationResults = new List<ValidationResult>(); var test = Validator.TryValidateObject(aftale, new ValidationContext(aftale), validationResults, true); Assert.IsFalse(test, "Testen forventes fejlet"); Assert.AreEqual(1, validationResults.Count, "Ukendt antal fejl i valideringen."); var msg = validationResults[0]; Assert.AreEqual(Constants.ArbejdsopgaveRequired, msg.ErrorMessage); Assert.AreEqual(1, msg.MemberNames.Count(), "Ukendt antal fejl i valideringen."); Assert.AreEqual("ArbejdsopgaveId", msg.MemberNames.ElementAt(0)); }
public static List<Aftale> HentAlleAftaler() { List<Aftale> aftaleListe = new List<Aftale>(); try { using (SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["HovedopgaveDB"].ConnectionString)) { conn.Open(); using (SqlCommand query = new SqlCommand("SELECT * FROM aftaler " + "JOIN kunder ON aftaler.kunde_id = kunder.kunde_id " + "JOIN arbejdsopgaver ON aftaler.arbejdsopgave_id = arbejdsopgaver.arbejdsopgave_id " + "JOIN arbejdsroller ON arbejdsopgaver.rolle_id = arbejdsroller.arbejdsrolle_id " + "ORDER BY aftaletid", conn)) using (SqlDataReader rdr = query.ExecuteReader()) { while (rdr.Read()) { Kunde kunde = new Kunde(); kunde.KundeId = rdr.GetInt32(4); kunde.Fornavn = rdr.GetString(5); kunde.Efternavn = rdr.GetString(6); kunde.Vejnavn = rdr.GetString(7); kunde.Vejnummer = rdr.GetInt32(8); kunde.Postnummer = rdr.GetInt32(9); kunde.Bynavn = rdr.GetString(10); kunde.Telefonnummer = rdr.GetInt32(11); kunde.Email = rdr.GetString(12); kunde.Nummerplade = rdr.GetString(13); Arbejdsopgave arbejdsopgave = new Arbejdsopgave(); arbejdsopgave.ArbejdsopgaveId = rdr.GetInt32(14); arbejdsopgave.Navn = rdr.GetString(15); arbejdsopgave.ArbejdsrolleId = rdr.GetInt32(16); arbejdsopgave.ArbejdsrolleNavn = rdr.GetString(18); Aftale aftale = new Aftale(); aftale.AftaleId = rdr.GetInt32(0); aftale.ArbejdsopgaveId = rdr.GetInt32(1); aftale.KundeId = rdr.GetInt32(2); aftale.Arbejdstid = rdr.GetDateTime(3); aftale.Kunde = kunde; aftale.Arbejdsopgave = arbejdsopgave; aftaleListe.Add(aftale); } rdr.Close(); } conn.Close(); } } catch (Exception ex) { Debug.WriteLine(ex); } return aftaleListe; }
public static Aftale OpretAftale(Aftale aftale) { try { SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["HovedopgaveDB"].ConnectionString); conn.Open(); SqlCommand query = new SqlCommand( "INSERT INTO aftaler (arbejdsopgave_id, kunde_id, aftaletid) VALUES (@arbejdsopgave_id, @kunde_id, @aftaletid); SELECT SCOPE_IDENTITY()", conn); query.Parameters.AddWithValue("@arbejdsopgave_id", aftale.ArbejdsopgaveId); query.Parameters.AddWithValue("@kunde_id", aftale.KundeId); query.Parameters.AddWithValue("@aftaletid", aftale.Arbejdstid); int result = Convert.ToInt32(query.ExecuteScalar()); SqlCommand returnQuery = new SqlCommand("SELECT * FROM aftaler " + "JOIN kunder ON aftaler.kunde_id = kunder.kunde_id " + "JOIN arbejdsopgaver ON aftaler.arbejdsopgave_id = arbejdsopgaver.arbejdsopgave_id " + "JOIN arbejdsroller ON arbejdsopgaver.rolle_id = arbejdsroller.arbejdsrolle_id " + "WHERE aftale_id = @insertedId " + "ORDER BY aftaletid", conn); returnQuery.Parameters.AddWithValue("@insertedId", result); Aftale insertedAftale = new Aftale(); using (returnQuery) using (SqlDataReader rdr = returnQuery.ExecuteReader()) { if (rdr.Read()) { Kunde kunde = new Kunde(); kunde.KundeId = rdr.GetInt32(4); kunde.Fornavn = rdr.GetString(5); kunde.Efternavn = rdr.GetString(6); kunde.Vejnavn = rdr.GetString(7); kunde.Vejnummer = rdr.GetInt32(8); kunde.Postnummer = rdr.GetInt32(9); kunde.Bynavn = rdr.GetString(10); kunde.Telefonnummer = rdr.GetInt32(11); kunde.Email = rdr.GetString(12); kunde.Nummerplade = rdr.GetString(13); kunde.KundeFuldeNavn = kunde.Fornavn + " " + kunde.Efternavn; Arbejdsopgave arbejdsopgave = new Arbejdsopgave(); arbejdsopgave.ArbejdsopgaveId = rdr.GetInt32(14); arbejdsopgave.Navn = rdr.GetString(15); arbejdsopgave.ArbejdsrolleId = rdr.GetInt32(16); arbejdsopgave.ArbejdsrolleNavn = rdr.GetString(18); insertedAftale.AftaleId = rdr.GetInt32(0); insertedAftale.Arbejdstid = rdr.GetDateTime(3); insertedAftale.Kunde = kunde; insertedAftale.Arbejdsopgave = arbejdsopgave; } rdr.Close(); } conn.Close(); return insertedAftale; } catch (DbException ex) { throw new UgyldigAftaleException("Aftaleinformationen er ugyldig og kunne ikke gemmes.", ex); } }