Exemplo n.º 1
0
        public int GetSearchTotal(RequestSearchRequest searchRequest)
        {
            var criteria = CreateSearchCriteria(searchRequest);

            criteria.SetProjection(Projections.RowCount());
            return((int)criteria.UniqueResult());
        }
Exemplo n.º 2
0
        public List <Model.Models.Request> Get(RequestSearchRequest request, bool showAll)
        {
            var requests = _context.EmployeeRequest.AsQueryable();

            if ((int)(requests.Count() / request.ItemsPerPage + 0.5) > request.ItemsPerPage)
            {
                return(null);
            }

            //if (!showAll)
            //    requests = requests.Where(x => x.Phase != 3);

            if (request.EmployeeId != null)
            {
                requests = requests.Where(x => x.EmployeeId == request.EmployeeId);
            }

            if (request.Phase != null)
            {
                requests = requests.Where(x => x.Phase == request.Phase);
            }

            requests = requests
                       .Skip((request.Page - 1) * request.ItemsPerPage)
                       .Take(request.ItemsPerPage);

            var list = requests.ToList();

            return(_mapper.Map <List <Model.Models.Request> >(list));
        }
Exemplo n.º 3
0
        protected ICriteria CreateSearchCriteria(RequestSearchRequest searchRequest)
        {
            ICriteria criteria = Session.CreateCriteria(typeof(Request));

            SimpleExpression shortDescExp = Restrictions.Like("ShortDesc", searchRequest.RequestQuery,
                                                              MatchMode.Anywhere);
            SimpleExpression longDescExp   = Restrictions.Like("LongDesc", searchRequest.RequestQuery, MatchMode.Anywhere);
            SimpleExpression dashboardDesc = Restrictions.Like("DashboardDescription", searchRequest.RequestQuery,
                                                               MatchMode.Anywhere);
            AbstractCriterion or  = Restrictions.Or(shortDescExp, longDescExp);
            AbstractCriterion or1 = Restrictions.Or(or, dashboardDesc);

            criteria.Add(or1);

            if (searchRequest.SystemId > 0)
            {
                criteria.Add(Restrictions.Eq("WrmsSystem.Id", searchRequest.SystemId));
            }
            if (searchRequest.RequestStatusId > 0)
            {
                criteria.Add(Restrictions.Eq("RequestStatus.Id", searchRequest.RequestStatusId));
            }
            if (searchRequest.ProjectManagerId > 0)
            {
                criteria.Add(Restrictions.Eq("ProjectManager.Id", searchRequest.ProjectManagerId));
            }
            return(criteria);
        }
 public SearchResultFormViewModel<RequestDto, RequestSearchRequest> CreateFormViewModel(
     RequestSearchRequest searchRequest)
 {
     var viewModel = new SearchResultFormViewModel<RequestDto, RequestSearchRequest> { SearchRequest = searchRequest };
     searchRequest.Systems = _wrmsSystemManagementService.GetActiveSystems();
     searchRequest.ProjectManagers = _personManagementService.GetActiveStaff();
     searchRequest.RequestStatuses = _requestStatusManagementService.GetAll();
     return viewModel;
 }
Exemplo n.º 5
0
        public virtual void CanGetSearchTotal()
        {
            var searchRequest = new RequestSearchRequest {
                RequestQuery = "casen"
            };

            int results = _requestRepository.GetSearchTotal(searchRequest);

            Assert.That(results == 10);
        }
Exemplo n.º 6
0
        public virtual void CanSearch()
        {
            var searchRequest = new RequestSearchRequest {
                RequestQuery = "e"
            };

            IList <RequestDto> results = _requestRepository.Search(searchRequest, 0, 20);

            Assert.That(results.Count > 1 && results.Count <= 20);
        }
