• úvod
  • témata
  • události
  • tržiště
  • diskuze
  • nástěnka
  • přihlásit
    registrace
    ztracené heslo?
    TENCOKACISTROMYProgramovani v C#, F# a dalsich jazycich pro .NET, Mono a ostatni CLI implementace
    P19
    P19 --- ---
    Ahoj,

    jak byste v asp.net mvc aplikaci ověřili, že editovaný objekt má vazbu na aktuálně přihlášeného uživatele?
    Přemýšlel jsem nad nějakým action filterem, ale do atributu nepředám repository (abych si vytáhl editovaný objekt, resp. jeho property OwnerId), navíc mi teda příjde dost hrozný šahat z atributu do databáze.

    Je nějaká lepší cesta, než v každé action metodě dělat if po načtení záznamu?

    Díky
    NIXX
    NIXX --- ---
    NECROMAN: ale jo, CAML builderů existuje dost... ale měl jsem na mysli něco, co by ve Visual Studiu umožnilo editovat markup v rámci stringu v C# kódu podobně, jako když píšu třeba ASPX stránku. Že by to třeba samo dělalo barvičky, uzavíralo tagy a tak... :)
    NECROMAN
    NECROMAN --- ---
    NIXX: na sestavovani CAML dotazu jsme jeste v byvale praci pouzivali vlastni CAML builder, kde jsi dotaz poskladal ze trid jako do stromu a nakonec ti to vyplivlo hotove xml, pekna to vec.
    Nastesti jsem uz se SharePointem prastil a nemohu si stezovat :)
    NIXX
    NIXX --- ---
    Ahoj, nevěděli byste někdo, jestli Visual Studio umí zvýrazňovat XML uvnitř stringu (uvozovek)? Případně jestli na to neexistuje nějaký plugin. Zpříjemnilo by to práci např. při sestavování CAML dotazů:

    query = new SPQuery();

    query.Query = @"<Where>
                            <Eq>
                                <FieldRef Name='LookUpColumn' LookupId='true' />
                                                    <Value Type='Integer'>1</Value>
                            </Eq>
                    </Where>
                    <OrderBy>
                                <FieldRef Name='NumberColumn' Ascending='false' />
                    </OrderBy>
    ";

    results = list.GetItems(query);
    ROTTWEILER
    ROTTWEILER --- ---
    GOSHEWAN: V SharpDevelop je funkce, která umí konvertovat zdroják z jednoho jazyka do druhého. Samozřejmě, že je to strojové přeložení a nevyužije to všech vychytávek jazyka.
    MORMEGIL
    MORMEGIL --- ---
    _ACID_: Kalendář je věc složitá, viz i jenom třeba jak převést počet dní na zlomek roku.
    GOSHEWAN
    GOSHEWAN --- ---
    _ACID_: K te posledni vete - ano, to je co jsem psal (: AddMonth pricte mesice (pripadne roky) a pak jeste pripadne skrouhne dny na posledni den v mesici. Tim spis na to nebude existovat univerzalni reseni - mesic je 28 - 31 dni.

    NECROMAN: Coz o to, ja nerikam ze by to 'nejak' neslo (: Jen ze jsou vsichni lini (prilis busy) resit neco, co nikdo ve vysledku neoceni. Ale priznam se, ze o tom pluginu jsem nevedel, diky za tip.
    NECROMAN
    NECROMAN --- ---
    GOSHEWAN: nestacilo by ten vb kod zkompilovat a nejakym disassemblerem rozlozit zpatky primo do noveho C# projektu? Reflector na to uz ma nejako udobu plugin a ted s tim prisel i DotPeek ve verzi 1.1
    JetBrains .NET Tools Blog » Introducing the dotPeek 1.1 EAP
    http://blogs.jetbrains.com/dotnet/2013/04/introducing-the-dotpeek-11-eap/
    _ACID_
    _ACID_ --- ---
    Goshewan: tak u doktoru +- den problem asi nebude. To jen ja s tim zapolil, kdyz jsem to ladil a testoval. Generuju pristi termin a to funkci AddMonth() nasledne na to pustim podminku coz je jina funkce DateDiff a stavalo se mi ze v urcite datum to nezafunguje spravne a ackoliv jsem pricetl 1M, tak nasledne druha funkce vratila 0M a 30D. Pochopitelne pro tento pripad mesicu muzu dat je to vic nez 28 ber to jako cely mesic. Pro zajimavost 31.1. AddMonth(1) bude z toho 28.2. kdyz das 28.2. AddMonth(-1) bude to 28.1. :-)
    GOSHEWAN
    GOSHEWAN --- ---
    _ACID_: Zajimave. Ciste ze zvedavosti - opravdu hraje roli ten jeden den, o ktery to zpresnis? Vlastni zkusenost rika, ze na to vetsinou doktori tolik nekoukaji.
    _ACID_
    _ACID_ --- ---
    Goshevan: ja to poresene mam, spis mne udivilo, ze jsem nenasel zadne jednodussi obvykle reseni. Pouzivam to pro gerovani ockovacich schemat/terminu, kdy schema je definovane pomoci pravidel v kterych figurujou mimio jine podminky jak vzdalenost od predchoziho terminu = 36 mesicu apod. Coz teda jeste se pak resi pracovni dny apod. Ale to uz je jina vec. Nebo kdyz se dotazes na vek, ditete, je muz uz 3 mesice? Odhadem jasne totaldays/365.25*12, ale to nefunguje uplne dobre pro kratke intervaly napr 15. Ledna + 29 dnu a je to cely mesic nebo ne? :-)
    GOSHEWAN
    GOSHEWAN --- ---
    _ACID_: Defaultni DateTime.AddMonths resi tak, ze vysledny den v mesici pouze orizne na posledni den ve vyslednem mesici. Tzn. pricita ruzne pocty dnu.

    Na co potrebujes pocet celych mesicu? Podle toho bych pak resil jakou logiku ma mit to odecitani.
    ESY
    ESY --- ---
    _ACID_: tak to se omlouvam. myslel jsem ze to vraci i mesice :]
    ale jak jsem se potomk koukal zabredl jsem do tezkych debat co je a neni mesic a jak to brat :D koukam ze to lidi resi uz dlouho
    _ACID_
    _ACID_ --- ---
    Esy: to sice ano, ale neresim cas, ale to jak spocitat pocet 'celych´ mesicu mezi dvema daty. Kazdy mesic ma jiny pocet dnu. Resi se jestli 28.3.-28.2 je cely mesic nebo ne kdyz brezen ma 31 dni? Tj. Kolik mesicu je mezi 15.2.2000- 15.3.2020?
    ESY
    ESY --- ---
    _ACID_: datetime.subtract ti vrati timespan s presnym rozdilem ne ?
    _ACID_
    _ACID_ --- ---
    Jeste k datumu. Chvili jsem se potykal s funkci pro rozdil datumu. Zjistovat rozdil s vysledkem pocet celych R,M,D. Pricemz nechci pocitat mesice s prumernym poctem dnu, ale aby to fungovalo opacne k AddMonth. Tj. 31.3+1M je 30.4. Nejakou funkci jsem na to nasel, ale rikam si jestli to nejde nejak jednoduseji. Resil jste nekdo?
    ESY
    ESY --- ---
    v jedny fimre jsem se stim setkal.. A to co jde naprasit v vb6 se nikam prevest neda:D
    GOSHEWAN
    GOSHEWAN --- ---
    JANFROG, SMOKY: Je 'prepsat' a 'prepsat' - nejde totiz ani tak o konverzi mezi jazyky (to by nikdo nezaplatil) jako spis o revizi a prekopani kodu. Ostatne nezridka si pri prochazeni toho vb kodu rikame, ze to je kandidat na tdwtf (:
    SMOKY
    SMOKY --- ---
    JANFROG:
    GOSHEWAN:
    Na prepis do c# jsme pouzivali nakej tool od teleriku, ale neni to moc chytry. Funguje to na syntakticky urovni, takze napr. vb.net indexaci array(i) neodlisi od volani funkce. Nemluve o takovejch legracich jako volani funkce bez parametru bze zavorek ( foo.ToString ), implementace metod interface metodami s jinymi jmeny. Horsi sou chyby, ktery se neprojevej pri kompilaci. (metoda vracejici object vrati float a snazi se ho nacpat do int promenny, coz ve vb.net v klidu projde).
    JANFROG
    JANFROG --- ---
    GOSHEWAN: Nahodou, to by mohla byt celkem zajimava prace...napsat na to nejake prepisovatko... :-)
    Kliknutím sem můžete změnit nastavení reklam