示例#1
0
        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);
        }
示例#2
0
 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();
 }
示例#3
0
 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();
 }