Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Enable/disable combox item - u zavisnosti od tekuceg vremena ...

[es] :: .NET :: .NET Desktop razvoj :: Enable/disable combox item - u zavisnosti od tekuceg vremena ...

[ Pregleda: 2670 | Odgovora: 14 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

nikitaGradov
Beograd

Član broj: 223576
Poruke: 206
*.ppp.panet.co.yu.



+3 Profil

icon Enable/disable combox item - u zavisnosti od tekuceg vremena ...13.04.2010. u 13:45 - pre 139 meseci
Ima li neko da predlozi ideju za sledece: htio bih da, u nekom combobox-u, dinamicki enable-ujem/disable-ujem stavke, ali u zavisnosti od tekuceg vremena. Da budem jasniji: recimo, od 12:00 do 14:00h neke stavke su enabled, a neke disabled. U periodu od 16:45 do 18:45 ta stavka je disabled, a neke druge su enabled.

Hvala unaprijed ...
Programming is fun, but writing good software is hard ...
 
Odgovor na temu

Sapphire
Denis Biondić
.NET software developer
Nürnberg, Germany

Član broj: 213086
Poruke: 290
62.113.2.*



+6 Profil

icon Re: Enable/disable combox item - u zavisnosti od tekuceg vremena ...13.04.2010. u 17:23 - pre 139 meseci
Za šta ti treba prijedlog? Kako odraditi "praćenje" vremena u .NET-u? Kako napraviti Scheduler?

Sve zavisi od potreba aplikacije. Najjednostavnije bi bilo postaviti Timer, najlakše sa onim iz System.Windows.Forms namespace-a pošto sa njim nećeš imati potrebe za posebnim Invoke cross-thread pozivima za properties kontrola. Postaviš mu interval na recimo 1000ms, i na svaki Tick event provjeriš trenutno vrijeme - te izmjeniš taj combobox.

Pitanje je onda kako postavljaš te uslove kada će biti šta u combobox-u, i u koje vrijeme. Možda je u tome slučaju bolje da napraviš nekakav Scheduler, koji bi bio realiziran pomoću timer-a, a u pozadini sve spojiš pomoću zasebne Command arhitekture za određene akcije (provjeri GOF pattern-e za Command). Ne znam šta tačno namjeravaš, ali ovo je par dobrih ideja za početak.


My programs don’t have bugs, they just develop random features.
 
Odgovor na temu

mish_ns
Miloš Krstin

Član broj: 159930
Poruke: 1105
109.106.255.*



+18 Profil

icon Re: Enable/disable combox item - u zavisnosti od tekuceg vremena ...13.04.2010. u 19:44 - pre 139 meseci
ovako ide timer:
Code:

        private void timer1_Tick(object sender, EventArgs e)
        {
            DateTime dt = DateTime.Now;
            TimeSpan ts = dt.TimeOfDay;
            DateTime time1 = new DateTime(2010, 1, 1, 12, 00, 00);
            TimeSpan t1 = time1.TimeOfDay;
            DateTime time2 = new DateTime(2010, 1, 1, 14, 00, 00);
            TimeSpan t2 = time2.TimeOfDay;
            DateTime time3 = new DateTime(2010, 1, 1, 16, 45, 00);
            TimeSpan t3 = time3.TimeOfDay;
            DateTime time4 = new DateTime(2010, 1, 1, 18, 45, 00);
            TimeSpan t4 = time4.TimeOfDay;
            label1.Text = DateTime.Now.ToLongTimeString();
            if ((ts > t1) & (ts < t2))
                comboBox1.Visible = false; // u intervalu od 12 do 14h cb je nevidljiv
            else if ((ts>t3) & (ts<t4))
                comboBox1.Enabled = true; // u intervalu od 16:45 do 18:45 je omogucen
            else 
                comboBox1.Enabled = false;// inace onemogucen
        }


Ovo ti mozda pomogne oko tajmera tj. postavljanja uslova. E sad kako se disabluje neka od vrednosti u comboboxu ne znam. :(



[Ovu poruku je menjao mish_ns dana 13.04.2010. u 21:22 GMT+1]
 
Odgovor na temu

Sapphire
Denis Biondić
.NET software developer
Nürnberg, Germany

Član broj: 213086
Poruke: 290
62.113.2.*



+6 Profil

icon Re: Enable/disable combox item - u zavisnosti od tekuceg vremena ...13.04.2010. u 20:49 - pre 139 meseci
@mish_ns:

Ne moraš koristiti DateTime objekte da instanciraš neko vrijeme. TimeSpan ima konstruktor za to. Btw, taj uslov na dnu se može i izmjeniti, jer su slučajevi 1. i 3. isti :)

Code:

TimeSpan currentTime = DateTime.Now.TimeOfDay;

TimeSpan condition_1 = new TimeSpan(12, 0, 0);
TimeSpan condition_2 = new TimeSpan(14, 0, 0);

// ovo za ovaj primjer i ne treba, jer ne mijenja uslov
TimeSpan condition_3 = new TimeSpan(16, 45, 0);
TimeSpan condition_4 = new TimeSpan(18, 45, 0);

comboBox1.Enabled = (currentTime >= condition_1 && currentTime <= condition_2);




My programs don’t have bugs, they just develop random features.
 
Odgovor na temu

mish_ns
Miloš Krstin

Član broj: 159930
Poruke: 1105
109.106.255.*



+18 Profil

icon Re: Enable/disable combox item - u zavisnosti od tekuceg vremena ...13.04.2010. u 20:55 - pre 139 meseci
E hvala... u pravu si.
A kako se disabluju neki itemi u comboboxu???
 
Odgovor na temu

Sapphire
Denis Biondić
.NET software developer
Nürnberg, Germany

Član broj: 213086
Poruke: 290
62.113.2.*



+6 Profil

icon Re: Enable/disable combox item - u zavisnosti od tekuceg vremena ...13.04.2010. u 21:13 - pre 139 meseci
U ovome standardnom WinForms 2.0 combobox-u, nikako. Možeš jedino sljedeće:
1. one koji su disabled totalno ukloniti iz Item kolekcije
2. zapamtiti one koji su disabled, pa kad user odabere jednog od njih, prikazati mu (možda preko MessageBox-a) da je ta opcija disabled
3. napraviti custom combobox nasljeđivanjem ovoga, i dodavanjem te mogućnosti... Siguran sam da ima neka ovakva implementacija na Internetu, potraži malo.
My programs don’t have bugs, they just develop random features.
 
Odgovor na temu

Dejan Carić
Oslo, Norway

Član broj: 230976
Poruke: 232
*.dynamic.isp.telekom.rs.

Sajt: www.dcaric.com


+26 Profil

icon Re: Enable/disable combox item - u zavisnosti od tekuceg vremena ...13.04.2010. u 21:44 - pre 139 meseci
@nikitaGradov
Ne znam kakvog je tipa aplikacija niti koji tip korisnika će koristi tu aplikaciju (informatička pismenost). Ono što bih ti predložio je da sve stavke combobox-a uvek budu vidljive, a klikom na neki button ili šta već proveravaš da li je izabrana vrednost validna za trenutno vreme ili ne.
Kao kada imaš formu za unos korisnika, textbox je uvek enabled, a validaciju (min. broj karaktera i sl) proveravaš na snimanju.

Ovde vidim par prednosti:
1. Poslovnu logiku možeš potpuno da izdvojiš, tj. ne vežeš je za jedan combobox niti formu (izbegavaš dupliranje koda)
2. Mogućnost centralizovanja vremena. Ako se radi o mrežnoj aplikaciji, vreme na mom računaru ne mora biti isto kao i na tvom računaru, a neke akcije su dozvoljene npr. samo od 13 - 15h.
3. Izbacuješ timer i ne moraš da misliš da li timer radi ili ga je neki proces zaustavio.
4. Rešavaš se potencijalnih muka sa korisnicima :) Neko npr. nije ni pogledao koliko je sati, a zvaće te da prijavi bug jer su neke stavke jednostavno nestale. Ovako će stavke uvek biti vidljive, a korisnik može dobiti veoma deskriptivnu informaciju zašto neka akcija nije dozvoljena.