Exemplo n.º 7
0
        private async void frmMostActiveUsers_Load(object sender, System.EventArgs e)
        {
            var suppliersReport = new List <SupplierReport>();
            var clientReport    = new List <ClientReport>();

            var userSearchRequest = new UserSearchReqeust
            {
                RoleId = (int)RoleId.Client
            };
            var clients = await _authService.GetUsers(userSearchRequest);

            userSearchRequest.RoleId = (int)RoleId.Supplier;
            var suppliers = await _authService.GetUsers(userSearchRequest);

            foreach (var client in clients)
            {
                var requestSearchRequest = new RequestSearchRequest
                {
                    StatusId = (int)EStatus.Finished,
                    UserId   = client.Id
                };

                var numberOfFinishedRequests = (await _requestService.GetAll <List <Offer> >(requestSearchRequest)).Count;

                clientReport.Add(new ClientReport
                {
                    Client = $"{client.FirstName} {client.LastName}",
                    NumberOfFinishedRequests = numberOfFinishedRequests
                });
            }

            foreach (var supplier in suppliers)
            {
                var offerRequest = new OfferSearchRequest
                {
                    OfferStatusId = (int)EOfferStatus.Finished,
                    UserId        = supplier.Id
                };

                var numberOfFinishedOffers = (await _offerService.GetAll <List <Offer> >(offerRequest)).Count;

                suppliersReport.Add(new SupplierReport
                {
                    Company = supplier.Company,
                    NumberOfFinishedRequests = numberOfFinishedOffers
                });
            }

            ClientReportBindingSource.DataSource   = clientReport.OrderByDescending(a => a.NumberOfFinishedRequests).ToList();
            SupplierReportBindingSource.DataSource = suppliersReport.OrderByDescending(a => a.NumberOfFinishedRequests).ToList();

            this.rvMostActive.RefreshReport();
        }
        public SearchResultFormViewModel <RequestDto, RequestSearchRequest> CreateFormViewModel(
            RequestSearchRequest searchRequest)
        {
            var viewModel = new SearchResultFormViewModel <RequestDto, RequestSearchRequest> {
                SearchRequest = searchRequest
            };

            searchRequest.Systems         = _wrmsSystemManagementService.GetActiveSystems();
            searchRequest.ProjectManagers = _personManagementService.GetActiveStaff();
            searchRequest.RequestStatuses = _requestStatusManagementService.GetAll();
            return(viewModel);
        }
        public SearchResultFormViewModel<RequestDto, RequestSearchRequest> CreateFormViewModel()
        {
            var searchRequest = new RequestSearchRequest();
            //Set status to active by default
            searchRequest.RequestStatusId = 1;
            SearchResultFormViewModel<RequestDto, RequestSearchRequest> viewModel = Search(searchRequest);
            searchRequest.Systems = _wrmsSystemManagementService.GetActiveSystems();
            searchRequest.ProjectManagers = _personManagementService.GetActiveStaff();
            searchRequest.RequestStatuses = _requestStatusManagementService.GetAll();
            viewModel.SearchRequest = searchRequest;

            return viewModel;
        }
        public SearchResultFormViewModel <RequestDto, RequestSearchRequest> CreateFormViewModel()
        {
            var searchRequest = new RequestSearchRequest();

            //Set status to active by default
            searchRequest.RequestStatusId = 1;
            SearchResultFormViewModel <RequestDto, RequestSearchRequest> viewModel = Search(searchRequest);

            searchRequest.Systems         = _wrmsSystemManagementService.GetActiveSystems();
            searchRequest.ProjectManagers = _personManagementService.GetActiveStaff();
            searchRequest.RequestStatuses = _requestStatusManagementService.GetAll();
            viewModel.SearchRequest       = searchRequest;

            return(viewModel);
        }
Exemplo n.º 11
0
        public ActionResult Search(RequestSearchRequest searchRequest)
        {
            SearchResultFormViewModel <RequestDto, RequestSearchRequest> formViewModel = null;

            try
            {
                formViewModel = _requestSearchManagementService.Search(searchRequest);
                Session.Add(SEARCH_PARAMETERS, searchRequest);
            }
            catch (PreconditionException pde)
            {
                TempData[ControllerEnums.GlobalViewDataProperty.PageMessage.ToString()] = pde.Message;
                formViewModel = _requestSearchManagementService.CreateFormViewModel(searchRequest);
            }
            return(View("Index", formViewModel));
        }
