示例#1
0
        public async Task <IActionResult> Requests(int id, string status)
        {
            var campaignEvent = GetEventBy(id);

            if (campaignEvent == null)
            {
                return(NotFound());
            }

            if (!User.IsOrganizationAdmin(campaignEvent.Campaign.ManagingOrganizationId))
            {
                return(Unauthorized());
            }

            var criteria = new RequestSearchCriteria {
                EventId = id
            };

            var pageTitle = "All Requests";

            var currentPage = "All";

            if (!string.IsNullOrEmpty(status))
            {
                RequestStatus requestStatus;
                if (Enum.TryParse(status, out requestStatus))
                {
                    criteria.Status = requestStatus;
                    pageTitle       = $"{status} Requests";
                    currentPage     = status;
                }
                else
                {
                    return(RedirectToAction(nameof(Requests), new { id }));
                }
            }

            var model = await _mediator.SendAsync(new EventRequestsQuery { EventId = id });

            model.PageTitle   = pageTitle;
            model.CurrentPage = currentPage;

            model.Requests = await _mediator.SendAsync(new RequestListItemsQuery { Criteria = criteria });

            return(View(model));
        }
示例#2
0
        public async Task <IActionResult> Requests(int id, string status)
        {
            var authorizableEvent = await _mediator.SendAsync(new AuthorizableEventQuery(id));

            if (!await authorizableEvent.UserCanView())
            {
                return(new ForbidResult());
            }

            var criteria = new RequestSearchCriteria {
                EventId = id
            };
            var pageTitle   = "All Requests";
            var currentPage = "All";

            if (!string.IsNullOrEmpty(status))
            {
                RequestStatus requestStatus;
                if (Enum.TryParse(status, out requestStatus))
                {
                    criteria.Status = requestStatus;
                    pageTitle       = $"{status} Requests";
                    currentPage     = status;
                }
                else
                {
                    return(RedirectToAction(nameof(Requests), new { id }));
                }
            }

            var viewModel = await _mediator.SendAsync(new EventRequestsQuery { EventId = id });

            viewModel.PageTitle   = pageTitle;
            viewModel.CurrentPage = currentPage;

            viewModel.Requests = await _mediator.SendAsync(new RequestListItemsQuery { Criteria = criteria });

            return(View(viewModel));
        }
        private async Task <SelectItineraryRequestsModel> BuildSelectItineraryRequestsModel(int itineraryId,
                                                                                            RequestSearchCriteria criteria)
        {
            var model = new SelectItineraryRequestsModel();

            var itinerary = await _mediator.SendAsync(new ItineraryDetailQuery { ItineraryId = itineraryId });

            model.CampaignId    = itinerary.CampaignId;
            model.CampaignName  = itinerary.CampaignName;
            model.EventId       = itinerary.EventId;
            model.EventName     = itinerary.EventName;
            model.ItineraryName = itinerary.Name;

            criteria.EventId = itinerary.EventId;

            var requests = await _mediator.SendAsync(new RequestListItemsQuery { Criteria = criteria });

            foreach (var request in requests)
            {
                var selectItem = new RequestSelectModel
                {
                    Id        = request.Id,
                    Name      = request.Name,
                    DateAdded = request.DateAdded,
                    City      = request.City,
                    Address   = request.Address,
                    Postcode  = request.Postcode
                };

                model.Requests.Add(selectItem);
            }

            return(model);
        }
