public ActionResult GetStatus([FromQuery] AttendanceQueryRequest request) { try { #region check model //if (!ModelState.IsValid) //{ // var modelState = ModelState.FirstOrDefault(); // var error = modelState.Value.Errors.FirstOrDefault().ErrorMessage; // throw ApiException.Get(false, error, ResultEnum.ModelError, HttpStatusCode.BadRequest); //} #endregion var data = attendanceService.GetStatus(request); response = BaseResponse <dynamic> .Get(true, ConstantManager.SUCCESS, data, ResultEnum.Success); } catch (ApiException e) { result.StatusCode = e.StatusCode; response = BaseResponse <dynamic> .Get(e.Success, e.ErrorMessage, null, e.ErrorStatus); result = new JsonResult(response); } catch (Exception e) { result.StatusCode = (int)HttpStatusCode.InternalServerError; response = BaseResponse <dynamic> .Get(false, ConstantManager.Fail("Attendance : ") + e.ToString(), null, ResultEnum.InternalError); } result = new JsonResult(response); return(result); }
public List<AttendanceResponse> Get(AttendanceQueryRequest request) { var from = DateTime.Parse(request.FromDate).GetStartOfDate(); var to = DateTime.Parse(request.ToDate).GetEndOfDate(); return GetAsNoTracking(p => p.Active == true && (p.ShiftMin >= from && p.ShiftMax <= to) && (request.EmpId == null || p.EmployeeId == request.EmpId)) .ProjectTo<AttendanceResponse>(Mapper.ConfigurationProvider).ToList(); }
public List<AttendanceStatusResponse> GetStatus(AttendanceQueryRequest request) { var from = DateTime.Parse(request.FromDate).GetStartOfDate(); var to = DateTime.Parse(request.ToDate).GetEndOfDate(); return GetAsNoTracking(p => p.Active == true && (p.ShiftMin >= from && p.ShiftMax <= to) && (request.EmpId == null || p.EmployeeId == request.EmpId)) .Select(p => new AttendanceStatusResponse() { Date = p.ShiftMax.Date, // status Assign false, UpdatedByAuto true, Status = (p.CheckMin != null && p.CheckMax != null) ? true : false }).ToList(); }