Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Diskuze: Machr na C#.NET - Fakturační systém

Aktivity
Avatar
David Hartinger
Vlastník
Avatar
David Hartinger:4.2.2014 11:18

Zdravím místní programátory, v pravidelné minisoutěži budeme hrát o placku Machr na C# .NET, případně Machr na OOP a samolepky. Snažil jsem se opět vymyslet praktické zadání, které je jednoduché a připraví vás na zaměstnání. Řešení dnešního zadání by se po rozšíření dalo určitě i prodat, třeba si na tom někdo uděláte business :D

Naprogramujte fakturační systém v C# .NET s použitím technologií WPF a Entity Framework (to je knihovna pro objektový přístup k DB). Jako databázi použijte SQL Server. Ačkoli to zní asi složitě, budete překvapeni, jak rychle to s Entity napíšete a pokud ho neznáte, máte nejvyšší čas se ho naučit.

Systém bude značně zjednodušený a bude obsahovat 2 entity: Osoba a Faktura. Osoba má nějaké jméno a adresu. U faktury lze následně zvolit dodavatel a odběratel (z uložených osob), její cena a název služby, na kterou je vystavená.

Pokud chcete být důkladní, vygooglujte si jak vypadá faktura a přidejte osobě i věci jako IČ, DIČ a podobně. U faktury je pak ještě nějaké datum, číslo (to se většinou generuje samo jako 2014020101 - první faktura prvního února 2014). K soutěži to potřeba není, samozřejmě když si s tím někdo vyhraje, bude zvýhodněn.

Část pro pokročilé
Pokud umíte pracovat s Entity, budete se asi dost nudit, že? Nejsložitější je vlastně naklikání GUI. Můžete naprogramovat uložení faktury do PDF. K tomu jsou minimálně 2 extrémně jednoduché a free knihovny, zjistěte si jak se používají, hodí se vám to. Aplikace s exportem do PDF budu hodnotit zvlášť.

Čas si dejme do pondělí 10.2. do 10:00.
Podrobnější pravidla soutěže jsou zde: http://www.itnetwork.cz/…outezi-machr

Editováno 4.2.2014 17:17
Odpovědět
4.2.2014 11:18
You are the greatest project you will ever work on.
Avatar
Neaktivní uživatel:4.2.2014 14:39

představoval by sis to nějak takhle: http://www.youtube.com/watch?…
dík

Nahoru Odpovědět
4.2.2014 14:39
Neaktivní uživatelský účet
Avatar
David Hartinger
Vlastník
Avatar
Odpovídá na Neaktivní uživatel
David Hartinger:4.2.2014 14:40

Můžeš to udělat jak chceš, ale co jsi poslal je zbytečně složité. Stačí když bude mít faktura jen jednu položku, jak je v zadání.

Nahoru Odpovědět
4.2.2014 14:40
You are the greatest project you will ever work on.
Avatar
Jan Vargovský
Tvůrce
Avatar
Odpovídá na David Hartinger
Jan Vargovský:4.2.2014 14:56

I pro ty co neumí pracovat s entity je to směšné :D

 
Nahoru Odpovědět
4.2.2014 14:56
Avatar
Michal Žůrek - misaz:4.2.2014 15:04

super neumím absolutně nic z toho co je vyžadováno, tak se to pokusím za týden doučit.

 
Nahoru Odpovědět
4.2.2014 15:04
Avatar
Jan Vargovský
Tvůrce
Avatar
Odpovídá na Michal Žůrek - misaz
Jan Vargovský:4.2.2014 15:06

Za chvíli tomu přijdeš na chuť a už budeš EF milovat :)

 
Nahoru Odpovědět
4.2.2014 15:06
Avatar
David Hartinger
Vlastník
Avatar
Odpovídá na Jan Vargovský
David Hartinger:4.2.2014 15:31

Právě, kdo někdy použil kvalitní ORM, tak už nebude chtít nic jiného. To jsou prostě ty technologie, kdy člověk nakliká aplikaci kterou by jinak dělal hodiny za minuty :)

Nahoru Odpovědět
4.2.2014 15:31
You are the greatest project you will ever work on.
Avatar
Michal Žůrek - misaz:4.2.2014 15:34

