Exemple #1
0
        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));
        }
Exemple #2
0
        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));
        }