KK without K

From EIK wiki

Tiimi liikmed

  • Kaur Pääro
  • Kaspar Urban

Teenus ja klientrakendus

Selleks et kasutada klient rakendust tuleb, kõigepealt allalaadida rakendus ja VS-si käivitada, vahel tuleb ka käivitada WebApi projekt eraldi.

Teenuse osa on MvcApplication3. Rakenduse osa on LanWPF.

Kirjeldus

Tegemist on siis LanParty haldamis rakendusega, klient rakendus on realiseeritud WPF-is ja teenus on REST teenus, tehtud MVC4 WebAPIga.

API dokumentatsioon

Contest

  • GET api/Contest
  • GetContests() võimaldab pärida kõik võistlused(ehk Contests), väljastab listi Contest tüüpi objektitest.
  • GET api/Contest/id
  • GetContests(id) võimaldab pärida võistlsute seast ühte võistlust id alusel, väljastab Contest tüüpi objekti .
  • PUT api/Contest/5
  • PutContest(int id, Contest contest) võimaldab uuendada ühte võistlust id alusel.
  • POST api/Contest
  • PostContest(Contest contest) võimaldab lisada uut võitlust.
  • DELETE api/Contest/5
  • DeleteContest(int id) võimaldab kustutada id alusel kindlat võistlust.
  • post api/contest/5
  • AddTeam(int id,TeamInContest teamInContest) võimaldab lisada võistlusesse kindlat tiimi.

    GameGenre

  • GET api/GameGenre
  • GetGameGenres() võimaldab pärida kõik GameGenred, väljastab Listi GameGenre tüüpi objektitest.
  • GET api/GameGenre/5
  • GameGenre GetGameGenre(int id) võimaldab pärida kindla GameGenre tüüpi olemi, väljastab Gamegenre tüüpi objekti.
  • PUT api/GameGenre/5
  • PutGameGenre(int id, GameGenre gamegenre) võimaldab uuendada kindalt GameGenret id alusel.
  • POST api/GameGenre
  • PostGameGenre(GameGenre gamegenre) võimaldab lisada kindla Gamegenre. DELETE api/GameGenre/5 DeleteGameGenre(int id) võimaldab kustutada kindla GameGenre id alusel.

    Games

  • GET api/Games
  • GetGames() võimaldab pärida kõik Mängud, Välajastab Listi kõikidest Games tüüpi objektitest.
  • GET api/Games/5
  • GetGame(int id) võimaldab pärida kindlat Mängu, väljast Games tööpi objekti.
  • PUT api/Games/5
  • PutGame(int id, Game game) võimaldab uuendada kindlat Mängu id alusel.
  • POST api/Games
  • PostGame(Game game) võimaldab lisada uue Mängu.

    Login

    POST api/Login

  • PostLogin(LoginVM model)võimaldab sisse logida LoginVM mudeli alusel, LoginVM koosneb UserName ja Password väljast,Välajastab User tüüpi objekti.
  • PUT api/user/id
  • AssignRole(int id, string role) lubab määrata kindlale kasutjale kindla rolli.
  • PUT api/user/id
  • GetAllRoles lubab pärida kõik rollid.

    Team

  • GET api/Default1
  • GetTeams() võimaldab pärida kõik Tiimid, väljatab listi Team tüüpi objektidesttest GET api/Default1/5
  • GetTeam(int id) võimaldab pärida kindlat Tiimi id alusel, väljatab Team tüüpi objekti
  • PUT api/Team/5
  • PutTeam(int id, Team team) võimaldab uuendada tiimi id alusel
  • POST api/team
  • PostTeam(Team team) võimaldab lisada uue tiimi.
  • DELETE api/Team/5 DeleteTeam(int id) võimaldab kustutada kindlat Tiimi id alusel.

    USER

  • GET api/User
  • GetUsers() võimaldab pärida kõik kasutjad, Väljastab Listi User tööpi objektidest.
  • GET api/User/5
  • User GetUser(int id) võimaldab pärida kindlat Kasutjat id alusel, Väljastab User tüüpi objekti.
  • PUT api/User/5
  • PutUser(int id, User user)võimaldab uuendada kindlat kasutajat id alusel.
  • POST api/User
  • PostUser(User user)võimaldab lisada uue Kasutja.
  • DELETE api/User/5
  • DeleteUser(int id) võimaldab kustutada kindlat kasutja id alusel.

    XML

    XML failis hoitakse individuaalsete toidukavade andmeid.

    XML

    <?xml version="1.0" encoding="utf-8"?>
    <!-- Kuu sisse on m2rgitud kuu id, nimi ning aastaarv. -->
    <Kuu id="1" nimi="jaanuar" aasta ="2013">
      <!-- N2dala sisse on m2rgitud id j2rgi mitmendat n2dalat inimene toidukava kasutab. -->
      <nadal id= "1">
        <!-- N2dalap2eva sisse on m2rgitud p2eva nimi, id ja kuup2ev.-->
        <nadalaPaev nimi="esmaspaev" id="1" kuupaev ="07.01.2013">
          <!-- Toidukorra sisse on m2rgitud toidukorra nimetus ning id -->
          <toiduKord nimetus="hommikusook" id ="1">
            <!-- Toiduaine sisse on m2rgitud kogus, yhik ning nimi -->
            <toiduAined nimetus="Õun" kogus ="1" Uhik ="tk"/>
            <toiduAined nimetus="Kaerahelbepuder" kogus ="100" Uhik ="g" />
            <toiduAined nimetus="Piim" kogus ="250" Uhik ="ml" />
            <toiduAined nimetus="Sai" kogus ="1" Uhik ="viil" />
          </toiduKord>
          <toiduKord nimetus="lounasook" id="2">
            <toiduAined nimetus="Sealiha" kogus ="100" Uhik ="g" ></toiduAined>
            <toiduAined nimetus="Kartul" kogus ="100" Uhik ="g" ></toiduAined>
            <toiduAined nimetus="Kurgisalat" kogus ="50" Uhik ="g" ></toiduAined>
            <toiduAined nimetus="Õlu" kogus ="500" Uhik ="ml" ></toiduAined>
          </toiduKord>
          <toiduKord nimetus="ohtusook" id="3">
              <toiduAined nimetus="Caesari salat" kogus ="100" Uhik ="g" ></toiduAined>
              <toiduAined nimetus="Leib" kogus ="2" Uhik ="viil" ></toiduAined>
              <toiduAined nimetus="Caesari kaste" kogus ="30" Uhik ="g" ></toiduAined>
              <toiduAined nimetus="Punane vein" kogus ="300" Uhik ="ml" ></toiduAined>
           </toiduKord>
        </nadalaPaev>
        <nadalaPaev nimi="teisipaev" kuupaev ="08.01.2013" id="2">
            <toiduKord nimetus="hommikusook" id="4">
              <toiduAined nimetus="Banaan" kogus ="1" Uhik ="tk" ></toiduAined>
              <toiduAined nimetus="Maisihelbed" kogus ="100" Uhik ="g" ></toiduAined>
              <toiduAined nimetus="Piim" kogus ="250" Uhik ="ml" ></toiduAined>
            </toiduKord>
            <toiduKord nimetus="lounasook" id="5">
              <toiduAined nimetus="Kanafilee" kogus ="100" Uhik ="g" ></toiduAined>
              <toiduAined nimetus="Riis" kogus ="100" Uhik ="g" ></toiduAined>
              <toiduAined nimetus="Terav Chili kaste" kogus ="50" Uhik ="g" ></toiduAined>
              <toiduAined nimetus="Keefir" kogus ="500" Uhik ="ml" ></toiduAined>
            </toiduKord>
            <toiduKord nimetus="ohtusook" id="6">
               <toiduAined nimetus="Pelmeenid" kogus ="170" Uhik ="g" ></toiduAined>
               <toiduAined nimetus="Leib" kogus ="2" Uhik ="viil" ></toiduAined>
               <toiduAined nimetus="Hapukoor" kogus ="100" Uhik ="g" ></toiduAined>
               <toiduAined nimetus="Viin" kogus ="8" Uhik ="cl" ></toiduAined>
             </toiduKord>
          </nadalaPaev>
        </nadal>
    </Kuu>
    

    XML Schema

    <?xml version="1.0" encoding="utf-8"?>
    <xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
      <xs:element name="Kuu">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="nadal">
              <xs:complexType>
                <xs:sequence>
                  <xs:element maxOccurs="unbounded" name="nadalaPaev">
                    <xs:complexType>
                      <xs:sequence>
                        <xs:element maxOccurs="unbounded" name="toiduKord">
                          <xs:complexType>
                            <xs:sequence>
                              <xs:element maxOccurs="unbounded" name="toiduAined">
                                <xs:complexType>
                                  <xs:attribute name="nimetus" type="xs:string" use="required" />
                                  <xs:attribute name="kogus" type="xs:unsignedShort" use="required" />
                                  <xs:attribute name="Uhik" type="xs:string" use="required" />
                                </xs:complexType>
                              </xs:element>
                            </xs:sequence>
                            <xs:attribute name="nimetus" type="xs:string" use="required" />
                            <xs:attribute name="id" type="xs:unsignedByte" use="required" />
                          </xs:complexType>
                        </xs:element>
                      </xs:sequence>
                      <xs:attribute name="nimi" type="xs:string" use="required" />
                      <xs:attribute name="id" type="xs:unsignedByte" use="required" />
                      <xs:attribute name="kuupaev" type="xs:string" use="required" />
                    </xs:complexType>
                  </xs:element>
                </xs:sequence>
                <xs:attribute name="id" type="xs:unsignedByte" use="required" />
              </xs:complexType>
            </xs:element>
          </xs:sequence>
          <xs:attribute name="id" type="xs:unsignedByte" use="required" />
          <xs:attribute name="nimi" type="xs:string" use="required" />
          <xs:attribute name="aasta" type="xs:unsignedShort" use="required" />
        </xs:complexType>
      </xs:element>
    </xs:schema>
    

    XSLT

    Allolev kood kuvab kõikide nädalapäevade toidukava.

    <?xml version="1.0" encoding="utf-8"?>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
        xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="msxsl"
    >
      <xsl:output method="html" indent="yes"/>
    
      <xsl:template match="/*">
        <html>
          <body>
            Kõik p2evad
            <ul>
              <xsl:for-each select="/Kuu/nadal/nadalaPaev">
                <li>
                  <xsl:value-of select="@nimi"/>
                  <xsl:text> </xsl:text>
                  <xsl:value-of select="@kuupaev"/>
                  <ul>
                    <xsl:for-each select="toiduKord">
                      <li>
                        <xsl:value-of select="@nimetus"/>
                      </li>
                      <ul>
                        
                        <xsl:for-each  select="toiduAined">
                          <li>
                            <xsl:value-of select="@nimetus"/>
                            <xsl:text> </xsl:text>
                            <xsl:value-of select="@kogus"/>
                            <xsl:text> </xsl:text>
                            <xsl:value-of select="@Uhik"/>
                            </li>
                        </xsl:for-each>
                        
                      </ul>
                    </xsl:for-each>
                  </ul>
                </li>
              </xsl:for-each>
            </ul>
          </body>
        </html>
      </xsl:template>
    </xsl:stylesheet>
    

    Retsensioonid

  • 1.XML ülesande retsensioon Tiim AFFA II kohta [1]
  • 2.XML ülesande retsensioon Tiim RM kohta [2]
  • 3.Klientrakenduse ja Api retsensioon Tiim Ulgurmutid kohta [3]
  • 4.Klientrakenduse ja Api retsensioon Tiim Ulgurmutid kohta [4]

    Logi

  • Meeskonna moodustamine 15.03.2013
  • XML failide Moodustmine 29.03.2013
  • Äriloogika moodustamine 22 - 23.04.2013
  • Repode loomine ja DI 26-27.04.2013
  • Meeskond vabanes ASP.NET aine projektist(90+% valmis) 19.05.2013
  • Teenuse tüübi valik 20-22.05.2013
  • Teenuse koostamise algus MVCApi baasil
  • Teenusesse repode lisamise lõpp 25.05.2013
  • Non stop klientrakenduse arendamine ja API lihvimine AlGUS 26.05.2013
  • Dokumentatsiooni lisamine API kohta wikisse 27.05.2013
  • Non staaap klientrakenduse arendamine ja API lihvimine LÕPP 28.05.2013
  • Retsentsioon tiim AFFA II XML-i kohta 29.05.2013
  • Retsensioon tiim RM XML ülesande kohta 04.06.2013
  • Retsensioon tiim Ulgurmutid Teenuse ja Klientrakenduse ülesande kohta 04.06.2013
  • Retsensioon tiim V Teenuse ja Klientrakenduse ülesande kohta 08.06.2013