public PagedResultDto <RestReqListDto> GetRestReqs(GetRestReqInput input) { var loginSAPCode = GetCurrentUser().SAPCode; var RestReqs = _RestReqRepository.GetAll().Include(a => a.RestInfos.RestInfoAdmins) .Where(a => a.RequestStatus.StatusDesc != "Draft" && a.RequestStatus.StatusDesc != "Cancel Order" && a.RequestStatus.StatusDesc != "Done" && a.RequestStatus.StatusDesc != "Not Available") .WhereIf(!input.Filter.IsNullOrEmpty(), p => p.UserId.ToString().Contains(input.Filter) || p.PaymentTypes.PaymentTypeDesc.Contains(input.Filter)) .OrderByDescending(a => a.CreationTime) .ToList(); List <RestReqListDto> RestReqListDtos = new List <RestReqListDto>(); foreach (var item in RestReqs) { var restadmin = _RestInfoAdminsRepository.GetAll().Where(a => a.RestInfoID == item.RestInfosID).ToList(); foreach (var admin in restadmin) { if (admin.emp_id == loginSAPCode) { RestReqListDto Filterditem = ObjectMapper.Map <RestReqListDto>(item); RestReqListDtos.Add(Filterditem); } } } var RestReqsCount = RestReqs.Count(); foreach (RestReqListDto req in RestReqListDtos) { var RestSches = _RestSchRepository.GetAll().Where(a => a.Id == req.RestSchedulesId).ToList(); List <RestSchesListDto> RestScheListDtos = ObjectMapper.Map <List <RestSchesListDto> >(RestSches); if (RestScheListDtos.Count() > 0) { foreach (RestSchesListDto sch in RestScheListDtos) { var RestInfos = _RestInfoRepository.GetAll().Where(a => a.Id == sch.RestInfoID).ToList(); string Area = RestInfos.Select(a => a.Area).SingleOrDefault(); string Building = RestInfos.Select(a => a.Building).SingleOrDefault(); req.RestaurantInfo = Area + " - " + Building; req.Day = sch.Day; } req.StatusDesc = _RequestStatusRepository.GetAll().Where(a => a.Id == req.RequestStatusID).Select(a => a.StatusDesc).SingleOrDefault(); } else { var RestInfos = _RestInfoRepository.GetAll().Where(a => a.Id == req.RestInfosID).ToList(); string Area = RestInfos.Select(a => a.Area).SingleOrDefault(); string Building = RestInfos.Select(a => a.Building).SingleOrDefault(); req.RestaurantInfo = Area + " - " + Building; req.StatusDesc = _RequestStatusRepository.GetAll().Where(a => a.Id == req.RequestStatusID).Select(a => a.StatusDesc).SingleOrDefault(); } req.Username = _EmployeesViewRepository.GetAll().Where(a => a.emp_id == req.UserId).Select(a => a.emp_username).SingleOrDefault(); req.ExtNum = (int?)_EmployeesViewRepository.GetAll().Where(a => a.emp_id == req.UserId).Select(a => a.emp_ext).SingleOrDefault(); } return(new PagedResultDto <RestReqListDto>(RestReqsCount, RestReqListDtos)); }
public PagedResultDto <RestReqListDto> HistoryGetRestReqs() { var loginSAPCode = GetCurrentUser().SAPCode; var RestReqs = _RestReqRepository.GetAll() .OrderByDescending(a => a.CreationTime) .Where(a => a.RequestStatus.StatusDesc == "Done") .ToList(); //&& a.RestInfos.AdminPerson == loginUserName var RestReqsCount = RestReqs.Count(); List <RestReqListDto> RestReqListDtos = new List <RestReqListDto>(); foreach (var item in RestReqs) { var restadmin = _RestInfoAdminsRepository.GetAll().Where(a => a.RestInfoID == item.RestInfosID).ToList(); foreach (var admin in restadmin) { if (admin.emp_id == loginSAPCode) { RestReqListDto Filterditem = ObjectMapper.Map <RestReqListDto>(item); RestReqListDtos.Add(Filterditem); } } } foreach (RestReqListDto req in RestReqListDtos) { var RestSches = _RestSchRepository.GetAll().Where(a => a.Id == req.RestSchedulesId).ToList(); List <RestSchesListDto> RestScheListDtos = ObjectMapper.Map <List <RestSchesListDto> >(RestSches); if (RestScheListDtos.Count() > 0) { foreach (RestSchesListDto sch in RestScheListDtos) { var RestInfos = _RestInfoRepository.GetAll().Where(a => a.Id == sch.RestInfoID).ToList(); string Area = RestInfos.Select(a => a.Area).SingleOrDefault(); string Building = RestInfos.Select(a => a.Building).SingleOrDefault(); req.RestaurantInfo = Area + " - " + Building; req.Day = sch.Day; } req.StatusDesc = _RequestStatusRepository.GetAll().Where(a => a.Id == req.RequestStatusID).Select(a => a.StatusDesc).SingleOrDefault(); } else { var RestInfos = _RestInfoRepository.GetAll().Where(a => a.Id == req.RestInfosID).ToList(); string Area = RestInfos.Select(a => a.Area).SingleOrDefault(); string Building = RestInfos.Select(a => a.Building).SingleOrDefault(); req.RestaurantInfo = Area + " - " + Building; req.StatusDesc = _RequestStatusRepository.GetAll().Where(a => a.Id == req.RequestStatusID).Select(a => a.StatusDesc).SingleOrDefault(); } req.Username = _EmployeesViewRepository.GetAll().Where(a => a.emp_id == req.UserId).Select(a => a.emp_username).SingleOrDefault(); req.ExtNum = (int?)_EmployeesViewRepository.GetAll().Where(a => a.emp_id == req.UserId).Select(a => a.emp_ext).SingleOrDefault(); } return(new PagedResultDto <RestReqListDto>(RestReqsCount, RestReqListDtos)); }