示例#4
0
    // Returns items in the User table based on search criteria and fill it in a UserList
    public static RequestList GetList(RequestSearchCriteria requestSearchCriteria)
    {
        RequestList tempList = new RequestList();

        using (SqlConnection myConnection = new SqlConnection(AppConfiguration.SqlConnectionString))
        {
            using (SqlCommand myCommand = new SqlCommand("sprocRequestSearchList", myConnection))
            {
                myCommand.CommandType = CommandType.StoredProcedure;
                if (!string.IsNullOrEmpty(requestSearchCriteria.CreatedBy))
                {
                    myCommand.Parameters.AddWithValue("@CreatedBy", requestSearchCriteria.CreatedBy);
                }
                if (!string.IsNullOrEmpty(requestSearchCriteria.ClosedBy))
                {
                    myCommand.Parameters.AddWithValue("@ClosedBy", requestSearchCriteria.ClosedBy);
                }
                if (requestSearchCriteria.CreateDateFrom != DateTime.MinValue)
                {
                    myCommand.Parameters.AddWithValue("@CreateDateFrom", requestSearchCriteria.CreateDateFrom);
                }
                if (requestSearchCriteria.CreateDateTo != DateTime.MinValue)
                {
                    myCommand.Parameters.AddWithValue("@CreateDateTo", requestSearchCriteria.CreateDateTo);
                }
                if (requestSearchCriteria.CloseDateFrom != DateTime.MinValue)
                {
                    myCommand.Parameters.AddWithValue("@CloseDateFrom", requestSearchCriteria.CloseDateFrom);
                }
                if (requestSearchCriteria.CloseDateTo != DateTime.MinValue)
                {
                    myCommand.Parameters.AddWithValue("@CloseDateTo", requestSearchCriteria.CloseDateTo);
                }
                if (!string.IsNullOrEmpty(requestSearchCriteria.AssignedUser))
                {
                    myCommand.Parameters.AddWithValue("@AssignedUser", requestSearchCriteria.AssignedUser);
                }
                if (!string.IsNullOrEmpty(requestSearchCriteria.AssignedDepartment))
                {
                    myCommand.Parameters.AddWithValue("@AssignedDepartment", requestSearchCriteria.AssignedDepartment);
                }
                if (!string.IsNullOrEmpty(requestSearchCriteria.RequestStatus))
                {
                    myCommand.Parameters.AddWithValue("@RequestStatus", requestSearchCriteria.RequestStatus);
                }
                if (!string.IsNullOrEmpty(requestSearchCriteria.CaseName))
                {
                    myCommand.Parameters.AddWithValue("@CaseName", requestSearchCriteria.CaseName);
                }
                if (!string.IsNullOrEmpty(requestSearchCriteria.TicketNumber))
                {
                    myCommand.Parameters.AddWithValue("@TicketNumber", requestSearchCriteria.TicketNumber);
                }
                if (!string.IsNullOrEmpty(requestSearchCriteria.PNR))
                {
                    myCommand.Parameters.AddWithValue("@PNR", requestSearchCriteria.PNR);
                }
                if (!string.IsNullOrEmpty(requestSearchCriteria.FlightNumber))
                {
                    myCommand.Parameters.AddWithValue("@FlightNumber", requestSearchCriteria.FlightNumber);
                }
                if (requestSearchCriteria.FlightDate != DateTime.MinValue)
                {
                    myCommand.Parameters.AddWithValue("@FlightDate", requestSearchCriteria.FlightDate);
                }
                if (!string.IsNullOrEmpty(requestSearchCriteria.DepartureSector))
                {
                    myCommand.Parameters.AddWithValue("@DepartureSector", requestSearchCriteria.DepartureSector);
                }
                if (!string.IsNullOrEmpty(requestSearchCriteria.ArrivalSector))
                {
                    myCommand.Parameters.AddWithValue("@ArrivalSector", requestSearchCriteria.ArrivalSector);
                }
                if (!string.IsNullOrEmpty(requestSearchCriteria.TicketCabin))
                {
                    myCommand.Parameters.AddWithValue("@TicketCabin", requestSearchCriteria.TicketCabin);
                }
                if (!string.IsNullOrEmpty(requestSearchCriteria.TravelCabin))
                {
                    myCommand.Parameters.AddWithValue("@TravelCabin", requestSearchCriteria.TravelCabin);
                }
                if (!string.IsNullOrEmpty(requestSearchCriteria.Justification))
                {
                    myCommand.Parameters.AddWithValue("@Justification", requestSearchCriteria.Justification);
                }
                if (!string.IsNullOrEmpty(requestSearchCriteria.Mobile))
                {
                    myCommand.Parameters.AddWithValue("@PassengerMobile", requestSearchCriteria.Mobile);
                }
                if (!string.IsNullOrEmpty(requestSearchCriteria.Email))
                {
                    myCommand.Parameters.AddWithValue("@PassengerEmail", requestSearchCriteria.Email);
                }
                myConnection.Open();
                using (SqlDataReader myReader = myCommand.ExecuteReader())
                {
                    if (myReader.HasRows)
                    {
                        tempList = new RequestList();
                        while (myReader.Read())
                        {
                            tempList.Add(FillDataRecord(myReader));
                        }
                    }
                    myReader.Close();
                }
            }
        }
        return(tempList);
    }