Www.fundator.no GSV – Generic Storage and Validation Hovedprosjekt 2004/2005 Oppgave 10E Trond Smaavik 13.05.05.

Slides:



Advertisements
Liknende presentasjoner
Repetisjon innkapsling static tabell av primitiv datatype LC191D Videregående programmering Høgskolen i Sør-Trøndelag, Avdeling for informatikk og e-læring.
Advertisements

Høgskolen i Sør-Trøndelag, Avdeling for informatikk og e-læring
C++ for Java-programmerere
Høgskolen i Oslo Webprogrammering SQL og databaser del 3.
TIF seminar -Visual Basic (VBA) og RExcel Elisabeth Orskaug Norsk Regnesentral Oslo, 8. november 2011.
1 Java 6 Mer om metoder Tekster Ole Christian Lingjærde Gruppen for bioinformatikk Institutt for informatikk Universitetet i Oslo.
Programmering i Java versjon januar 2005 Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else.
Tabeller – Arrays Lage frekvenstabell Norske Bokstaver
Java 4 Mer om forgreninger While-løkker Ole Christian Lingjærde
ADA 95 – del6 Foreleser: Olaf Hallan Graven Bok: Programming in ADA95 (2nd) John Barnes.
Java 14 Et eksempel fra bioinformatikk: analyse av biologiske sekvenser Ole Christian Lingjærde Gruppen for bioinformatikk Institutt for informatikk Universitetet.
1 Dokumentservice Utfordringer i 2012 Økende operasjonelle kostnader Svak kontroll på informasjon Ineffektiv distribusjon av informasjon.
Programmering i Java versjon august 2004 Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else.
Eiendomregister mars 2002 Arne Maus. import java.util.*; import inf101.*; /* Klasse med main() som starter hele programmet */ class EiendomsregisterMain.
Tema: Introduksjon Hvorfor Velocity? Installasjon Velocity VS. JSF / JSP Eksempler Oppsumering.
C# for javaprogrammerere
En gang til!? .
Om Øvelse 7 Stoff relatert til øvelse 7 Generering av tilfeldige tall Bruk ting vi har lært før.
Filer Finne minste Finne Største Beregne gjennomsnitt Variabler Tabeller – Arrays Lage frekvenstabell.
Feilhåndtering. Feil er uunngåelige! Erfaring viser at feil i dataprogrammer som består av mer enn noen få linjer ikke er til å unngå. For å få et godt.
Utvider eksemplet om biler fra forrige gang med mer feilsjekk Tid og Dato.
Jæger: Robuste og sikre systemer INF150 Programmering mandag 2.10 Default values – standardverdier ved oppstart MER OM: Sub-prosedyrer og sub-funksjoner.
Gjennomgang av prøven Tidsangivelse. Prøven deles ut Vi fyller ut øvelsen sammen.
Hovedprosjekt- presentasjon. Ekstern oppdragsgiver Q-Free:Ticketing AS leverer elektroniske billetteringssystemer for kollektivtransport. Det leveres.
Å lage sikre klasser Unntaksklassene i Java-API-et Unntakshåndtering i databasesammenheng try-catch-finally-setningen Trelagsarkitektur; egen databaseklasse.
Jæger: Robuste og sikre systemer INF150 Programmering mandag 4.9 Forrige gang til og med: 3.2 Visual Basic Events (60-73) Nå: Litt om Group Box, CheckBox.
Sortering og søk. Sortering av data som ligger på en fil Prisipielt to hovedmåter gjøre dette på: 1.Arbeide mot filen 1.Lese en linje, og lese de resterende.
INF150 Programmering mandag 11.9
Hovedprosjekt, Våren 2001 Sykemelding system for småbedrifter Av Sriskanthan Kanagavale, Viderutdanning i Databehandling c.
PHP oversikt. Basis egenskaper Grensesnitt med web tjener Skripttaggene Kommentartegn Ikke case sensitiv Avslutningstegn for instruksjoner.
Programmering i Java versjon desember 2002 Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else.
Programmering i Java versjon august 2004 Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else.
1 Arrayer og form(ularer) (Kapittel 4). 2 Mål  Forstå assosiative og superglobale arrays  Kunne behandle webformularer (forms)  Kjenne forskjellen.
Høgskolen i Oslo Webprogrammering Filbehandling i PHP.
Høgskolen i Oslo Web-programmering Feilhåndtering i PHP.
Mål Gjennomgå deler av de mest brukte funksjonene relatert til
Høgskolen i Oslo Webprogrammering Ajax og PHP. I dag l Hvordan få en bedre brukeropplevelse via Ajax- script l Gjennomgang av kode l Oppgaveløsning på.
Webprogrammering Skjema i HTML og PHP.
Høgskolen i Oslo Webprogrammering Java-scripting 2 Klientvalidering.
Stringmanipulasjon, RegEx og validering
  Den perfekte julegaven til Javakoden din Johannes Brodwall Steria.
