Využij akce až 80 % zdarma při nákupu e-learningu. Více informací.
Pouze tento týden sleva až 80 % na e-learning týkající se Pythonu
python week
Avatar
Ondrej Horák:28.2.2018 13:35

Zdravim. Na zaciatok vam trocha popisem problem. Snazim sa vytvorit registraciu pre lekarov a pacientov. Budu mat rozdielne registracie: lekar bude mat okrem (mena a priezviska, emailu a ine) naviac jeho specializaciu a posobenie. Pacient bude mat v registracii okrem (mena a priezviska, emailu a ine) naviac rodne cislo a cislo poistovne.

Pracujem na webovej appke pomocou MVC frameworku.
A moja otazka znie ako najlepsie implementovat takyto navrh. Mam tri triedy v modely a sice Osoba, ktora zahrna prave tie zakladne veci (ID, mena a priezviska, emailu a ine) a od neho dedia triedy Pacient a Lekar. Pacient ma property rodne cislo a cislo poistovne a pacient to co som uz vyssie spominal. Popripade mam to inak implementovat nez mam ja alebo ako?
Dalsie vec, ze sa mi bude zobrazovat iny page po prihlaseni pre lekara a iny pre pacienta.

Dalej aku metodu najviac mam uprednostit. Ci code first alebo database first ak chces pracovat s entity frameworkom popripade co odporucate.

Editováno 28.2.2018 13:38
 
Odpovědět
28.2.2018 13:35
Avatar
Odpovídá na Ondrej Horák
Michal Štěpánek:28.2.2018 14:43

Myslím, že se to snažíš řešit zbytečně složitě. Když si založíš nový (neprázdný) projekt ASP.NET MVC, tak tam máš automaticky vygenerováno pomocí Identity téměř vše, co potřebuješ (uživatele, role...). Třídu User (resp AspNetUser) si můžeš upravit k obrazu svému a na to případně navázat potřebné doplňující tabulky.

Dalej aku metodu najviac mam uprednostit. Ci code first alebo database first

za mě jednoznačně vítězí CodeFirst, ale dá se říct, že to není rozhodující...

Editováno 28.2.2018 14:44
Nahoru Odpovědět
28.2.2018 14:43
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
Avatar
Ondrej Horák:28.2.2018 14:44

No ale ja chcem začať bez šablóny MVC, tzv. začať od piky. Inak ide o bakalársku prácu.

Ďakujem za názor :), ja sa tiež vyberám touto cestou.

Editováno 28.2.2018 14:45
 
Nahoru Odpovědět
28.2.2018 14:44
Avatar
Odpovídá na Ondrej Horák
Michal Štěpánek:28.2.2018 14:57

Asi by se to dalo páchat tak, jak to řešíš. Různá zobrazení po přihlášení se dají řešit více způsoby. Dá se u přihlašovacího formuláře udělat "checkbox" např. Lékař, kdy při zaškrtnutí by Controller přesměroval na příslušnou stránku, nebo by mohl controller vyhodnocovat podle loginu, jestli je "přihlášený" lékař či není a podle toho by se přesměroval na příslušnou akci...

Nahoru Odpovědět
28.2.2018 14:57
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
Avatar
jozef_i
Člen
Avatar
Odpovídá na Ondrej Horák
jozef_i:28.2.2018 15:20

Ja som za code first. Dobre sa v tom takto pracuje cez migrácie.

 
Nahoru Odpovědět
28.2.2018 15:20
Avatar
Odpovídá na Michal Štěpánek
Ondrej Horák:28.2.2018 15:24

Ďakujem za odpoveď. Dúfam, že to nebude cesta odporu ale tá jednoduchšia :D. Totiž to, doteraz som pracoval v Jave a nepoužíval MVC framework a ani webové stránky som tak nevyvíjal. Ja som rád, za každý podnet a trocha toho know-how. Problém je, že som nikde nenašiel riešenie nejakého blízkeho problému ako mám teraz ja. Preto som sa aj pýtal ako môžem alebo mám vytvoriť registráciu pre dve rozdielne typy používateľov a či to pôjde aj cez tú dedičnosť od osoby ktorý má základné property a pacient a lekár majú rozširujúce property.

Pri logine spravím nejakú podmienku, či pôjde o lekára alebo pacienta a podľa toho sa zobrazí page.

Editováno 28.2.2018 15:26
 
Nahoru Odpovědět
28.2.2018 15:24
Avatar
Ondrej Horák:1.3.2018 18:03

A v DB mi bude potreba vytvoriť najlepšie dve tabuľky? Pacienti a Lekári zvlášť? Alebo to všetko narvať do jednej tabuľky?

 
Nahoru Odpovědět
1.3.2018 18:03
Avatar
Odpovídá na Ondrej Horák
Michal Štěpánek:1.3.2018 20:11

To záleží na tom, co by ta aplikace s těmi údaji měla dělat... Může to být tak i tak, ale záleží na funkci aplikace. Pro každé využití může být lepší jiný způsob.

Nahoru Odpovědět
1.3.2018 20:11
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
Avatar
Odpovídá na Ondrej Horák
Michal Štěpánek:2.3.2018 8:00