Poslovna logika može biti veoma kompleksna. Ukoliko imaš dosta uslova i vidiš da se sve to mnogo komplikuje sa if petljama, predlažem ti da upotrebiš strategy pattern koji bi veoma poboljšao čitljivost koda.
 
Odgovor na temu

Sapphire
Denis Biondić
.NET software developer
Nürnberg, Germany

Član broj: 213086
Poruke: 290
62.113.2.*



+6 Profil

icon Re: Enable/disable combox item - u zavisnosti od tekuceg vremena ...13.04.2010. u 22:04 - pre 139 meseci
Nije naveo kojeg je tipa aplikacija, tako da pretpostavka da je poslovna, je samo ... pretpostavka :) Možeš pretpostaviti i da se radi o download manager-u, te da se pravi neki Scheduler prema kojem se automatski neke opcije onesposobljavaju i sl. Sve zavisi od specifičnih okolnosti.
Ono s čime se definitivno slažem, je da se nikada nešto ne promijeni bez znanja korisnika, kao recimo da korisnik u formu unosi podatke, te onda na pola puta da mu se nešto u combobox-u promijeni. Ali, može se raditi i o web aplikaciji, u kojoj se šalju prijave na aukciju, a koja traje do tog-i-tog vremena. Recimo da neko polje koje korisnik unosi zavisi od toga i trenutnog vremena. Timer u tom slučaju bi bio idealan da "pocrveni" polje koje je neispravno, čim informacija za to postane dostupna (i recimo, prikaže popup da vrijeme više nije važeće).

