Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: C#: WCF Service

MTKuu53 [05.01.2012 16:22:44]

#

Neuvoja kaivattaisiin seuraavaan:

Pitäisi tehdä WCF Service - ohjelma, joka laskee henkiötunnuksen tarkistusmerkin, kun hetu annetaan ilman merkkiä ja myöskin osaa tarkistaa henkilötunnuksen oikeellisuuden (oikean mittainen, päivämäärä oikein,päivämäärä ei tulevaisuudessa,annettu sukupuoli vastaa henkilötunnuksen määrittelemää)

Pitäisi siis tehdä metodit tuolle tarkistusmerkin laskemiselle ja hetun oikeellisuuden tarkistukselle.

Client-ohjelmassa syötetään henkilötunnus, sukupuoli ja tieto siitä tarkistetaanko hetua vai lasketaanko tarkistusmerkkiä. Client sitten kutsuu oikeaa metodia.
Client pitää olla ASP.NET MVC3 - sovellus

Synomi [05.01.2012 16:33:33]

#

Varmaa hyvä olisi alottaa tutustumalla tuohon MVC3:een. Asp.net sivuilta löytyy hyviä esimerkkejä. Tuon alla olevan ite kävin läpi niin hyvän perustan sai siihen miten nuo kontrollerit, näkymät ja mallit toimivat. Sisältää kyllä tietokanta hommiaki, mut tulee siinä perus sivun luonnit esille sekä tiedon lähettäminen ja prosessointi.

http://www.asp.net/mvc/tutorials/getting-started-with-aspnet-mvc3/getting-started-with-mvc3-part1-cs

Tuohon henkilötunnuksen laskemiseen sitten löytyy varmaa valmiita C# esimerkkejä kuhan googlettelee.

MTKuu53 [05.01.2012 17:25:47]

#

Olen tuon tutorialin käynyt läpi jo aikaisemmin. Esimerkkejä en löytänyt.

Synomi [06.01.2012 16:34:29]

#

Nuilla teppovuori.fi sivuilla on hyvin selitetty nuo tarkistus hommat ja siellä on myös esimerkki tarkistajat.
Tarkistaja:
http://tarkistusmerkit.teppovuori.fi/tuatara.htm#hetu

Se miten tarkistus tapahtuu:
http://tarkistusmerkit.teppovuori.fi/tarkmerk.htm#hetu1


Eihän tuo ihan copy pastella mee, mut koodarin tehtävähän se tuommoisen perusteella on muodostaa oma toimiva sovellus.

No tosta MVC 3 applikaatiosta. En ole itsekkään kauheena pyöritellyt viellä niitä, mutta voit tehdä tuon esimerkiksi seuraavalla tavalla:

1. Tee uusi mvc3 projecti, valitse internet applicaatio pohjaksi ja Razor.
2. Lisää sovellukseen uusi model 'Henkilo'. Eli samaan kohtaan missä on account models class.
Voit tehdä siitä vaikka seuraavanlaisen:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.ComponentModel.DataAnnotations;

namespace henkilotunnus.Models
{
    public class Henkilo
    {
        [Required]
        [DataType(DataType.Text)]
        [Display(Name = "Henkilö tunnus")]
        public string hetu { get; set; }

        [Required]
        [DataType(DataType.Text)]
        [Display(Name = "Tarkistus tapa")]
        public string tapa { get; set; }

        [Required]
        [DataType(DataType.Text)]
        [Display(Name = "Sukupuoli")]
        public string sukupuoli { get; set; }
    }
}

3. Tämän jälkeen varmuudenvuoksi käytä projektia käynnissä, jotta uusi luokka tulee joka paikkaan. Sitten sen voi sammuttaakkin taas.
4. Lisää uusi kontrolleri, vaikka nimeltä FormController. Laita templateksi Controller with empty read/write.
5. Tämän jälkeen etsi index metodi, laita siinä hiiren oikeella napilla add view. Esiin tulevassa valikossa valitse: Create strongly typed view ja valitse siihen se Henkilö malli sit laita Scatfold templateksi 'edit', muut asetukset voi olla defaulteilla.
6. Tämän jälkeen lisää uusi metodi kontrolleriin itse:

[HttpPost]
public string Index(FormCollection collection)
{
    string hetu = "";
    string sukupuoli = "";
    string tapa = "";
    foreach (var key in collection.AllKeys)
    {
        string value = collection[key];

        if (key == "hetu")
        {
            hetu = value;
        }
        else if (key == "sukupuoli")
        {
            sukupuoli = value;
        }
        else if (key == "tapa")
        {
            tapa = value;
        }

    }


    return "Syötit : " + hetu + " Tarkistus tapa: " + tapa + " sukupuoli: " + sukupuoli;
}

Tämä metodi on siis postaukseen käytetty, kun index metodista postataan tietoa index metodiin, niin metodia jonka yllä on '[HttpPost]' käytetään tietojen käsittelyyn. Tiedot menevät FormCollectioniin jotka index sivulta lähetettiin.

Itse tälle formin index sivulle pääset kun laitat osoite palkkiin portin perään /Form

Eli tuossa nyt saat tuolla ylemmällä metodilla ne tiedot käsittelyyn, voit tehdä käsittelyn tuossa ja palauttaa sitten stringinä mitä haluatkaan. Tarvittaessa sen sukupuoli ja tapa kentän voi muuttaa radioiksi, mut saat itse pähkäillä sen.

MTKuu53 [09.01.2012 08:38:04]

#

Kiitän ja kumarran. Noilla pääsen alkuun.

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta