コード例 #1
0
        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));
            }
        }
コード例 #2
0
        /// <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));
            }
        }
コード例 #3
0
        /// <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"));
                }
            }
        }
コード例 #4
0
        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));
            }
        }