示例#1
0
        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();
        }
示例#2
0
        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");
        }
示例#3
0
        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));
        }
示例#4
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;
        }
示例#5
0
        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);
            }
        }