Skjema/Forms HTML II IT og læring 2/20 november 2001.
Java 11 Programmering med og uten objekter: hva er forskjellen?
Paradigmer i Programmering 3. Højere ordens funktioner Idag: Højere ordens funktioner Algebraiske datatyper Næste gang: I/O, Filer, interaktive programmer.
Løsningsforslag til MOFScript oppgave. Metamodellen.
Jæger: Robuste og sikre systemer INF150 Programmering mandag 18.9 Lesing av data fra fil og skriving av data til fil. Side 411 – 4.. Kap 4.
Oppgaver til kodegenerering etc. INF-5110, 2013 Oppgave 1: Vi skal se på koden generert av TA-instruksjonene til høyre i figur 9.10 i det utdelte notatet,
Praktiske erfaringer med Objektorientert Progress og.NET Jan Kolstad PUG Norway, Lillehammer 2005.
Tabeller Dette er en tabell, eller array. Den kan defineres sånn som dette: public int[] heltallsTabell = new int[11]; //Her er 11 tabellens lengde for.
Jæger: Robuste og sikre systemer INF150 Programmering Kapittel 2: Problemløsning Kapittel 3.1 og 3.2.
GPS simulator Et C# program som sender data fra en GPS fil til RS232 og simulerer en GPS engine. Tre linjer pr. sekund er satt opp.
Termbaser Lars Nygaard. Termbaser Database over begreper Innhold –Definisjoner –Oversettelser –Leksikalske relasjoner –Eksempler.
Redusere kompleksitet i Entity Framework spørringer Skrevet av Tore Aurstad,
Lojalitetssystem, Database
OpenEdge og.NET Jan Kolstad PUG Norway Lillehammer 2004.
INF1000 (Uke 14) Resten av eksamen H03 + del av V05 Grunnkurs i programmering Institutt for Informatikk Universitet i Oslo Are Magnus Bruaset og Anja B.
INF Objektorientert programmering
Informasjonssystem for tannlege Kloster-Jensen
Object  Klassen i java  Alle klasser arver fra denne om ikke noe annet blir spesifisert  ArrayList.add(Object instans)  Alle elementer formes til Object.
INF1000 (Uke 14) Eksamen V06 Grunnkurs i programmering Institutt for Informatikk Universitet i Oslo Are Magnus Bruaset og Arild Waaler.
VirusLab Utvikling av en profesjonell applikasjon.
Byggeklosser i java  Klassedefinisjon  Variabel deklarasjon  Metodedeklarasjoner  En ordentlig klasse  Spesielle/kryptiske skrivemåter  løkker og.
Jæger: Robuste og sikre systemer INF150 Programmering mandag 25.9 MER OM: Sub-prosedyrer og sub-funksjoner Kap 4.
Inf1000 (Uke 10) HashMap og ArrayList
INF1000 (Uke 4) Mer om forgreninger, While-løkker
XML og JDOM Helge Furuseth XML  XML = Extensible Markup Language Basert på SGML – Standard Generalized Markup Language  HTML =
Kapittel 5 Vilkårssetningar og løkker. 5.1 Boolske uttrykk George Boole ( ), britisk matematikar Utvikla teori om logikk ved bruk av symbol i.
Expression web. Front Page vs Expression web ● Front Page er ute ● Undervisning i Front Page er undervisning i gammeldags teknologi i forhold til standarder.
IS-102 Interaksjon med objekter
Utskrift av presentasjonen:

GSV – Generic Storage and Validation Hovedprosjekt 2004/2005 Oppgave 10E Trond Smaavik

