Meeskond "GAP": Difference between revisions

From ICO wiki
Jump to navigationJump to search
No edit summary
No edit summary
Line 55: Line 55:
* InsertProductComment
* InsertProductComment
* DeleteComment
* DeleteComment
== Andmemudel ==





Revision as of 07:56, 25 April 2011

Liikmed

  • Priit Siimo - projektijuht, klientrakendus
  • Gaspar Karm - veebiteenus
  • Andrus Reedla - veebiteenus, andmemudel


Planeering

  • Arenduskeskond - Visual Studio 2010
  • Kliendirakendus valmib Asp.net projektina
  • Veebiteenus - WCF
  • Andmebaasina kasutame SQL2008
  • Andmemudeli koostamiseks kasutasime QSEE Superlite-i
  • Meeskonna suhtlus vahendiks on Skype ning versioonihaldustarkvara TortoiseSVN ning MyVersionControl


Teenus

Tegemist on universaalse tarkvaraga hulgifirmadele. Näidiseks on võetud arvutikaupade hulgimüügiga tegelev firma, kellel on tosin edasimüüjat. Hulgifirmale valmistatakse tarkvara, mis võimaldab temal omakorda oma klientidele (arvutikaupade edasimüüjatele) pakkuda tootevaliku teenust.

St, et hulgifirma klient, ei pea hakkama ise oma veebilehele sisestama pakutavaid tooteid, vaid kasutab selleks hulgifirma poolt pakutavat teenust. Läbi teenuse on võimalik pärida kõik tellitavad tooted, koos piltide, kirjelduse, hindade ja muu vajalikuga.

Võit mõlemale poolele:

1. Edasimüüjad ei pea enam tegelema andmete uuendamisega ja nende kliendid saavad tellida alati kõige uuemaid tooteid.

2. Hulgimüüjal tekib suur konkurentsieelis võrreldes teiste pakkujatega.


Veebiteenused

Kasutajatega seotud meetodid:

  • GetProduct
  • GetAllProducts
  • GetAllProductGroups
  • GetProductImages
  • GetProductPrice
  • GetProductComments
  • InsertComment
  • GetProductParameters


Administreerimisega seotd meetodid:

  • InsertProduct
  • DeleteProduct
  • InsertProductImage
  • DeleteProductImage
  • InsertProductComment
  • DeleteComment


Andmemudel

XML

<?xml version="1.0" encoding="utf-8"?>
<TeenusedKaubad>
  <TeenusKaup>
    <Nimetused>
      <Nimetus keel =""></Nimetus>
    </Nimetused>
    <Kood></Kood>
    <Kirjeldused>
      <Kirjeldus>
        <Keel></Keel>
        <Tekst></Tekst>
      </Kirjeldus>
    </Kirjeldused>
    <Hinnad>
      <Hind>
        <HinnaGrupp></HinnaGrupp>
        <Valuuta></Valuuta>
        <Vaartus></Vaartus>
      </Hind>
    </Hinnad>
    <Kogus></Kogus>
    <Grupid>
      <Grupp></Grupp>
    </Grupid>
    <Parameetrid>
      <Parameeter>
        <Nimetus></Nimetus>
        <Vaartus></Vaartus>
        <Yhik></Yhik>
      </Parameeter>
    </Parameetrid>
    <Pildid>
      <Pilt>
        <Nimi></Nimi>
        <Aadress></Aadress>
      </Pilt>
    </Pildid>
    <Kommentaarid>
      <Kommentaar>
        <Autor></Autor>
        <Pealkiri></Pealkiri>
        <Tekst></Tekst>
        <Hinnang></Hinnang>
        <Aeg>
          <Aasta></Aasta>
          <Kuu></Kuu>
          <KuuPaev></KuuPaev>
          <Tund></Tund>
          <Minut></Minut>
        </Aeg>
      </Kommentaar>
    </Kommentaarid>
  </TeenusKaup>
