English Boards > Support
Employee timecard implementation: Need help for db select query
DQ:
Hello,
I am implementing basic employee time management functionality where I need your help in creating a data base query to
look up last action performed by the user. I have never done any SQL programming so your help would be appreciated.
Once done, will contribute back to community as I did for other features like credit card processing, setting color for modifier buttons etc.
My Table is: TimeCards
Id int primarykey,notnull
TimeStamp datetime notnull
Action tinyint not null,
User_Id int FK (User.Id, not null)
I have a class TimeCardEntry as below
class TimeCardEntry : IEntity
{
enum TimeCardAction
{
None = 0,
ClockIn = 1,
ClockOut = 2;
}
public TimeCardEntry(User user, TimeCardAction action)
{
_user = user;
Action = (int)action;
TimeStamp = DateTime.Now;
}
public int Id { get; set; }
public int Action { get; set;}
public DateTime TimeStamp { get; set;}
public User User { get { return _user; } set { _user = value; }
private User _user;
}
I need to retrieve a last entry from TimeCards table where
1. TimeCardEntry.User.Id
2. TimeCardEntry.TimeStamp > DateTime.Today (Basically last entry today 12:00 AM)
I tried following function but getting exception.
TimeCardEntry GetLastTimeCardEntry(User user)
{
var entry = Dbo.Select<TimeCardEntry, TimeCardEntry>(x=> x, (x=> x.User.Id == user.Id && (DateTime.Compare(x.TimeStamp, DateTime.Today) > 0)).Last()
return entry;
}
emre:
If you register TimeCardEntry into SambaContext and use Dao class for accessing data
var id = user.Id;
Dao.Last<TimeCardEntry>(x=>x.User.Id == id,x=>x.User);
should work.
Edit:Modified to include TimeCardEntry.User to the result
indypctech:
DQ let me know if u want me to have this done for u i have someone on hold for the project and its ready to start but u will need to communicate with him
DQ:
Hi Emre,
Thanks for your quick response. Is it possible to retrieve entry if TimeStamp > DateTime.Today?
The reason I need to do is I want to check if user has clocked-in today. The concern is what if user clocked-in yesterday and forgot to clock-out.
emre:
So you need to return a collection of TimeStamps?
Navigation
[0] Message Index
[#] Next page
Go to full version