Citat:
Dejan Carić:
3. Izbacuješ timer i ne moraš da misliš da li timer radi ili ga je neki proces zaustavio.


Možda te nisam dobro shvatio, ali WinForms timer radi u istom procesu (tačnije u istom thread-u) kao i UI thread, te bi zaustavljanje toga procesa značilo gašenje aplikacije (u većini slučajeva). Ne vidim razlog za brigu.
My programs don’t have bugs, they just develop random features.
 
Odgovor na temu

Dejan Carić
Oslo, Norway

Član broj: 230976
Poruke: 232
*.dynamic.isp.telekom.rs.

Sajt: www.dcaric.com


+26 Profil

icon Re: Enable/disable combox item - u zavisnosti od tekuceg vremena ...13.04.2010. u 22:29 - pre 139 meseci
@Saphhire
Pominjao sam poslovnu logiku, a ne poslovne aplikacije :) Ne znam kako ti to definišeš.

Citat:
Sapphire
Možda te nisam dobro shvatio, ali WinForms timer radi u istom procesu (tačnije u istom thread-u) kao i UI thread, te bi zaustavljanje toga procesa značilo gašenje aplikacije (u većini slučajeva). Ne vidim razlog za brigu.


Neka funkcija može da pozove Timer.Stop(). Može da se radi o bagu koji je jako teško uočljiv. Za mene nije dovoljno sigurno da se oslonim samo na timer jer ne mogu 100% da tvrdim da isti možda i neće biti zaustavljen, osim ako ne napišem gomilu unit testova.
 
Odgovor na temu

Sapphire
Denis Biondić
.NET software developer
Nürnberg, Germany

Član broj: 213086
Poruke: 290
62.113.2.*



+6 Profil

icon Re: Enable/disable combox item - u zavisnosti od tekuceg vremena ...13.04.2010. u 22:45 - pre 139 meseci
Citat:
Dejan Carić:
Pominjao sam poslovnu logiku, a ne poslovne aplikacije :) Ne znam kako ti to definišeš.