V čem je jiný ten SQL server CE než SQL server 2012 (2014)?

 
Nahoru Odpovědět
4.2.2014 15:34
Avatar
David Hartinger
Vlastník
Avatar
Odpovídá na Michal Žůrek - misaz
David Hartinger:4.2.2014 15:36

CE už máš nainstalovaný, je součástí VS nebo dost možná i součástí Windows. CE značí CompactEdition. Používá se stejně, ale DB pak funguje všude, ne jen tam, kde je nainstalovaný MS SQL Server. Jsou tam nějaká malá omezení.

Nahoru Odpovědět
4.2.2014 15:36
You are the greatest project you will ever work on.
Avatar
Artas
Tvůrce
Avatar
Odpovídá na David Hartinger
Artas:4.2.2014 16:07

Je možné, že při vytváření nového Data Connection nemám v nabídce SQL server CE? Já mám na výběr jen toto: Microsoft Access Database File, Microsoft SQL Server a Microsoft SQL Server Database File (Používám VS2013 Express for desktop)

 
Nahoru Odpovědět
4.2.2014 16:07
Avatar
David Hartinger
Vlastník
Avatar
Odpovídá na Artas
David Hartinger:4.2.2014 16:15

Otevři si Server Explorer, přidej si nový Connection a u výběru DB dej Change a tam ho musíš mít.

Nahoru Odpovědět
4.2.2014 16:15
You are the greatest project you will ever work on.
Avatar
Odpovídá na David Hartinger
Michal Žůrek - misaz:4.2.2014 16:23

taky s tím zápasím, pořád mi to nabízí mdf, to je ono?

 
Nahoru Odpovědět
4.2.2014 16:23
Avatar
David Hartinger
Vlastník
Avatar
Odpovídá na Michal Žůrek - misaz
David Hartinger:4.2.2014 16:27

Ne, je to soubor sdf.

Nahoru Odpovědět
4.2.2014 16:27
You are the greatest project you will ever work on.
Avatar
Artas
Tvůrce
Avatar
Odpovídá na David Hartinger
Artas:4.2.2014 16:49

Server explorer jsem nikde nenašel, mám tam jen Database Explorer a tam když dám Add connection, tak mám jen tyto volby: https://www.dropbox.com/…0%282%29.png

 
Nahoru Odpovědět
4.2.2014 16:49
Avatar
David Hartinger
Vlastník
Avatar
Odpovídá na Artas
David Hartinger:4.2.2014 16:52

To je dost divné, budeš si ho tedy muset doinstalovat.

Nahoru Odpovědět
4.2.2014 16:52
You are the greatest project you will ever work on.
Avatar
Artas
Tvůrce
Avatar
Avatar
Artas
Tvůrce
Avatar
Artas:4.2.2014 17:03

Tak jsem si to stáhl a při instalaci mi to říkalo, že už ho mám nainstalovaný, a nabídlo mi to akorát odstranit nebo opravit, zkusil jsem opravit ale ničemu to nepomohlo, ve VS ho pořád nevidím.

 
Nahoru Odpovědět
4.2.2014 17:03
Avatar
David Hartinger
Vlastník
Avatar
Odpovídá na Artas
David Hartinger:4.2.2014 17:17

Vypadá to, že od VS 2013 nejde použít. Použijte tedy normální SQL Server :)

Nahoru Odpovědět
4.2.2014 17:17
You are the greatest project you will ever work on.
Avatar
Artas
Tvůrce
Avatar
 
Nahoru Odpovědět
4.2.2014 17:18
Avatar
Lako
Člen
Avatar
Odpovídá na Artas
Lako:4.2.2014 21:13

CE lze ve VS 2013 použít, ale nedá se k němu připojit skrze server explorer. Jinak programovat nad ním můžete a není to problém co se týče code first přístupu.
Pokud však toužíte nakukovat do databáze poslouží perfektně tento doplněk: http://visualstudiogallery.msdn.microsoft.com/…6e74d369f7a1

 
Nahoru Odpovědět
4.2.2014 21:13
Avatar
David Hartinger
Vlastník
Avatar
Odpovídá na Lako
David Hartinger:4.2.2014 21:39

To sice ano, ale když MS něco vyhodil, tak to rozhodně nebudu používat i když to nějak jde.