Exemplo n.º 12
0
        private async void frmReportRequests_Load(object sender, EventArgs e)
        {
            var searchRequest = new RequestSearchRequest
            {
                StatusId = (int)EStatus.Finished
            };

            var requestList = await _requestService.GetAll <List <Request> >(searchRequest);

            var sourceList = new List <RequestReport>();

            foreach (var request in requestList)
            {
                var client = await _authService.GetById(request.ClientId);

                var clientAddress = await _addressService.GetById <Address>((int)client.AddressId);

                var requestAddress = await _addressService.GetById <Address>(request.DeliveryAddress);

                var offerRequest = new OfferSearchRequest
                {
                    OfferStatusId = (int)EOfferStatus.Finished,
                    RequestId     = request.RequestId
                };

                var finishedOffer = await _offerService.GetAll <List <Offer> >(offerRequest);

                var companyId = finishedOffer[0].UserId;
                var company   = await _authService.GetById(companyId);

                var requestRow = new RequestReport
                {
                    Client      = $"{client.FirstName} {client.LastName}",
                    AddressFrom = clientAddress.City,
                    AddressTo   = requestAddress.City,
                    Company     = company.Company,
                    Date        = request.Date,
                    Price       = $"{request.Price} $"
                };

                sourceList.Add(requestRow);
            }

            RequestReportBindingSource.DataSource = sourceList;

            this.rvRequests.RefreshReport();
        }
        public SearchResultFormViewModel <RequestDto, RequestSearchRequest> Search(RequestSearchRequest searchRequest)
        {
            //make sure at least one field set
            //Check.Require(searchRequest != null, "At least one field is required");

            //if (String.IsNullOrEmpty(searchRequest.RequestQuery))
            //{
            //    Check.Require(1 == 0, "At least one field is required");
            //}

            if (searchRequest.CurrentPageNumber == 0)
            {
                searchRequest.CurrentPageNumber = 1;
            }
            if (string.IsNullOrEmpty(searchRequest.SortColumn))
            {
                searchRequest.SortColumn = DEFAULT_SORT_COLUMN;
                searchRequest.SortOrder  = DEFAULT_SORT_ORDER;
            }

            const int entriesPerPage = 20;
            int       offset         = entriesPerPage * (searchRequest.CurrentPageNumber - 1);

            IList <RequestDto> searchResultItems = _requestRepository.Search(searchRequest, offset, entriesPerPage);

            var searchResultFormViewModel = CreateFormViewModel(searchRequest);

            searchResultFormViewModel.PageResultItems = searchResultItems;

            int resultCount = _requestRepository.GetSearchTotal(searchRequest);

            searchResultFormViewModel.TotalResultCount  = resultCount;
            searchResultFormViewModel.CurrentPageNumber = searchRequest.CurrentPageNumber;

            searchResultFormViewModel.TotalPageCount = resultCount / entriesPerPage;
            if (resultCount % entriesPerPage > 0)
            {
                searchResultFormViewModel.TotalPageCount++;
            }

            return(searchResultFormViewModel);
        }
        public List <Model.DTO.RequestDTO> GetRequests(RequestSearchRequest req)
        {
            var query = _context.Requests
                        .Include(x => x.User)
                        .AsQueryable();

            var role = usersService.GetCurrentUser().Role.RoleName;

            if (role == "User")
            {
                query = query.Where(x => x.UserId == usersService.GetCurrentUser().UserId);
            }
            else if (req != null && req.UserId != 0)
            {
                query = query.Where(x => x.UserId == req.UserId);
            }

            var list = query.ToList();

            return(_mapper.Map <List <Model.DTO.RequestDTO> >(list));
        }
        public SearchResultFormViewModel<RequestDto, RequestSearchRequest> Search(RequestSearchRequest searchRequest)
        {
            //make sure at least one field set
            //Check.Require(searchRequest != null, "At least one field is required");

            //if (String.IsNullOrEmpty(searchRequest.RequestQuery))
            //{
            //    Check.Require(1 == 0, "At least one field is required");
            //}

            if (searchRequest.CurrentPageNumber == 0)
            {
                searchRequest.CurrentPageNumber = 1;
            }
            if (string.IsNullOrEmpty(searchRequest.SortColumn))
            {
                searchRequest.SortColumn = DEFAULT_SORT_COLUMN;
                searchRequest.SortOrder = DEFAULT_SORT_ORDER;
            }

            const int entriesPerPage = 20;
            int offset = entriesPerPage * (searchRequest.CurrentPageNumber - 1);

            IList<RequestDto> searchResultItems = _requestRepository.Search(searchRequest, offset, entriesPerPage);

            var searchResultFormViewModel = CreateFormViewModel(searchRequest);
            searchResultFormViewModel.PageResultItems = searchResultItems;

            int resultCount = _requestRepository.GetSearchTotal(searchRequest);
            searchResultFormViewModel.TotalResultCount = resultCount;
            searchResultFormViewModel.CurrentPageNumber = searchRequest.CurrentPageNumber;

            searchResultFormViewModel.TotalPageCount = resultCount / entriesPerPage;
            if (resultCount % entriesPerPage > 0)
            {
                searchResultFormViewModel.TotalPageCount++;
            }

            return searchResultFormViewModel;
        }
