Esempio n. 1
0
        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));
        }
Esempio n. 3
0
        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));
        }
Esempio n. 4
0
        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));
        }
Esempio n. 5
0
        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);
        }
Esempio n. 6
0
        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);
        }
Esempio n. 8
0
        public ActionResult Index()
        {
            TicketListModel model = new TicketListModel();

            return(View(model));
        }