Screaming Magic Gnomes

From ICO wiki
Revision as of 15:44, 17 April 2016 by Mhakkine (talk | contribs)
Jump to navigationJump to search

Kodutöö aines "Võrgurakendused II: hajussüsteemide ehitamine" Aastal 2016.

Meeskond

Märt Häkkinen
Siim Osa
Taavi Kivimaa


Idee

Meie idee on luua juuksuri- ja kosmeetikasalongi broneerimissüsteem, kasutades C# keelt. Klientidel on võimalik valida välja protseduur, ning aeg ja teenindaja. Salongil on võimalik näha ja hallata broneeringuid.


XML

<?xml version="1.0" encoding="UTF-8"?>
<Salong nimi="Kristiine">
<Teenused Tyyp="Juuksehooldus">
  <Teenus Tyyp="Mees" Id="1">
    <Nimi>
      <![CDATA[Peosoeng]]>
    </Nimi>
    <Hind Valuuta="Euro">
      22
    </Hind>
    <Kestvus aeg="Minut">
      60
    </Kestvus>
  </Teenus>
  <Teenus Tyyp="Mees" Id="2">
    <Nimi>
      <![CDATA[Masinlõikus]]>
    </Nimi>
    <Hind Valuuta="Euro">
      8
    </Hind>
    <Kestvus aeg="Minut">
      45
    </Kestvus>
  </Teenus>
  <Teenus Tyyp="Mees" Id="3">
    <Nimi>
      <![CDATA[Värvimine]]>
    </Nimi>
    <Hind Valuuta="Euro">
      36
    </Hind>
    <Kestvus aeg="Minut">
      90
    </Kestvus>
  </Teenus>
    <Teenus Tyyp="Naine" Id="4">
    <Nimi>
      <![CDATA[Peosoeng]]>
    </Nimi>
    <Hind Valuuta="Euro">
      25
    </Hind>
    <Kestvus aeg="Minut">
      90
    </Kestvus>
  </Teenus>
  <Teenus Tyyp="Naine" Id="5">
    <Nimi>
      <![CDATA[Värvimine]]>
    </Nimi>
    <Hind Valuuta="Euro">
      36
    </Hind>
    <Kestvus aeg="Minut">
      90
    </Kestvus>
  </Teenus>
</Teenused>
 
 <Teenused Tyyp="Kosmeetik">
  <Teenus Tyyp="Naine" Id="6">
    <Nimi>
      <![CDATA[Kollageen leht-mask]]>
    </Nimi>
    <Hind Valuuta="Euro">
      35
    </Hind>
    <Kestvus aeg="Minut">
      90
    </Kestvus>
  </Teenus>
</Teenused>
   <Teenused Tyyp="Maniküür">
  <Teenus Tyyp="Mees" Id="6">
    <Nimi>
      <![CDATA[Maniküür]]>
    </Nimi>
    <Hind Valuuta="Euro">
      12
    </Hind>
    <Kestvus aeg="Minut">
      30
    </Kestvus>
  </Teenus>
</Teenused>
 
  <Reserveeringud>
  <Reserveering Id="1" TeenuseId="2">
    <KliendiId>
      37
    </KliendiId>
    <TöötajaId>
      1440
    </TöötajaId>
    <Aeg>
      <Algus>
        2016-04-17T14:00:00
      </Algus>
      <Lõpp>
        2016-04-17T14:45:00
      </Lõpp>
    </Aeg>
        <Makstud>
        true
      </Makstud>
  </Reserveering>
    <Reserveering Id="1" TeenuseId="6">
    <KliendiId>
      24
    </KliendiId>
    <TöötajaId>
      200
    </TöötajaId>
    <Aeg>
      <Algus>
        2016-04-17T14:00:00
      </Algus>
      <Lõpp>
        2002-04-17T15:00:00
      </Lõpp>
    </Aeg>
      <Makstud>
        false
      </Makstud>
  </Reserveering>
  </Reserveeringud>
  </Salong>

XSD

