public HttpResponseMessage GetManaged(string ManagerID, DateTime startDate, DateTime endDate) { try { using (ebuilderEntities entities = new ebuilderEntities()) { var manager = entities.employees.FirstOrDefault(e => e.EID == ManagerID); if (manager == null) { return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, "No manager exists with the given EID")); } entities.Entry(manager).Collection("employee1").Load(); var entity = new List <attendanceWithWorkingHours>(); foreach (var emp in manager.employee1) { var attList = entities.attendances.Where(a => a.EID == emp.EID && (DateTime.Compare(startDate, a.date) < 0 && DateTime.Compare(a.date, endDate) <= 0)).ToList(); foreach (var a in attList) { var attWithWH = new attendanceWithWorkingHours(a); entity.Add(attWithWH); } } return(Request.CreateResponse(HttpStatusCode.OK, entity)); } } catch (Exception ex) { return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex)); } }
/// <summary> /// Get the attendance by date or EID, all parameters are optional /// </summary> /// <param name="date"></param> /// <param name="EID"></param> /// <returns></returns> public HttpResponseMessage Get(DateTime?date = null, string EID = "all") { try { using (ebuilderEntities entities = new ebuilderEntities()) { string parameters = ""; parameters += date == null ? "0" : "1"; parameters += EID == "all" ? "0" : "1"; var entity = new List <attendance>(); switch (parameters) { case "00": entity = entities.attendances.ToList(); break; case "01": entity = entities.attendances.Where(a => a.EID == EID).ToList(); break; case "10": entity = entities.attendances.Where(a => a.date == date).ToList(); break; case "11": entity = entities.attendances.Where(a => a.date == date && a.EID == EID).ToList(); break; } List <attendanceWithWorkingHours> attList = new List <attendanceWithWorkingHours>(); foreach (var a in entity) { attendanceWithWorkingHours att = new attendanceWithWorkingHours(a); attList.Add(att); } return(Request.CreateResponse(HttpStatusCode.OK, attList)); } } catch (Exception ex) { return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex)); } }
/// <summary> /// Get Attendance by AID /// </summary> /// <param name="id"></param> /// <returns></returns> public HttpResponseMessage Get(int id) { using (ebuilderEntities entities = new ebuilderEntities()) { var entity = entities.attendances.FirstOrDefault(a => a.AID == id); if (entity != null) { attendanceWithWorkingHours att = new attendanceWithWorkingHours(entity); return(Request.CreateResponse(HttpStatusCode.OK, att)); } else { return(Request.CreateErrorResponse(HttpStatusCode.NotFound, "Attendance with AID " + id.ToString() + " not found")); } } }
public HttpResponseMessage Get(string EID, DateTime startDate, DateTime endDate) { try { using (ebuilderEntities entities = new ebuilderEntities()) { var entity = entities.attendances.Where(a => a.EID == EID && (DateTime.Compare(startDate, a.date) <= 0 && DateTime.Compare(a.date, endDate) <= 0)).ToList(); List <attendanceWithWorkingHours> attList = new List <attendanceWithWorkingHours>(); foreach (var a in entity) { attendanceWithWorkingHours att = new attendanceWithWorkingHours(a); attList.Add(att); } return(Request.CreateResponse(HttpStatusCode.OK, attList)); } } catch (Exception ex) { return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex)); } }