Da, pojmovi su različiti, i napravio sam typo u pisanju, ali misao se odnosila na način obrade korisničnog inputa koji je specifičan za business aplikacije, a koji si ti istaknuo. Htio sam istaknuti da ne postoji crno-bijela situacija. Nekad timer može zatrebati, nekada naravno ne.

Citat:
Dejan Carić:Neka funkcija može da pozove Timer.Stop(). Može da se radi o bagu koji je jako teško uočljiv. Za mene nije dovoljno sigurno da se oslonim samo na timer jer ne mogu 100% da tvrdim da isti možda i neće biti zaustavljen, osim ako ne napišem gomilu unit testova.


Aaa, TDD practicioner :) Greetings, fellow Earthling...

Razumijem "neodređenost" koju vidiš iza timer-a, ali svejedno i za to se test može napisati (napraviš mock timer-a, što i sam vjerovatno znaš), a i kod pravilno strukturirati. Timer funkcionalnost pišeš tako da se ne može desiti da "bilo ko bilo gdje" pozove Stop(). A i u slučaju da se to može desiti, napišeš test i za to. Kako god, normalno da nećeš uvoditi nepotrebnu kompleksnost u aplikaciju ako ona nije potrebna. Ti gledaš na timer kao totalno suvišan u standardnom unosu podataka u nekoj normalnoj business formi. Ja sam samo gledao malo šire...
My programs don’t have bugs, they just develop random features.
 
Odgovor na temu

sallle
Sasa Ninkovic
GTECH
Beograd

Član broj: 146
Poruke: 480
91.148.86.*

ICQ: 20785904


+4 Profil

icon Re: Enable/disable combox item - u zavisnosti od tekuceg vremena ...14.04.2010. u 23:07 - pre 139 meseci
u hendleru selecteditemchanged ili selectedindex, ukoliko je izabran nedozvoljen item (za taj vremenski trenutak), odradis neku akciju.

ako ti je combobox vezan za dataview mozes preko rowfiltera da maknes nezeljene item-e.


@dejan caric:
A sta cemo ako neko ne pozove timer.stop() nego pozove dispose() nekog objekta koji koristimo?
Sta je to centralno vreme ?
Kako to strategy patern poboljsava citljivost koda u visual studiju? (probaj da odes na "go to definition" za neku metodu, pa da vidis gde ces da zavrsis...)
 
Odgovor na temu

nikitaGradov
Beograd

Član broj: 223576
Poruke: 206
*.ppp.panet.co.yu.



+3 Profil

icon Re: Enable/disable combox item - u zavisnosti od tekuceg vremena ...16.04.2010. u 11:55 - pre 139 meseci
Citat:
Dejan Carić: @nikitaGradov
Ne znam kakvog je tipa aplikacija niti koji tip korisnika će koristi tu aplikaciju (informatička pismenost). Ono što bih ti predložio je da sve stavke combobox-a uvek budu vidljive, a klikom na neki button ili šta već proveravaš da li je izabrana vrednost validna za trenutno vreme ili ne.
Kao kada imaš formu za unos korisnika, textbox je uvek enabled, a validaciju (min. broj karaktera i sl) proveravaš na snimanju.

Ovde vidim par prednosti:
1. Poslovnu logiku možeš potpuno da izdvojiš, tj. ne vežeš je za jedan combobox niti formu (izbegavaš dupliranje koda)
2. Mogućnost centralizovanja vremena. Ako se radi o mrežnoj aplikaciji, vreme na mom računaru ne mora biti isto kao i na tvom računaru, a neke akcije su dozvoljene npr. samo od 13 - 15h.
3. Izbacuješ timer i ne moraš da misliš da li timer radi ili ga je neki proces zaustavio.
4. Rešavaš se potencijalnih muka sa korisnicima :) Neko npr. nije ni pogledao koliko je sati, a zvaće te da prijavi bug jer su neke stavke jednostavno nestale. Ovako će stavke uvek biti vidljive, a korisnik može dobiti veoma deskriptivnu informaciju zašto neka akcija nije dozvoljena.

