» »

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.

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 ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

[C#] Evidenca oseb

Oddelek: Programiranje
71134 (819) DaMachk
»

[C#] današnji datum in rojsni datum

Oddelek: Programiranje
374609 (4096) vojko20
»

C# delo z datumi

Oddelek: Programiranje
51114 (1015) MaCoFaCo
»

c# cudne reci pri merjenju hitrosti simple for loopa

Oddelek: Programiranje
61174 (1112) Senitel
»

[C#] DateTime v bazo

Oddelek: Programiranje
51343 (1230) teac

Več podobnih tem