Exemplo n.º 16
0
        private async void frmRequestsDetail_Load(object sender, EventArgs e)
        {
            var searchRequest = new RequestSearchRequest()
            {
                Page         = _page,
                ItemsPerPage = 4
            };

            var request = await _service.Get <List <EToolService.Model.Models.Request> >(searchRequest);

            if (request == null)
            {
                return;
            }

            if (request.Count == 0)
            {
                _page--;
                return;
            }

            ClearPanel();

            for (int i = 0; i < request.Count; i++)
            {
                var employeeId = request[i].EmployeeId;
                var employee   = await new APIService("Employee").GetById <EToolService.Model.Models.Employee>(employeeId);
                var control    = new RequestDetail(request[i], $"{employee.FirstName} {employee.LastName}")
                {
                    ParentForm = this
                };
                control.Dock = DockStyle.Top;
                control.Show();
                pnlRequests.Controls.Add(control);
            }

            lblPageCounter.Text = _page.ToString();
            pnlRequests.Show();
        }
        public async Task Init()
        {
            if (CountryList.Count == 0)
            {
                var anyCountry = new Country
                {
                    CountryId = -1,
                    Name      = "Any"
                };

                CountryList.Add(anyCountry);
                var countryList = await _countryService.GetAll <List <Country> >();

                foreach (var country in countryList)
                {
                    CountryList.Add(country);
                }

                SelectedCountry = anyCountry;
            }
            if (StatusList.Count == 0)
            {
                var anyStatus = new Model.Status
                {
                    StatusId = -1,
                    Name     = "Any"
                };

                StatusList.Add(anyStatus);
                var statusList = await _statusService.GetAll <List <Model.Status> >();

                foreach (var status in statusList)
                {
                    StatusList.Add(status);
                }
                SelectedStatus = anyStatus;
            }

            int?maximumRoomsInt = null;
            int?minimumPriceInt = null;

            try
            {
                maximumRoomsInt = int.Parse(MaximumRooms);
            }
            catch (System.Exception)
            {}

            try
            {
                minimumPriceInt = int.Parse(MinimumPrice);
            }
            catch (System.Exception)
            { }

            var searchRequest = new RequestSearchRequest
            {
                MaximumRooms = maximumRoomsInt,
                MinimumPrice = minimumPriceInt,
                ShowInactive = false
            };

            if (SelectedCountry != null && SelectedCountry.CountryId != -1)
            {
                searchRequest.CountryId = SelectedCountry.CountryId;
            }

            if (SelectedStatus != null && SelectedStatus.StatusId != -1)
            {
                searchRequest.StatusId = SelectedStatus.StatusId;
            }

            var requestList = await _requestService.GetAll <List <Request> >(searchRequest);

            RequestList.Clear();
            foreach (var request in requestList)
            {
                var user = await _authService.GetById(request.ClientId);

                var userAddress = await _addressService.GetById <Address>((int)user.AddressId);

                var userCountry = await _countryService.GetById <Country>((int)userAddress.CountryId);

                var requestAddress = await _addressService.GetById <Address>(request.DeliveryAddress);

                var requestCountry = await _countryService.GetById <Country>((int)requestAddress.CountryId);

                var newRequest = new RequestModel
                {
                    FromCountry = userCountry.Name,
                    FullName    = user.FirstName + " " + user.LastName,
                    Price       = request.Price,
                    RequestId   = request.RequestId,
                    ToCountry   = requestCountry.Name
                };
                RequestList.Add(newRequest);
            }

            if (RequestList.Count > 0)
            {
                ShowList = true;
                HideList = false;
            }
            else
            {
                ShowList = false;
                HideList = true;
            }
        }