<?xml version="1.0" encoding="utf-8"?>
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:element name="Salong">
    <xs:complexType>
      <xs:sequence>
        <xs:element maxOccurs="unbounded" name="Teenused">
          <xs:complexType>
            <xs:sequence>
              <xs:element maxOccurs="unbounded" name="Teenus">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element name="Nimi" type="xs:string" minOccurs="1" maxOccurs="1"/>
                    <xs:element name="Hind" type="xs:string" minOccurs="1" maxOccurs="1">
                      <xs:complexType>
                        <xs:simpleContent>
                          <xs:extension base="xs:unsignedByte">
                            <xs:attribute name="Valuuta" type="xs:string" use="required" />
                          </xs:extension>
                        </xs:simpleContent>
                      </xs:complexType>
                    </xs:element>
                    <xs:element name="Kestvus" minOccurs="1" maxOccurs="1">
                      <xs:complexType>
                        <xs:simpleContent>
                          <xs:extension base="xs:unsignedByte">
                            <xs:attribute name="aeg" type="xs:string" use="required" />
                          </xs:extension>
                        </xs:simpleContent>
                      </xs:complexType>
                    </xs:element>
                  </xs:sequence>
                  <xs:attribute name="Tyyp" type="xs:string" use="required" />
                  <xs:attribute name="Id" type="xs:unsignedByte" use="required" />
                </xs:complexType>
              </xs:element>
            </xs:sequence>
            <xs:attribute name="Tyyp" type="xs:string" use="required" />
          </xs:complexType>
        </xs:element>
        <xs:element name="Reserveeringud">
          <xs:complexType>
            <xs:sequence>
              <xs:element maxOccurs="unbounded" name="Reserveering">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element name="KliendiId" type="xs:unsignedByte" />
                    <xs:element name="TöötajaId" type="xs:unsignedShort" />
                    <xs:element name="Aeg">
                      <xs:complexType>
                        <xs:sequence>
                          <xs:element name="Algus" type="xs:dateTime" />
                          <xs:element name="Lõpp" type="xs:dateTime" />
                        </xs:sequence>
                      </xs:complexType>
                    </xs:element>
                    <xs:element name="Makstud" type="xs:boolean" />
                  </xs:sequence>
                  <xs:attribute name="Id" type="xs:unsignedInt" use="required" />
                  <xs:attribute name="TeenuseId" type="xs:unsignedInt" use="required" />
                </xs:complexType>
              </xs:element>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
      </xs:sequence>
      <xs:attribute name="nimi" type="xs:string" use="required" />
    </xs:complexType>
  </xs:element>
</xs:schema>

XSLT

<?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>
      <head>
        <title>Kristiine Salong</title>
      </head>
      <body>


        <h1>Teenused</h1>
        <h2>Meestele</h2>
        <!--Kirjutame välja meeste ja naiste teenused, hinnad ja ajalise kestvuse eraldi tabelitesse!-->
        <ul>
          <Table>
            <tr>
              <th>Nimi</th>
              <th>Kestvus</th>
              <th>Hind</th>
            </tr>

            <xsl:for-each select="Salong/Teenused/Teenus">
              <xsl:if test="@Tyyp='Mees'">
                <tr>
                  <td>
                    <xsl:value-of select="./Nimi"/>
                  </td>
                  <td>
                    <xsl:value-of select="./Hind"/>
                  </td>
                  <td>
                    <xsl:value-of select="./Kestvus"/>
                  </td>
                </tr>
              </xsl:if>
            </xsl:for-each>
          </Table>
        </ul>
        <h2>Naistele</h2>
        <ul>
          <Table>
            <tr>
              <th>Nimi</th>
              <th>Kestvus</th>
              <th>Hind</th>
            </tr>

            <xsl:for-each select="Salong/Teenused/Teenus">
              <xsl:if test="@Tyyp='Naine'">
                <tr>
                  <td>
                    <xsl:value-of select="./Nimi"/>
                  </td>
                  <td>
                    <xsl:value-of select="./Hind"/>
                  </td>
                  <td>
                    <xsl:value-of select="./Kestvus"/>
                  </td>
                </tr>
              </xsl:if>
            </xsl:for-each>
          </Table>
        </ul>
      </body>
    </html>
  </xsl:template>
</xsl:stylesheet>
</?xml>


Veebiteenuse analüüs