</TeenusedKaubad>

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="TeenusedKaubad">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="TeenusKaup">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="Nimetused">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element name="Nimetus">
                      <xs:complexType>
                        <xs:attribute name="keel" type="xs:string" use="required" />
                      </xs:complexType>
                    </xs:element>
                  </xs:sequence>
                </xs:complexType>
              </xs:element>
              <xs:element name="Kood" />
              <xs:element name="Kirjeldused">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element name="Kirjeldus">
                      <xs:complexType>
                        <xs:sequence>
                          <xs:element name="Keel" />
                          <xs:element name="Tekst" />
                        </xs:sequence>
                      </xs:complexType>
                    </xs:element>
                  </xs:sequence>
                </xs:complexType>
              </xs:element>
              <xs:element name="Hinnad">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element name="Hind">
                      <xs:complexType>
                        <xs:sequence>
                          <xs:element name="HinnaGrupp" />
                          <xs:element name="Valuuta" />
                          <xs:element name="Vaartus" />
                        </xs:sequence>
                      </xs:complexType>
                    </xs:element>
                  </xs:sequence>
                </xs:complexType>
              </xs:element>
              <xs:element name="Kogus" />
              <xs:element name="Grupid">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element name="Grupp" />
                  </xs:sequence>
                </xs:complexType>
              </xs:element>
              <xs:element name="Parameetrid">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element name="Parameeter">
                      <xs:complexType>
                        <xs:sequence>
                          <xs:element name="Nimetus" />
                          <xs:element name="Vaartus" />
                          <xs:element name="Yhik" />
                        </xs:sequence>
                      </xs:complexType>
                    </xs:element>
                  </xs:sequence>
                </xs:complexType>
              </xs:element>
              <xs:element name="Pildid">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element name="Pilt">
                      <xs:complexType>
                        <xs:sequence>
                          <xs:element name="Nimi" />
                          <xs:element name="Aadress" />
                        </xs:sequence>
                      </xs:complexType>
                    </xs:element>
                  </xs:sequence>
                </xs:complexType>
              </xs:element>
              <xs:element name="Kommentaarid">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element name="Kommentaar">
                      <xs:complexType>
                        <xs:sequence>
                          <xs:element name="Autor" />
                          <xs:element name="Pealkiri" />
                          <xs:element name="Tekst" />
                          <xs:element name="Hinnang" />
                          <xs:element name="Aeg">
                            <xs:complexType>
                              <xs:sequence>
                                <xs:element name="Aasta" />
                                <xs:element name="Kuu" />
                                <xs:element name="KuuPaev" />
                                <xs:element name="Tund" />
                                <xs:element name="Minut" />
                              </xs:sequence>
                            </xs:complexType>
                          </xs:element>
                        </xs:sequence>
                      </xs:complexType>
                    </xs:element>
                  </xs:sequence>
                </xs:complexType>
              </xs:element>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
      </xs:sequence>
    </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">

  <xsl:template match="/">
    <html>
      <body>
        <head>
          <style>
            table{
            font-family:"Verdana";
            font-size:12;
            border-width: 1px;
            border-spacing: 0px;
            border-style: outset;
            border-color: green;
            border-collapse: collapse;
            }

            th{
            border-width: 2px;
            padding: 4px;
            border-style: hidden;
            border-color: green;
            background-color: #daa520;
            -moz-border-radius: 4px 5px 4px 5px;
            }
            td{
            border-width: 1px;
            padding: 4px;
            border-style: solid;
            border-color: #f5f000;
            background-color: #f5f5dc;
            -moz-border-radius: 3px 3px 3px 3px;
            }
            .subTable{
            border-width: 0px;
            }
            .nimetus {
            font-weight: bold;
            }
          </style>
        </head>

        <h2>Kaubad poes</h2>
        <table>
          <tr>
            <th>Tootegrupp</th>
            <th>Toode</th>
            <th>Toote kood</th>
            <th>Kirjeldus</th>
            <th>Hind</th>
            <th>Kogus</th>
            <th>Parameetrid</th>
            <th>Kommentaarid</th>
          </tr>
          <xsl:for-each select="TeenusedKaubad/TeenusKaup">
            <tr>

              <td>
                <xsl:for-each select="Grupid/Grupp">
                  /<xsl:value-of select="Nimetus
"/>
                </xsl:for-each>
              </td>

              <td class="nimetus">
                <xsl:for-each select="Nimetused">
                  <xsl:value-of select="Nimetus"/>
                </xsl:for-each>
              </td>

              <td>
                <xsl:value-of select="Kood"/>
              </td>

              <td>
                <xsl:for-each select="Kirjeldused/Kirjeldus">
                  <table class ="subTable">
                    <tr>
                      <dt>
                        <xsl:value-of select="Tekst"/>
                        <!--(<xsl:value-of select="Keel"/>)-->
                      </dt>
                    </tr>
                  </table>
                </xsl:for-each>
              </td>

              <td>
                <xsl:for-each select="Hinnad/Hind">
                  <table class ="subTable">
                    <tr>
                      <dt>
                        *<xsl:value-of select="HinnaGrupp"/>&nbsp;
                        <xsl:value-of select="Vaartus"/>&nbsp;
                        (<xsl:value-of select="Valuuta"/>)
                      </dt>
                    </tr>
                  </table>
                </xsl:for-each>
              </td>

              <td align="center">
                <xsl:value-of select="Kogus"/>
              </td>

              <td>
                <xsl:for-each select="Parameetrid/Parameeter">
                  <table class ="subTable">
                    <tr>
                      <dt>
                        <xsl:value-of select="Nimetus"/>:
                        <xsl:value-of select="Vaartus"/>
                        <xsl:value-of select="Yhik"/>
                      </dt>
                    </tr>
                  </table>
                </xsl:for-each>
              </td>

              <td>
                <xsl:for-each select="Kommentaarid/Kommentaar">
                  <table class ="subTable">
                    <tr>
                      <dt>
                        <xsl:value-of select="Pealkiri"/><br />
                        <xsl:value-of select="Tekst"/><br />
                        <xsl:value-of select="Autor"/>: &nbsp;
                        <xsl:value-of select="Aeg/Tund"/>:
                           <xsl:value-of select="Aeg/Minut"/>&nbsp;
                           <xsl:value-of select="Aeg/KuuPaev"/>/
                           <xsl:value-of select="Aeg/Kuu"/>/
                           <xsl:value-of select="Aeg/Aasta"/>
                      </dt>
                    </tr>
                  </table>
                </xsl:for-each>
              </td>

            </tr>
          </xsl:for-each>
        </table>
      </body>
    </html>
  </xsl:template>
</xsl:stylesheet>