Nahoru Odpovědět
4.2.2014 21:39
You are the greatest project you will ever work on.
Avatar
Lako
Člen
Avatar
Odpovídá na David Hartinger
Lako:4.2.2014 23:06

Jo, ano.. Ale tady to není zas takový problém
Moc to nechápu proč to MS zaříznul.
Alternativa je LocalDB, která však má víc než 160 MB a to se už opravdu nehodí k nějaké appce jen tak..

 
Nahoru Odpovědět
4.2.2014 23:06
Avatar
David Hartinger
Vlastník
Avatar
Odpovídá na Lako
David Hartinger:5.2.2014 9:28

MS má spoustu technologií a ty, které používá málo lidí nebo generují malý zisk, prostě zařízne, aby mohl vyvíjet jiné. To je běžné chování zdravé firmy. Podobně skončilo i XNA. O LocalDB jsem ještě neslyšel, máš s tím nějaké zkušenosti?

Nahoru Odpovědět
5.2.2014 9:28
You are the greatest project you will ever work on.
Avatar
Odpovídá na David Hartinger
Michael Olšavský:5.2.2014 11:07

:OO ten Entity Framework je úplně perfektní! :3 :) Lehčí práci s DB jsem ještě neviděl. Vždycky jsem se s tím patlal přes ruzné sql ovladače procedurálně :)

 
Nahoru Odpovědět
5.2.2014 11:07
Avatar
Petr Domes (petrds):5.2.2014 12:39

Ten Entity Framework mi přijde lehce jednodušší než LINQ to SQL. EF má třeba luxusní funkci "Update Model from database..." čili když změním něco v DB, tak jedním klikem se mi aktualizuje i ORM.

 
Nahoru Odpovědět
5.2.2014 12:39
Avatar
Lako
Člen
Avatar
Odpovídá na David Hartinger
Lako:5.2.2014 13:28

Možná to bude také tím, že se s CE ztrácela nutnost pronájmu SQL serveru a z toho plynoucí malé zisky...
S localDB zkušenost nemám. Na nepodporu CE ve vs13 jsem přišel ve stejnou chvíli...

 
Nahoru Odpovědět
5.2.2014 13:28
Avatar
petrph
Člen
Avatar
Odpovídá na Lako
petrph:5.2.2014 17:08

Asi takhle - MS SQL Server je robustní databázovej server pro přístupy tísíců a desítek tisíc klientů. Ale pro malý subjekty typu SOHO (tj. desktopové aplikace,či malé podnikové sítě, intranety pro desítky klientů) je zbytečně drahej a taky HW náročnej,čili v týhle skupině by si ho málokdo kupoval. . Čili-pro tuhle skupinu dodává Microsfot dál MS SQL Server CE (a lze si ho stáhnout) - akurát jsou v něm skutečně některé rozšířené funkce oproti čistému SQL serveru zablokovaný...Čili i v ve Visual Studiu 2013 lze naprogramovat přístup k CE, ale přes Entity Framework ne...

 
Nahoru Odpovědět
5.2.2014 17:08
Avatar
Odpovídá na David Hartinger
Jakub Lásko[Saarix]:5.2.2014 18:48

U výběru té osoby k faktuře to má být, že uživatel uvidí seznam jmen dodavatelů ze seznamu osob, nebo vytáhnout ID uživatelů jako seznam dodavatelů?

Nahoru Odpovědět
5.2.2014 18:48
Časem je vše možné.
Avatar
Lako
Člen
Avatar
Odpovídá na petrph
Lako:5.2.2014 19:24

:) Ano to já vím. Řešíme tu trochu jiný problém a to ten že MS pomalu CE odpískává...
A s EF samozřejmě použít lze.

 
Nahoru Odpovědět
5.2.2014 19:24
Avatar
petrph
Člen
Avatar
Odpovídá na Lako
petrph:5.2.2014 20:39

Takovej důvod proč Microsoft možná pomalu odpískává CE je asi ten že už současně nabízí podobnej produkt SQL Server 2014 Express - a taky zdarma.a ten asi bude dělat skoro to samotný...Čili jenom že neplatí to že by Microsoft někoho tlačil do drahýho plnýho MS SQL Serveru, ty bezplatný varianty budou dál.

 
Nahoru Odpovědět
5.2.2014 20:39
Avatar
Petr Domes (petrds):6.2.2014 16:41