Poslovna logika može biti veoma kompleksna. Ukoliko imaš dosta uslova i vidiš da se sve to mnogo komplikuje sa if petljama, predlažem ti da upotrebiš strategy pattern koji bi veoma poboljšao čitljivost koda.



Kao prvo, hvala svima koji su se javili sa zeljom da pomognu.

Sto se tice aplikacije, evo malo dodatnih pojasnjenja: radi se o blagajnickoj aplikaciji jednog preduzeca koje prodaje neke usluge. Recimo da u okviru usluge USLUGA, postoje PONUDE A,B,C, ... Recimo, dalje, da se ponuda A nudi kao: A_OD_7_DO_9 i kosta 10 dinara, A_OD_9_DO_11 i kosta 9 dinara, A_OD_11_DO_13 i kosta 7 dinara itd ... Prosjecan blagajnik iz tog preduzeca, koji se sluzi ovom aplikacijom je prvi put uzeo misa u ruku kada je ova aplikacija zazivjela (a i inace su na granici necega sto bi se moglo klasifikovati kao 'mediokritet'). Elem, posto mu se iz combo-a prikazuje koju ponudu da proda, a ja trenutno nemam blokada koje bi se odnosile na vrijeme, on moze lagano da proda u 15:00, recimo, ponudu A_OD_7_DO_9. I to onda pravi probleme prilikom raznoraznih statistika, poredjenja, sravnjivanja blagajni itd ... bar su meni tako interpretirali ...

To je, nadam se, sada jasan opis problema.

I moja prva ideja je bila da kontrolu uradim kada on izabere ponudu i klikne na neki button. Ali, to mi se bas i nije pisalo, jer bi kod bio nesto ovako, otprilike:
koja je izabrana ponuda? (morao bih da je prepoznajem po njenom nazivu, tj. u nazivu ponude bi moralo pisati i koji je vremenski interval)
koje je tekuce vrijeme?
uporedi tekuce vrijeme sa vremenom koje mora da postoji u nazivu ponude?
itd ...
Sta ako sjutra korisnik unese novu ponudu sa novim vremenskim intervalom? To moram da dopisem u kod?
Sta ako sjutra korisnik unese novu ponudu sa novim vremenskim intervalom, ali je otkuca sintaksno pogresno ili unese pogresan interval vremena?

Zato mi se ucinila bolja ideja da mu u startu 'sasjecem' mogucnost pogresnog izbora. Ako je, trenutno vrijeme, recimo: 12:11:00, moguce je izabrati samo ponudu A_OD_11_DO_13 (a sve ostale stavke su u kombou disjeblovane)? Uzeti u obzir da je UI (izbor usluge i ponude preko combo-a) za prodaju tih ponuda kreiran jos prije 2 godine, pa bi izmjena UI nosila neko vrijeme i za kodiranje, a jos i vise za testiranje ...

U svakom slucaju, moracu malo da 'zagrijem stolicu' ... jos jednom hvala svima koji ste se javili ...

Pozdrav
Programming is fun, but writing good software is hard ...
 
Odgovor na temu

Sapphire
Denis Biondić
.NET software developer
Nürnberg, Germany

Član broj: 213086
Poruke: 290
62.113.3.*



+6 Profil

icon Re: Enable/disable combox item - u zavisnosti od tekuceg vremena ...16.04.2010. u 12:27 - pre 139 meseci
Citat:
nikitaGradov:
koja je izabrana ponuda? (morao bih da je prepoznajem po njenom nazivu, tj. u nazivu ponude bi moralo pisati i koji je vremenski interval)
koje je tekuce vrijeme?
uporedi tekuce vrijeme sa vremenom koje mora da postoji u nazivu ponude?
itd ...
Sta ako sjutra korisnik unese novu ponudu sa novim vremenskim intervalom? To moram da dopisem u kod?
Sta ako sjutra korisnik unese novu ponudu sa novim vremenskim intervalom, ali je otkuca sintaksno pogresno ili unese pogresan interval vremena?


