public ActionResult Index() { var userId = Guid.Parse(User.Identity.Name); var list = _db.Tickets.Where(x => x.FK_User.Equals(userId)).ToList(); list.Sort((x, y) => x.IsClosed.CompareTo(y.IsClosed)); var model = new TicketListModel { Ticktes = list }; return(View(model)); }
public IActionResult Index(int id) { var voyage = _voyageService.GetById(id); var location = _locationService.GetById(voyage.LocationId); var ticketCount = _ticketService.GetCount(id); var tickets = _ticketService.GetTicketsByVoyageId(id); decimal ticketPrice = (decimal)location.StandartPrice; if (ticketCount >= 5) { ticketPrice += ticketPrice * 0.1m; } if (ticketCount >= 10) { ticketPrice += ticketPrice * 0.1m; } if (ticketCount >= 15) { ticketPrice += ticketPrice * 0.1m; } List <TicketListModel> list = new List <TicketListModel>(); foreach (var item in tickets) { TicketListModel model = new TicketListModel(); model.Price = ticketPrice; model.Name = item.Name; model.Surname = item.Surname; model.SeatNumber = item.SeatNumber; model.Bus = _busService.GetById(voyage.BusId); model.Location = location; model.VoyageId = voyage.Id; list.Add(model); } ViewBag.VoyageId = voyage.Id; ViewBag.LastPrice = ticketPrice; return(View(list)); }
public IActionResult Index() { var tickets = _ticketService.GetAll(); List <TicketListModel> list = new List <TicketListModel>(); foreach (var item in tickets) { TicketListModel model = new TicketListModel(); model.Id = item.Id; model.Name = item.Name; model.Price = item.Price; model.SeatNumber = item.SeatNumber; model.Surname = item.Surname; model.VoyageId = item.VoyageId; list.Add(model); } return(View(list)); }
public JsonResult GetTickets([DataSourceRequest] DataSourceRequest request) { var dbTickets = this.Data.Tickets.All(); List <TicketListModel> tickets = new List <TicketListModel>(); foreach (var ticket in dbTickets) { var ticketToAdd = new TicketListModel(); ticketToAdd.Id = ticket.Id; ticketToAdd.Title = ticket.Title; ticketToAdd.Priority = Enum.GetName(typeof(Priority), ticket.Priority); ticketToAdd.AuthorName = ticket.User.UserName; ticketToAdd.CategoryName = ticket.Category.Name; tickets.Add(ticketToAdd); } return(Json(tickets.ToDataSourceResult(request), JsonRequestBehavior.AllowGet)); }
TicketListModel GetModel(string agiilQuery) { if (String.IsNullOrEmpty(agiilQuery)) { agiilQuery = "ticket is open"; } var model = new TicketListModel { Query = agiilQuery }; var tickets = lister.GetTickets(agiilQuery); if (tickets != null) { model.Tickets = tickets.Select(mapper.Map <TicketSummaryDto>).ToList(); } return(model); }
public IPagedList <TicketListModel> prepareListOfTickets(string username, int page = 1) { Organisation organisation = oRepository.GetOrganisationByUsername(username); IPagedList <Event> events = eRepository.GetEventsByOrganisation(organisation.Id, page); List <TicketListModel> eventsList = new List <TicketListModel>(); foreach (var e in events) { TicketListModel ticketListModel = new TicketListModel(); ticketListModel.IdEvent = e.Id; ticketListModel.NameEvent = e.Name; List <Ticket> tickets = tRepository.getTicketsByEvent(e.Id); foreach (var ticket in tickets) { TicketInventory ticketInventory = tiRepository.getTicketInventoryByTicket(ticket.Id); TicketViewModel ticketViewModel = new TicketViewModel() { Id = ticket.Id, Name = ticket.Name, Price = ticket.Price, DiscountPrice = ticket.DiscountPrice.HasValue ? ticket.DiscountPrice.Value : 0m, StockQuantity = ticketInventory.StockQuantity.HasValue ? ticketInventory.StockQuantity.Value : 0, ReservedQuantity = ticketInventory.ReservedQuantity.HasValue ? ticketInventory.ReservedQuantity.Value : 0 }; ticketListModel.Tickets.Add(ticketViewModel); } eventsList.Add(ticketListModel); } IPagedList <TicketListModel> pageEvents = new StaticPagedList <TicketListModel>(eventsList, events.PageNumber, events.PageSize, events.TotalItemCount); return(pageEvents); }
/// <summary> /// /// </summary> /// <param name="roles">查询的用户角色</param> /// <param name="userIds">要排除的用户Id</param> /// <returns></returns> public List <UserTicketModel> SearchUserWithRole(List <RolesEnum> roles, string hideUserIds) { string strUserSql = ""; StringBuilder strUserSelect = new StringBuilder(); strUserSelect.Append("SELECT "); strUserSelect.Append("U.UserID, "); strUserSelect.Append("U.FirstName, "); strUserSelect.Append("U.LastName, "); strUserSelect.Append("R.RoleID, "); strUserSelect.Append("R.RoleName "); strUserSelect.Append("FROM dbo.Users AS U "); strUserSelect.Append("LEFT JOIN dbo.Roles AS R ON U.RoleID = R.RoleID "); StringBuilder strWhere = new StringBuilder(); strWhere.Append("WHERE "); strWhere.Append("U.Status='ACTIVE' "); if (roles.Count > 0) { strWhere.AppendFormat("AND U.RoleID IN({0}) ", string.Join(",", roles.Select(x => (int)x).ToList())); } if (hideUserIds.Length > 0) { strWhere.Append("AND U.UserID NOT IN( " + hideUserIds + ") "); } StringBuilder strUserOrder = new StringBuilder(); strUserOrder.Append("ORDER BY U.RoleID ,U.FirstName; "); strUserSql = strUserSelect.ToString() + strWhere.ToString() + strUserOrder.ToString(); DateTime now = DateTime.Now; DateTime lastMonthStart = now.AddDays(1 - now.Day).AddMonths(-1).Date; DateTime currentMonthStart = now.AddDays(1 - now.Day).Date; StringBuilder strTicketCountSql = new StringBuilder(); strTicketCountSql.Append("SELECT TH.ModifiedBy,COUNT(DISTINCT TH.TicketID) AS TicketCount "); strTicketCountSql.Append("FROM dbo.TicketHistorys AS TH "); strTicketCountSql.Append("WHERE TH.ModifiedBy IN ("); strTicketCountSql.Append("SELECT U.UserID FROM dbo.Users AS U "); strTicketCountSql.Append(strWhere.ToString()); strTicketCountSql.Append(") "); strTicketCountSql.Append("{0} "); strTicketCountSql.Append("GROUP BY TH.ModifiedBy;"); StringBuilder strPreviousSql = new StringBuilder(); StringBuilder strPreviousWhereSql = new StringBuilder(); strPreviousWhereSql.Append("AND TH.ModifiedOn >= '" + lastMonthStart + "' "); strPreviousWhereSql.Append("AND TH.ModifiedOn < '" + currentMonthStart + "' "); strPreviousSql.AppendFormat(strTicketCountSql.ToString(), strPreviousWhereSql.ToString()); StringBuilder strCurrentSql = new StringBuilder(); StringBuilder strCurrentWhereSql = new StringBuilder(); strCurrentWhereSql.Append("AND TH.ModifiedOn >= '" + currentMonthStart + "' "); strCurrentSql.AppendFormat(strTicketCountSql.ToString(), strCurrentWhereSql.ToString()); StringBuilder strTicketSql = new StringBuilder(); strTicketSql.Append("SELECT T.ResponsibleUser,T.TicketID,T.Title,T.ProjectID,P.Title AS ProjectName,T.Priority "); strTicketSql.Append("FROM dbo.Tickets AS T LEFT JOIN dbo.Projects AS P ON T.ProjectID=P.ProjectID "); strTicketSql.Append("WHERE T.ResponsibleUser IN ( "); strTicketSql.Append("SELECT U.UserID FROM dbo.Users AS U "); strTicketSql.Append(strWhere.ToString()); strTicketSql.Append(") "); strTicketSql.Append("AND T.ProjectID IN (SELECT ProjectID FROM ProjectUsers PU WHERE PU.UserID IN ("); strTicketSql.Append("SELECT U.UserID FROM dbo.Users AS U "); strTicketSql.Append(strWhere.ToString()); strTicketSql.Append(") "); strTicketSql.Append(") "); List <TicketsState> status = new List <TicketsState>(); status.AddRange(TicketsStateHelper.SunnetSHAllowShowStatus); string strStatus = string.Join(",", status.Select(x => (int)x).ToList()); strTicketSql.Append("AND T.Status IN (1, 4, 9, 3, 5, 7, 10, 13, 17, 6, 12, 15, 11, 14, 8, 18, 16, 20, 31, 32) "); strTicketSql.Append("ORDER BY T.ModifiedOn DESC;"); string strSql = strTicketSql.ToString() + strPreviousSql.ToString() + strCurrentSql.ToString() + strUserSql; Database db = DatabaseFactory.CreateDatabase(); List <UserTicketModel> userTickets = new List <UserTicketModel>(); using (DbCommand dbCommand = db.GetSqlStringCommand(strSql)) { try { using (IDataReader sdr = db.ExecuteReader(dbCommand)) { List <TicketListModel> tickets = new List <TicketListModel>(); while (sdr.Read()) { TicketListModel ticket = new TicketListModel { ResponsibleUserID = int.Parse(sdr["ResponsibleUser"].ToString()), TicketID = int.Parse(sdr["TicketID"].ToString()), Title = sdr["Title"].ToString(), ProjectID = int.Parse(sdr["ProjectID"].ToString()), ProjectName = sdr["ProjectName"].ToString(), Priority = (PriorityState)sdr["Priority"] }; tickets.Add(ticket); } bool isNext = sdr.NextResult(); List <TicketHistoryModel> previousList = new List <TicketHistoryModel>(); while (sdr.Read() && isNext) { TicketHistoryModel model = new TicketHistoryModel { UserID = int.Parse(sdr[0].ToString()), TicketCount = int.Parse(sdr[1].ToString()) }; previousList.Add(model); } isNext = sdr.NextResult(); List <TicketHistoryModel> currentList = new List <TicketHistoryModel>(); while (sdr.Read() && isNext) { TicketHistoryModel model = new TicketHistoryModel { UserID = int.Parse(sdr[0].ToString()), TicketCount = int.Parse(sdr[1].ToString()) }; currentList.Add(model); } isNext = sdr.NextResult(); while (sdr.Read() && isNext) { UserTicketModel model = new UserTicketModel { UserID = int.Parse(sdr[0].ToString()), FirstName = sdr[1].ToString(), LastName = sdr[2].ToString(), RoleID = int.Parse(sdr[3].ToString()), RoleName = sdr[4].ToString() }; model.Tickets = tickets.Where(t => t.ResponsibleUserID == model.UserID).Take(10).ToList(); model.TicketCount = tickets.Count(t => t.ResponsibleUserID == model.UserID); if (previousList.Count(p => p.UserID == model.UserID) > 0) { model.Previous = previousList.First(p => p.UserID == model.UserID).TicketCount; } else { model.Previous = 0; } if (currentList.Count(p => p.UserID == model.UserID) > 0) { model.Current = currentList.First(p => p.UserID == model.UserID).TicketCount; } else { model.Current = 0; } userTickets.Add(model); } } return(userTickets); } catch (Exception ex) { WebLogAgent.Write(string.Format("[SQLText:{0},{1}Messages:\r\n{2}]", strSql, base.FormatParameters(dbCommand.Parameters), ex.Message)); } } return(userTickets); }
public ActionResult Index() { TicketListModel model = new TicketListModel(); return(View(model)); }