public MainResponse <List <RecordResponse> > ListRecords(RecordListRequest input) { List <RecordResponse> recordList = _db.Records .Where(x => x.RecordDate == input.RecordDate) .Include(x => x.Driver) .Include(x => x.CreatedBy) .Include(x => x.AreaGroup) .Select(e => new RecordResponse { AreaGroupId = e.AreaGroupId, AreaGroupName = e.AreaGroup.GroupName, CreatedAt = e.CreatedAt, CreatedBy = e.CreatedById, CreatedByName = e.CreatedBy.FullName, DriverId = e.DriverId, DriverName = e.Driver != null ? e.Driver.DriverFullName : "", Id = e.Id, IsActive = e.IsActive, RecordDate = e.RecordDate, RecordGuid = e.RecordGuid, UpdatedAt = e.UpdatedAt, UpdatedBy = e.UpdatedBy }) .OrderByDescending(x => x.Id) .Skip((input.PageNumber - 1) * input.PageSize).Take(input.PageSize) .ToList(); MainResponse <List <RecordResponse> > finalResponse = new MainResponse <List <RecordResponse> >(recordList, _db.Records.Count()); return(finalResponse); }
public IActionResult DriverDailyRecord([FromBody] RecordListRequest model) { try { var result = _orderService.ListRecords(model); return(Ok(result)); } catch (Exception e) { return(BadRequest(e.Message)); } }
public async Task <BaseResponse <IEnumerable <RecordResponse> > > List(RecordListRequest model) { DateTime recordDate = _db.Configurations.FirstOrDefault().OrdersDate; IEnumerable <Record> recordList = await _db.Records .Where(x => (!model.AreaGroupId.HasValue || x.AreaGroupId == model.AreaGroupId) && (!model.From.HasValue || x.RecordDate.Value.Date >= model.From.Value.Date) && (!model.To.HasValue || x.RecordDate.Value.Date <= model.To.Value.Date) ) .Include(x => x.Driver) .Include(x => x.CreatedBy) .Include(x => x.AreaGroup) .OrderByDescending(x => x.Id) .ToListAsync(); int totalCount = recordList.Count(); var result = recordList.Select(x => new RecordResponse { AreaGroupId = x.AreaGroupId, AreaGroupName = x.AreaGroup.GroupName, CreatedAt = x.CreatedAt, CreatedBy = x.CreatedById, CreatedByName = x.CreatedBy.FullName, DriverId = x.DriverId.HasValue ? x.DriverId:0, DriverName = x.Driver != null ? x.Driver.DriverFullName : "غير محدد", Id = x.Id, RecordDate = x.RecordDate, RecordGuid = x.RecordGuid }).ToList().Skip((model.PageNumber - 1) * model.PageSize).Take(model.PageSize); if (result != null) { return(new BaseResponse <IEnumerable <RecordResponse> > { Code = RsponseCode.Success, Message = "", Data = result, TotalCount = totalCount }); } return(new BaseResponse <IEnumerable <RecordResponse> > { Code = RsponseCode.NotFound, Message = "لا يوجد بيانات ", Data = null }); }
public async Task <IActionResult> List([FromBody] RecordListRequest model) { var result = await _recordService.List(model); return(Ok(result)); }