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)); }
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); }
// 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); }