Ovo je tipičan problem ljudi nenaviknutih na OOP... Kako bi bilo da kreiraš objekt "Usluga", koji sadrži kolekciju objekata "Ponuda". Svaka ponuda treba imati naziv, te pocetno i krajnje vrijeme. Usluga, osim naziva, isto treba sadržavati ostale pripadajuće informacije. Nastranu mapiranje s bazom podataka, fokus je sad na UI.
Unos ponuda napraviš kao neku formu textbox-om za naziv, te sa ovim. Sljedeće, što se tiče samog standardnog combobox-a, možda to i nije baš najbolji način za prikaz ovih ponuda? Kako god, sve zavisi od spec. detalja.
Da sad isto ne idem u neke arhitekture kao MVC, uzmi sljedeće: u formi sa tim combobox-om imaj neku varijablu vrste Usluga, koja će u sebi imati sve Ponude. Napravi metodu koja dinamički refreshira combobox - content iz Ponude kolekcije, filtitajući ih u skladu s vremenom tako da se prikazuju samo oni koji su važeći za trenutno vrijeme. Ako proces unosa podataka sa tom formom traje jako dugo, razmisli onda o timer feature-u koji bi obavjestio korisnika o promjenama.

Mislim da je ovo za početak najjednostavnije.
My programs don’t have bugs, they just develop random features.
 
Odgovor na temu

nikitaGradov
Beograd

Član broj: 223576
Poruke: 206
*.ppp.panet.co.yu.



+3 Profil

icon Re: Enable/disable combox item - u zavisnosti od tekuceg vremena ...16.04.2010. u 13:00 - pre 139 meseci
>Ovo je tipičan problem ljudi nenaviknutih na OOP... Kako bi bilo da kreiraš objekt "Usluga", koji sadrži kolekciju objekata "Ponuda". Svaka ponuda treba imati >naziv, te pocetno i krajnje vrijeme.

Hm, cini mi se, na prvu loptu, da je ovo rjesenje: 'pocetno' i 'krajnje' vrijeme za ponudu.

Postoje klase i Usluga i Ponuda, i sve je kako si napisao. Postoji i forma za unos i jednih i drugih, odnosno, modifikaciju. Trenutno nemam ove podatke (pocetno i krajnje vrijeme). Mogu da dopunim formu (i odgovarajucu tabelu) za unos nove/modifikaciju postojece ponude sa podacima koje si naveo (pocetak termina, kraj termina, recimo jos i dan termina: radni dan ili vikend).

E onda bih isao na varijantu da provjeravam validnost izbora poslije akcije blagajnika i da ga nekim message box-om obavijestim o gresci ...

Rekao bih da je to korektno ...

HVALA
Programming is fun, but writing good software is hard ...
 
Odgovor na temu

Dejan Carić
Oslo, Norway

Član broj: 230976
Poruke: 232
*.dynamic.isp.telekom.rs.

Sajt: www.dcaric.com


+26 Profil

icon Re: Enable/disable combox item - u zavisnosti od tekuceg vremena ...18.04.2010. u 22:12 - pre 139 meseci
Citat:
nikitaGradov:
I moja prva ideja je bila da kontrolu uradim kada on izabere ponudu i klikne na neki button. Ali, to mi se bas i nije pisalo, jer bi kod bio nesto ovako, otprilike:
koja je izabrana ponuda? (morao bih da je prepoznajem po njenom nazivu, tj. u nazivu ponude bi moralo pisati i koji je vremenski interval)
koje je tekuce vrijeme?
uporedi tekuce vrijeme sa vremenom koje mora da postoji u nazivu ponude?
itd ...

