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);
        }
Exemple #2
0
 public IActionResult DriverDailyRecord([FromBody] RecordListRequest model)
 {
     try
     {
         var result = _orderService.ListRecords(model);
         return(Ok(result));
     }
     catch (Exception e)
     {
         return(BadRequest(e.Message));
     }
 }
Exemple #3
0
        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));
        }