Forum » Programiranje » logika za IsNew
logika za IsNew
pizdarija1 ::
Zdravo, rabil bi malo pomoči pri tej logiki.
IsNew sporoči če lahko vnese nov datum, ta se vnese vsak dan po hour parametru glede na server time v primeru da za ta dan še ni vnosa.
parametri za IsNew so: zadnji vnos v bazo, trenutni čas na serverju ta se skoz spreminja, ura po kateri je potreben nov vnos
Example:
V prvem primeru je zadnji vnos v db 2015-1-1 13:00:00 mora biti po 2015-1-1 12:00:00 server time je 2015-1-1 14:00:00. Torej je danes že vneseno vrne false.
Vnos se lahko zgodi med 24h od zadnjega vnosa med 2015-1-1 12:00:00 in 2015-1-2 12:00:00.
Trenutka koda, ki ne deluje + testi v komentarjih so rezultati ki bi morali biti.
IsNew sporoči če lahko vnese nov datum, ta se vnese vsak dan po hour parametru glede na server time v primeru da za ta dan še ni vnosa.
parametri za IsNew so: zadnji vnos v bazo, trenutni čas na serverju ta se skoz spreminja, ura po kateri je potreben nov vnos
Example:
V prvem primeru je zadnji vnos v db 2015-1-1 13:00:00 mora biti po 2015-1-1 12:00:00 server time je 2015-1-1 14:00:00. Torej je danes že vneseno vrne false.
Vnos se lahko zgodi med 24h od zadnjega vnosa med 2015-1-1 12:00:00 in 2015-1-2 12:00:00.
Trenutka koda, ki ne deluje + testi v komentarjih so rezultati ki bi morali biti.
public bool IsNew(string db, string server, string hour) { string today = db.Split(' ')[0]; DateTime dateTimeDb = DateTime.Parse(db); DateTime dateTimeServer = DateTime.Parse(server); DateTime dateTimeTarget = DateTime.Parse(string.Format("{0} {1}", today, hour)); dateTimeTarget = dateTimeTarget.AddDays(1); TimeSpan diffServer = dateTimeTarget - dateTimeServer; TimeSpan diffDb = dateTimeTarget - dateTimeDb; bool isNewTime = (dateTimeTarget < dateTimeServer); //bool isNewDb = (dateTimeTodayAndHour > dateTimeDb); bool isNew = isNewTime;// && isNewDb; return isNew; } //testi bool a = IsNew("2015-1-1 13:00:00", "2015-1-1 14:00:00", "12:00:00pm");//FAIL bool b = IsNew("2015-1-1 13:00:00", "2015-1-2 12:05:00", "12:00:00pm");//PASS bool c = IsNew("2015-1-2 11:00:00", "2015-1-2 12:05:00", "12:00:00pm");//PASS bool d = IsNew("2015-10-20 12:00:00", "2015-10-22 01:00:00", "11:00:00am");//PASS
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | [C#] Evidenca osebOddelek: Programiranje | 1153 (838) | DaMachk |
» | [C#] današnji datum in rojsni datumOddelek: Programiranje | 4700 (4187) | vojko20 |
» | C# delo z datumiOddelek: Programiranje | 1128 (1029) | MaCoFaCo |
» | c# cudne reci pri merjenju hitrosti simple for loopaOddelek: Programiranje | 1200 (1138) | Senitel |
» | [C#] DateTime v bazoOddelek: Programiranje | 1361 (1248) | teac |