//Metode som lagrer spørsmål fra kunden gjort fra QuestionPage.html og lagrer det i databasen. public void savequestion(QandA innQuestion) { var id = innQuestion.Id; try { bool foundQuestion = db.QandAs.Any(p => p.Id == id); if (foundQuestion) { QA updatequestion = db.QandAs.Find(id); updatequestion.Question = innQuestion.Question; updatequestion.Answer = innQuestion.Answer; updatequestion.Category = innQuestion.Category; updatequestion.Votecounter = innQuestion.Votecounter + 1; db.SaveChanges(); } else { QA newQuestion = new QA(); // spørsmål til databasen newQuestion.Question = innQuestion.Question; newQuestion.Answer = "Spørsmål venter på svar fra administrator."; newQuestion.Category = innQuestion.Category; db.QandAs.Add(newQuestion); db.SaveChanges(); } } catch (Exception ex) { //Exception handling } }
//Metode som gjør at avstemming på spørsmål/svar blir lagret i databasen basert på om kunden var fornøyd med svaret eller ikke. public void VoteAnswer(QandA innVote) { var id = innVote.Id; try { bool foundQuestion = db.QandAs.Any(p => p.Id == id); if (foundQuestion && innVote.Votetype == 1) { QA updatequestion = db.QandAs.Find(id); updatequestion.Votecounter = updatequestion.Votecounter + 1; db.SaveChanges(); } else { QA updatequestion = db.QandAs.Find(id); updatequestion.Question = updatequestion.Question; updatequestion.Answer = updatequestion.Answer; updatequestion.Category = updatequestion.Category; updatequestion.Votecounter = updatequestion.Votecounter - 1; db.SaveChanges(); } } catch (Exception ex) { //Feilhåndtering her } }
//Henter et spørsmål og svar fra databasen for å vises i Administration.html og laster inn dataene i textarea feltene som gir tilgang til å redigere. public QandA getSingleQuestion(int id) { bool foundQuestion = db.QandAs.Any(p => p.Id == id); if (foundQuestion) { QandA question = (from p in db.QandAs where p.Id == id select new QandA() { Id = p.Id, Question = p.Question, Answer = p.Answer, Category = p.Category, }).First(); return(question); } var emptyquestion = new QandA(); emptyquestion.Id = 0; emptyquestion.Question = "Ingen spørsmål funnet med denne Id"; emptyquestion.Answer = "Ingen spørsmål funnet med denne Id"; return(emptyquestion); }
//DB initializing legger inn spørsmål til databasen protected override void Seed(DBContext context) { var QandA = new QandA(); var q1 = new List <QA> { new QA { Id = 1, Question = "Hvordan kan jeg kjøpe en film?", Answer = "Du kan kjøpe en film ved å trykke på hvilken som helst film og trykke kjøp", Category = "Movies", Votecounter = 2 }, new QA { Id = 2, Question = "Hvor lenge er filmen jeg har kjøpt tilgjengelig for meg?", Answer = "Filmen vil være tilgjengelig så lenge du har en bruker hos oss.", Category = "Movies", Votecounter = 4 }, new QA { Id = 3, Question = "Kan jeg kjøpe en film uten å registrere meg som bruker?", Answer = "Nei, du må være en registrert bruker for å kunne kjøpe film hos oss.", Category = "Movies", Votecounter = 4 }, new QA { Id = 4, Question = "Jeg finner ikke filmen jeg ønsker å kjøpe.", Answer = "Finner du ikke filmen du ønsker å kjøpe er det fordi vi ikke har rettigheter til å selge den filmen videre. Er filmen veldig ny kan du ta kontakt å sende oss et spørsmål med navn på filmen du ønsker, og vi kan gi deg beskjed på mail når den vil komme i vår nettbutikk.", Category = "Movies", Votecounter = 7 }, new QA { Id = 5, Question = "Hvordan oppretter jeg en bruker hos dere?", Answer = "Du registrerer ny bruker ved å trykke på 'Registrer' knappen i menyen på toppen", Category = "Account", Votecounter = 7 }, new QA { Id = 6, Question = "Jeg har glemt passordet mitt.", Answer = "Ved glemt passord kan du bruke skjemaet for å sende inn en melding om dette og du vil i retur få en link for å tilbakestille passordet ditt.", Category = "Account", Votecounter = 2 }, new QA { Id = 7, Question = "Jeg vil slette min konto hos dere.", Answer = "Ønsker du ikke lenger å være bruker hos oss, kan du gå inn på 'Min Side' på menyen. Du kan der velge å trykke 'Slett konto' og din konto vil automatisk bli slettet og du vil bli logget ut.", Category = "Account", Votecounter = 0 }, new QA { Id = 8, Question = "Kan jeg angre en ordre av film?", Answer = "Nei, du kan ikke angre et filmkjøp.", Category = "Order", Votecounter = 2 }, new QA { Id = 9, Question = "Hvor kan jeg finne min ordrehistorikk?", Answer = "Du finner din ordrehistorikk ved å klikke på knappen 'Mine Filmer' i menyen, der vil du få en oversikt over alle filmer du har kjøpt og som er tilgjengelig for deg.", Category = "Order", Votecounter = 3 }, new QA { Id = 10, Question = "Nettsiden fryser når jeg forsøker å kjøpe film?", Answer = "Sjekk om du har internetttilkobling, eller forsøk å restart nettleseren din.", Category = "Other", Votecounter = 2 }, new QA { Id = 11, Question = "Får feilmelding når jeg skal logge ut.", Answer = "Du vil bli logget ut automatisk ved inaktivitet, så bare lukke nettlesern eller fanen så blir du automatisk logget ut.", Category = "Other", Votecounter = 1 } }; q1.ForEach(a => context.QandAs.Add(a)); }