Slide 2 GSV – Generic Storage and Validation Oppgaven: Lage en generell løsning for lagring av brukerinput fra skjema i web-løsninger til database. Samt en løsning for validering av samme input. Min motivasjon: - Bli bedre kjent med.NET-rammeverket - Lære hvordan inputvaidering kan gjøres effektivt - Se hvordan systemutvikling drives i arbeidslivet - Gjøre erfaringer med systemutvikling alene

Slide 3 GSV – Generic Storage and Validation - Leverer IT-løsninger og utfører konsulenttjenester innen systemutvikling og systemintegrasjon. - Kompetanse innen J2EE,.NET, database, BizTalk, med mer konsulenter per mai 2005 Fundator:

Slide 4 GSV – Datalagring Generisk lagring av skjermbilder, kontroller og innhold i kontroller. Gjennfinning av verdier og innfylling i skjermbilder. Enkel referering til lagrede verdier. Egen kontroll for presentasjon i TextBox. Egen kontroll for presentasjon i Label.

Slide 5 GSV – Datamodell

Slide 6 GSV – Gjennomløper aller kontroller i skjermbildet private ArrayList ControlLoop(Control ctrl, ArrayList al) { if(ctrl.Controls.Count > 0) { foreach(Control c in ctrl.Controls) { if(c is CheckBoxList) { al.Add(c); } else { ControlLoop(c, al); } } return al; } else { WebControl wc = ctrl as WebControl; string storable = (wc != null) ? wc.Attributes["storable"] : null; bool store = (storable == null) ? true : !storable.Equals("false"); bool storeOnlyVisible = (wc != null && wc.Visible) ? true : false; if(store && storeOnlyVisible) al.Add(ctrl); return al; } }

Slide 7 GSV – Finner støttede inputkontroller og henter verdi foreach(Control c in controls) { InputControlVO icvo = null; if(c is TextBox) { TextBox txt = c as TextBox; icvo = new InputControlVO(txt.UniqueID, txt.Text); }

Slide 8 GSV – Finner støttede inputkontroller og henter verdi forts if(c is CheckBoxList) { CheckBoxList cbl = c as CheckBoxList; ArrayList al = new ArrayList(); foreach(ListItem li in cbl.Items) { if(li.Selected){ icvo = new InputControlVO(cbl.UniqueID, li.Value); al.Add(ifvo); } } if(formId != 0){ da.DeleteValues(cbl.UniqueID,formId); FormVO f = new FormVO(); f.FormId = formId; f.ControlValues = al; da.InsertValues(f); } else { vos.AddRange(al); } icvo = null; }

Slide 9 GSV – Lagrer kontroller og verdier i databasen public IdsVO StoreData(FormVO form) { string insertStr = "InsertValues"; string updateStr = "UpdateValues"; int suiteId = form.SuiteId; int formId = form.FormId; if(suiteId == 0) suiteId = CreateFormSuite(); if(formId == 0) { form.FormId = CreateForm(suiteId, form.FormTypeId); StoreValues(form, insertStr); } else { StoreValues(form, updateStr); formId = GetNextFormId(suiteId, formId); } return new IdsVO(suiteId, formId, form.FormTypeId); }

Slide 10 GSV – Tilsvarende for gjennfinning av data TextBox txt = c as TextBox; if(txt != null) txt.Text = icvo.ControlValue; CheckBoxList cbl = c as CheckBoxList; if(cbl != null) { foreach(ListItem li in cbl.Items) { if(li.Text.Equals(icvo.ControlValue)) { li.Selected = true; break; } } }

Slide 11 GSV – Validering Valideringskontroller Integrert i Visual Studio Tjener- og klient-sidevalidering Tilbakemelding til bruker Fleksibilitet.NET validatorkontroller RequiredFieldValidator RegularExpressionValidator CustomValidator RangeValidator CompareValidator CheckBoxListValidator PersonnrValidator

Slide 12 GSV – Validering, BaseValidator protected override bool EvaluateIsValid() { int numSel = 0; foreach(ListItem li in _listctrl.Items){ if(li.Selected)numSel++; } if(_maxSelections = _minSelections) return true; } else { if(numSel >= _minSelections && numSel <= _maxSelections) { return true; } } return false; }