C # Linq to SQL – INSERT, wenn keine data auf der Grundlage von Time (AM oder PM) existieren

Ich beende derzeit mein Abrechnungssystem, das ein Schulprojekt ist. Ich bin mit dem DTR oder dem täglichen timerekord des Mitarbeiters verhaftet worden.

Das timeformat, das ich verwende, ist 12-Stunden-Format. die in_am, out_am … Spalte datatypen sind varchar

Für Beispiel Wenn die time '09: 12 Uhr 'ist und ich ein Zählverfahren unten verwendet habe:

create procedure check_in_am @date datetime, @id int as declare @r int select @r = count(*) from tbl_timelog where date_log=@date and id = @id return @r 

dann vergleiche die return int mit = 0 auf meinem DTR

 int checkAM = cls.Check_In_AM(DateTime.Parse(date.ToString()), int.Parse(txtID.Text)); if (checkAM==0) 'INSERT HERE'//time-in else 'UPDATE HERE' //time-out 

das Problem mit diesem Code ist, kann ich nur manipulieren zwei Spalten, die die in_am und out_am aber wie könnte ich manipulieren die in_pm und out_pm.

Hier habe ich gedacht.

 if (DateTime.Now.ToString("tt") == "AM") { int checkAM = cls.Check_In_AM(DateTime.Parse(date.ToString()), int.Parse(txtID.Text)); if (checkAM==0) 'INSERT HERE'//time-in else 'UPDATE HERE' //this part where there is data for time-in and the null value of time-out will be updated based on the time it is been executed. } else { if(checkAM == 1) { 'UPDATE HERE' // this will update the in_pm column with its latest value. } } 

Ich weiß nicht, wo das Out_pm Update mit dieser Methode ausführen soll.

 CREATE TABLE tbl_TimeLog( log_id INTEGER NOT NULL PRIMARY KEY ,emp_name VARCHAR(7) NOT NULL ,date_log VARCHAR(23) NOT NULL ,in_am VARCHAR(8) NULL ,out_am VARCHAR(4) NULL ,total_am VARCHAR(4) NULL ,in_pm VARCHAR(4) NULL ,out_pm VARCHAR(8) NULL ,total_pm VARCHAR(4) NULL ,grand_total VARCHAR(4) NULL ,id INTEGER NOT NULL ); INSERT INTO tbl_TimeLog(log_id,emp_name,date_log,in_am,out_am,total_am,in_pm,out_pm,total_pm,grand_total,id) VALUES (36,'Jhefrey','2016-09-06 00:00:00.000','12:07:40',NULL,NULL,NULL,'12:08:24',NULL,NULL,10);