English Boards > Support

Employee timecard implementation: Need help for db select query

(1/2) > >>

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