Když tak nad tím přemýšlím, asi bych pacienty dal do jiné tabulky než lékaře a udělal bych jednu "vazební" tabulku (kde by bylo mimo ID záznamu ještě ID lékaře a ID pacienta) a tam by se lékařům přidělovali pacienti, protože jeden lékař bude mít jistě i víc pacientů a zároveň pacient může mít víc lékařů...
Pak bych rovnou oddělil view pro registraci pacientů od registrace lékařské, protože můžeš do ViewModelu rovnou dát, co komu patří...

Nahoru Odpovědět
2.3.2018 8:00
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
Avatar
Ondrej Horák:2.3.2018 8:20

Vykonavanie s tymito entitami bude iba registracia a prihlasovanie na svoj jednotlivy page. Gro, funkcia bude len o tom ze sa pacient moze objednat k lekarovi ale nebude sa to ukladat do tabulky.

Ano tak to planujem :). Obrovska vdaka za pomoc. Ja mam zatial navrhnute 4 db tabulky, jedna pre login kde sa uklada username a heslo, potom mam uzivatela kde su zakladne info ako meno priezvisko atd., pfk od login a posledne specificke objekty a sice lekar a pacient ktory kazdy ma svoj iny properties.

 
Nahoru Odpovědět
2.3.2018 8:20
Tento výukový obsah pomáhají rozvíjet následující firmy, které dost možná hledají právě tebe!
Avatar
plelovsky
Člen
Avatar
plelovsky:2.3.2018 10:07

Mam tri triedy v modely a sice Osoba, ktora zahrna prave tie zakladne veci (ID, mena a priezviska, emailu a ine) a od neho dedia triedy Pacient a Lekar. Pacient ma property rodne cislo a cislo poistovne a pacient to co som uz vyssie spominal.

Co když bude lékař zároveň pacientem? I lékař má rodné číslo a zdravotní pojišťovnu.
Třídy Pacient a Lekar mají mít asociaci na třídu Osoba. Instance tříd Pacient a Lekar můžou mít asociaci na tutéž instanci třídy Osoba.

 
Nahoru Odpovědět
2.3.2018 10:07
Avatar
Odpovídá na plelovsky
Ondrej Horák:3.3.2018 9:11

Vyborny dotaz. Ale lekar musi mat v tomto pripade dva ucty. Raz ako lekar a raz ako pacient. Nebudem ich odkazovat na tu istu osobu.

 
Nahoru Odpovědět
3.3.2018 9:11
Avatar
Marian Benčat:3.3.2018 11:25

Rodné číslo nemůže mít ani uložené ve stejné databázi, pokud to chce děla legálně :-))

Nahoru Odpovědět
3.3.2018 11:25
Totalitní admini..
Avatar
Odpovídá na Marian Benčat
Ondrej Horák:6.3.2018 11:58

Týmto sa nebudem zaoberať :D. Keď budem appku ďalej vyvíjať potom budem riešiť aj podobné záležitosti.

 
Nahoru Odpovědět
6.3.2018 11:58
Avatar
Ondrej Horák:6.3.2018 12:16

Mimochodom sa chcem spytat, je to len ukazka, ci je toto spravne navrhnutie DB tabuliek. A ako v tomto pripade mam postupovat, pokial dam to Loginu property ID ci ho aj inde treba napisat alebo len nejakym sposobom budem tvorit PFK a FK?

Editováno 6.3.2018 12:17
 
Nahoru Odpovědět
6.3.2018 12:16
Avatar
Odpovídá na Ondrej Horák
Michal Štěpánek:6.3.2018 12:49

K čemu jsou ty tabulky "Uživatel" a "Login" oddělené? Já bych udělal jednu...

Nahoru Odpovědět
6.3.2018 12:49
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
Avatar
Ondrej Horák:6.3.2018 12:52

Bolo mi povedane, ze meno a heslo by sa malo ukladat do samotnej tabulky. Len v MVC mam potom problem pri technike CodeFirst naviazat na ten login. Kedze tam mam aj overenie hesla ale ked sa budem chciet zalogovat tak tam overenie hesla nemam. Ja toto MVC sa ucim a som z toho mierne zmeteny ako to vsetko funguje.

 
Nahoru Odpovědět
6.3.2018 12:52
Avatar
Odpovídá na Ondrej Horák
Michal Štěpánek:6.3.2018 13:00

Bolo mi povedane, ze meno a heslo by sa malo ukladat do samotnej tabulky.

Nevím, kdo ti řekl takovou věc, podle mě je to nesmysl a ničemu to nepomůže. Heslo je v databázi stejně zahashované, takže to postrádá smyslu, nehledě k tomu, že by se s tím pak obtížně pracovalo (programátorovi)...

Akceptované řešení
+20 Zkušeností
+1 bodů
Řešení problému
Nahoru Odpovědět
6.3.2018 13:00
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
Avatar
Ondrej Horák:7.3.2018 16:59

Ako funguje prosím vás dedičnosť? Pretože ak mi pacient a lekar dedia z Uzivatela v modeli, v db sa mi automaticky vygeneruje len jedna tabulka Uzivatel, ktorá má stĺpce aj lekar a pacient. A to je zle tak to nechcem. Ak odstránim dedičnosť, už mám tabuľky tri Lekar Pacient a Uzivatel ale nieje to OOP pretože modelovo sa mi nededia? Viete mi prosím niekto po lopate ako vyriešiť registráciu a prihlasovanie dvoch typov užívateľov?

 
Nahoru Odpovědět
7.3.2018 16:59
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 19 zpráv z 19.