Zde je můj výtvor
https://drive.google.com/…LU9TZnM/edit?…

DB a PDF --> brnkačka

Vytvoření funkčního GUI trvalo nejdéle. Nefunguje mi žádná validace (PSC,ICO a Cena se musí zadat jako číslo). Zkoušel přímo v XAMLu použít nějaký vlastní validátor (ValidationRule) , ale neúspěšně. Do pondělí to snad dořeším. Dále mám v datagridech a comboboxech jeden řádek navíc, který je prázdný, což vůbec nechápu co tam dělá, ale jinak to funguje celkem použitelně :-D

 
Nahoru Odpovědět
6.2.2014 16:41
Avatar
Jan Vargovský
Tvůrce
Avatar
Jan Vargovský:9.2.2014 20:18

http://leteckaposta.cz/961208089

Umí to jen základ co jsem dělal před pár dny. Myslel jsem, že vylepším o víkendu, ale maturiták + ZOH udělaly svoje :D

 
Nahoru Odpovědět
9.2.2014 20:18
Avatar
Petr Domes (petrds):10.2.2014 2:34

Tak aspoň ty validace jsem dořešil
http://leteckaposta.cz/540692533

p4koo: dle zadání to má být ve WPF a ne ve WF :)

 
Nahoru Odpovědět
10.2.2014 2:34
Avatar
David Hartinger
Vlastník
Avatar
David Hartinger:10.2.2014 11:16

p4koo - Mocky máš skvěle udělané, pokud jsem to správně pochopil, generují se náhodně pomocí dll knihovny. Zbytek aplikace je bohužel dost odbytý a není to WPFko. Snad tě soutěž tedy alespoň namotivovala k těm mockům.

MartinSakra - U osoby bych měl vybírat asi celou adresu, ne zvlášť Město, Jméno a ČP. Chválím validace, i když by měly být v modelech, ne v CodeBehind. Co se týče WPF formuláře, tak je jen naklikaný myší, chtělo by to používat kontejnery a relativní pozice, potom bude aplikace responzivní. Nenašel jsem procházení faktur.

Petr Domes (petrds) - Tohle řešení je pecka! Nějak podobně jsem si to představoval ve svých naivních představách. Umí to kompletně administraci, výpis, generování do PDF a aplikace obsahuje validace. WPF je dost pěkné, bindingy, gridy, usercontroly.

PDFko neumí česky, dá se to spravit dodáním řádku:

XPdfFontOptions options = new XPdfFontOptions(PdfFontEncoding.Unicode, PdfFontEmbedding.Always);

a tohoto parametru následně k fontům. Máš to trochu Czechglish (identifikátory jako selectedFaktura), chtělo by to psát buď česky nebo anglicky.

Placka je tvoje! S EF nemám takové zkušenosti, docela by mě zajímalo za jak dlouho se dá tohle udělat? Napiš si x o placku :)

Všem díky za váš čas a účast, vážím si toho a budu se těšit u příští soutěže.

Nahoru Odpovědět
10.2.2014 11:16
You are the greatest project you will ever work on.
Avatar
Jan Vargovský
Tvůrce
Avatar
Odpovídá na David Hartinger
Jan Vargovský:10.2.2014 12:50

Používám to skoro všude, když pracuju s DB. Můžeš to stáhnout přímo z nugetu nebo skrz package consoli.

 
Nahoru Odpovědět
10.2.2014 12:50
Avatar
DreamKiller
Neregistrovaný
Avatar
DreamKiller:10.2.2014 15:22

Dobrý den, zkoušel jsem ten EF, ale vůbec jsem ho nepochopil. Plánujete na něj udělat tutoriály?

 
Nahoru Odpovědět
10.2.2014 15:22
Avatar
Jan Vargovský
Tvůrce
Avatar
Odpovídá na
Jan Vargovský:10.2.2014 15:56

V ASP.NET určitě budou (nebo už jsou?), jakou techniku EF jsi zkoušel?

 
Nahoru Odpovědět
10.2.2014 15:56
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 37 zpráv z 37.