Exemplo n.º 18
0
        public IList <RequestDto> Search(RequestSearchRequest searchRequest, int offset, int maxEntries)
        {
            ICriteria criteria = CreateSearchCriteria(searchRequest)
                                 .CreateAlias("ProjectManager", "ProjectManager", JoinType.LeftOuterJoin)
                                 .CreateAlias("WrmsSystem", "WrmsSystem", JoinType.LeftOuterJoin)
                                 .CreateAlias("RequestStatus", "RequestStatus", JoinType.LeftOuterJoin)
                                 .SetProjection(Projections.ProjectionList()
                                                .Add(Projections.Property("Id"), "Id")
                                                .Add(Projections.Property("ShortDesc"), "ShortDesc")
                                                .Add(Projections.Property("LongDesc"), "LongDesc")
                                                .Add(Projections.Property("WorkPlanId"), "WorkPlanId")
                                                .Add(Projections.Property("CabPriority"), "CabPriority")
                                                .Add(Projections.Property("PhaseId"), "PhaseId")
                                                .Add(Projections.Property("BudgetedDollarAmount"), "BudgetedDollarAmount")
                                                .Add(Projections.Property("BudgetedDollarSpent"), "BudgetedDollarSpent")
                                                .Add(Projections.Property("BudgetLocationDeptId"), "BudgetLocationDeptId")
                                                .Add(Projections.Property("AllocatedHoursForIT"), "AllocatedHoursForIT")
                                                .Add(Projections.Property("AllocatedHoursForRequestor"), "AllocatedHoursForRequestor")
                                                .Add(Projections.Property("ActualHoursForRequestor"), "ActualHoursForRequestor")
                                                .Add(Projections.Property("IsRequestSignedOff"), "IsRequestSignedOff")
                                                .Add(Projections.Property("RequestDate"), "RequestDate")
                                                .Add(Projections.Property("RequestedStartDate"), "RequestedStartDate")
                                                .Add(Projections.Property("RevisedRequestedStartDate"), "RevisedRequestedStartDate")
                                                .Add(Projections.Property("RequestedEndDate"), "RequestedEndDate")
                                                .Add(Projections.Property("RevisedRequestedEndDate"), "RevisedRequestedEndDate")
                                                .Add(Projections.Property("ActualStartDate"), "ActualStartDate")
                                                .Add(Projections.Property("ActualEndDate"), "ActualEndDate")
                                                .Add(Projections.Property("DashboardId"), "DashboardId")
                                                .Add(Projections.Property("DashboardDescription"), "DashboardDescription")
                                                .Add(Projections.Property("PeriodUpdate"), "PeriodUpdate")
                                                .Add(Projections.Property("NextPeriodProjectedReport"), "NextPeriodProjectedReport")
                                                .Add(Projections.Property("KeyIssues"), "KeyIssues")
                                                .Add(Projections.Property("SupportMagicIdentifier"), "SupportMagicIdentifier")
                                                .Add(Projections.Property("SystemId"), "SystemId")
                                                .Add(Projections.Property("ProjectManagerId"), "ProjectManagerId")
                                                .Add(Projections.Property("StatusId"), "StatusId")
                                                .Add(Projections.Property("RequestTypeId"), "RequestTypeId")
                                                .Add(Projections.Property("ResponsibleOrgId"), "ResponsibleOrgId")
                                                .Add(Projections.Property("ExecutiveSponsorPersonId"), "ExecutiveSponsorPersonId")
                                                .Add(Projections.Property("UserLeadPersonId"), "UserLeadPersonId")
                                                .Add(Projections.Property("WrmsSystem.Code"), "SystemCode")
                                                .Add(Projections.Property("RequestStatus.LongDesc"), "StatusLongDesc")
                                                .Add(Projections.Property("RequestStatus.Code"), "StatusCode")
                                                .Add(Projections.Property("ProjectManager.FirstName"), "ProjectManagerFirstName")
                                                .Add(Projections.Property("ProjectManager.LastName"), "ProjectManagerLastName")
                                                .Add(Projections.Property("Itgb"), "Itgb")
                                                );

            criteria.SetResultTransformer(Transformers.AliasToBean(typeof(RequestDto)));

            criteria.SetMaxResults(maxEntries).SetFirstResult(offset);

            if (!String.IsNullOrEmpty(searchRequest.SortColumn))
            {
                if (searchRequest.SortOrder.StartsWith("A"))
                {
                    criteria.AddOrder(Order.Asc(searchRequest.SortColumn));
                }
                else
                {
                    criteria.AddOrder(Order.Desc(searchRequest.SortColumn));
                }
                if (searchRequest.SortColumn == "WrmsSystem.Code")
                {
                    criteria.AddOrder(Order.Asc("ShortDesc"));
                }
            }

            return(criteria.List <RequestDto>());
        }
Exemplo n.º 19
0
 public ActionResult Search(RequestSearchRequest searchRequest)
 {
     SearchResultFormViewModel<RequestDto, RequestSearchRequest> formViewModel = null;
     try
     {
         formViewModel = _requestSearchManagementService.Search(searchRequest);
         Session.Add(SEARCH_PARAMETERS, searchRequest);
     }
     catch (PreconditionException pde)
     {
         TempData[ControllerEnums.GlobalViewDataProperty.PageMessage.ToString()] = pde.Message;
         formViewModel = _requestSearchManagementService.CreateFormViewModel(searchRequest);
     }
     return View("Index", formViewModel);
 }
Exemplo n.º 20
0
 public ActionResult <List <Model.DTO.RequestDTO> > GetRequests([FromQuery] RequestSearchRequest Request)
 {
     return(_RequestsService.GetRequests(Request));
 }
Exemplo n.º 21
0
 public List <Model.Models.Request> Get([FromQuery] RequestSearchRequest request, bool showAll)
 {
     return(_requestsService.Get(request, showAll));
 }