Pokušaću ovo detaljnije da objasnim na jednom primeru.
S obzirom da se radi o blagajničkoj aplikaciji, pretpostavićemo da pravite client-server aplikaciju.
Pošto ne znamo o kojoj se aplikaciji radi, za primer ćemo uzeti da je vaš klijent firma koja se bravi prodajom oglasnog prostora u lokalnim novinama.
"Postoji više tipova oglasa (prodaja/kupovina nekretnina, motornih vozila, itd.) Svaki oglas ima osnovnu cenu, ali u zavisnosti od doba dana, cena oglasa se može umanjiti."


Na sledećoj slici sam napravio neki dijagram. Svaka Usluga ima listu Stavki i vreme pružanja usluge.
Stavka sadrži Ponudu na koju se odnosi, cenu i popust u tom trenutku (npr. danas oglas vredi 100 dinara, a pre 2 godine je bio 85) , opcioni opis (npr. umanjeno 10% zbog uplate u 13h).



Ono što je ovde bitno je da entitet Ponuda ne treba da zna za aktuelne popuste, pa samim tim ni za početno i krajnje vreme jer to nije ono što definiše ponudu. Poseban sloj aplikacije će se pozabaviti ovom problematikom.
Kada korisnik iz combobox-a bira Ponudu, dovoljno je da se prikaže samo Nekretnine, Vozila. Mislim da je bespotrebno pisati Nekretnine 11-13h, Vozila 11-13h, itd.

Na server strani napravite novi service layer (neki ga zovu još i application layer) pod nazivom DiscountService koji će na osnovu prosleđenog PonudaId i trenutnog vremena na serveru odrediti da li za određenu ponudu važi neki popust ili ne. Sa ovim servisom dobijate sledeće pogodnosti:

1. Popust i Ponuda su potpuno razdvojeni. Npr. "ako kupite oglas za nekretnine, dobićete 5% popusta za oglas za vozila". Entitet OglasNekretnine uopšte ne treba da zna za entitet OglasVozila.
2. Ukoliko je deo za obračun popusta odvojen od svih ostalih delova, njegova izmena neće uticati na ostale delove sistema. Recimo, ako se donese pravilo da su svi oglasi sredom jeftiniji za 30% bez obzira na doba dana, tada timer nema naročitog smisla, a i cim je za korisnika da svaki put instalira novu verziju aplikacije jer administrator uveo novo pravilo obračuna popusta.
3. Ukoliko se odlučite i za pravljenje web verzije programa, moći ćete da iskoristite postojeću logiku, a izmene će direktno uticati na obe verzije.
4. Ukoliko iz nekog razloga imate više različitih formi koje služe za unos Ponuda, logika za popuste je na jednom mestu, tj. nije zakucana i duplirana na više mesta.
itd.

Citat:
nikitaGradov:
uporedi tekuce vrijeme sa vremenom koje mora da postoji u nazivu ponude?

Kod obračuna popusta ili bilo kakvog upoređivanja nekih entiteta, nikada nemoj koristiti njihov naziv, već njihov id.
Prvo, može biti jako teško isparsirati naziv.
Drugo, zahtev klijenta može biti da se iz naziva izbaci vreme, a to bi značilo da moraš da izmeniš celu logiku (dani i dani kodiranja).
Za svako dohvatanje, izmenu i brisanje entiteta, koristi isključivo njihov id. Za id se nikada ne uzimaju govoruće šifre (ne bi trebalo) kao što su JMBG, jer su iskustva iz prakse pokazala da 2 različite osobe mogu imati JBMG.

Prikačeni fajlovi
 
Odgovor na temu

[es] :: .NET :: .NET Desktop razvoj :: Enable/disable combox item - u zavisnosti od tekuceg vremena ...

[ Pregleda: 2670 | Odgovora: 14 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.