Ejemplo n.º 1
0
        public async Task <IActionResult> AddTicket([FromBody] TicketView tv)
        {
            var oper = await _userManager.GetUserAsync(User);

            BusinessPoint bp = await _ctx.BusinessPoints
                               .Include(p => p.Owner)
                               .Where(p => p.Id == tv.BusinessPointId)
                               .SingleOrDefaultAsync();

            Ticket t = new Ticket {
                OperationDate = DateTime.Now, Amount = tv.Amount, Operator = oper, BusinessPoint = bp
            };

            _ctx.Tickets.Add(t);
            var result = await _ctx.SaveChangesAsync();

            if (result > 0)
            {
                decimal Amount = await _ctx.Tickets.Where(tt => tt.BusinessPoint.Id == bp.Id && tt.OperationDate.ToShortDateString() == DateTime.Now.ToShortDateString())
                                 .SumAsync(tt => tt.Amount);

                await _sc.GetChannel(bp.Owner.UserName).Writer.WriteAsync(new BusinessPointStats {
                    BusinessPointId = bp.Id, TotalAmount = Amount
                });

                return(CreatedAtAction(nameof(Get), new { id = t.Id }, tv));
            }
            return(BadRequest(tv));
        }
Ejemplo n.º 2
0
        private void BtnAdd_Click(object sender, RoutedEventArgs e)
        {
            TicketView ticketView = new TicketView();

            ticketView.Show();
            this.Close();
            ticketView.setConfiguration(projection, seats);
        }
Ejemplo n.º 3
0
        //Ticket page: Admin/Admin/Tickets
        public ActionResult Tickets()
        {
            if (isLogined() == false)
            {
                return(RedirectToAction("Dashboard", "Admin"));
            }
            List <TicketView> tickets = TicketView.PullTicket(db.tickets.Count());

            return(View(tickets));
        }
Ejemplo n.º 4
0
        public override void saveReservation()
        {
            bool isSend = false;

            isSend = Controller.Post(Reservation);
            if (isSend)
            {
                TicketView.GetInstance().Close();
            }
        }
Ejemplo n.º 5
0
        public List <TicketView> GetAllTickets()
        {
            IList <TicketEntityView> ticketEntities = _ticketRepository.GetAllTickets();
            List <TicketView>        tickets        = new List <TicketView>();

            foreach (TicketEntityView ticketEntity in ticketEntities)
            {
                TicketView ticket = ticketEntity.ToDomainResponse();
                tickets.Add(ticket);
            }
            return(tickets);
        }
Ejemplo n.º 6
0
        private void BuyTicketExecute(object obj)
        {
            TicketView view = new TicketView()
            {
                DataContext = new TicketViewModel(Reservation)
            };

            if (ChooseShowingView.GetInstance() != null)
            {
                ChooseShowingView.GetInstance().Close();
            }
            view.Show();
        }
        private void OnShowTicket(TicketView ticketView)
        {
            WaitOverlayProvider.ShowWaitOverlay();
            try
            {
                CurrentTicket = WsdlRepository.LoadTicket(ticketView.Number, ticketView.CheckSum, StationRepository.StationNumber, SelectedLanguage, SelectedLanguage, true);

                MyRegionManager.NavigateUsingViewModel <TicketDetailsViewModel>(RegionNames.UserProfileContentRegion);
            }
            catch (System.ServiceModel.FaultException <HubServiceException> exception)
            {
                ShowError(exception.Detail.message);
            }
        }
        public async Task <TicketView> GetTicket()
        {
            TicketView ans     = new TicketView();
            string     content = await Request.Content.ReadAsStringAsync();

            int         id     = JsonConvert.DeserializeObject <int>(content);
            Ticket      ticket = db.Tickets.Find(id);
            Performance perf   = db.Performances.Find(ticket.PerformanceId);

            ans.Ticket              = ticket;
            ans.Performance         = perf;
            ans.Performance.Details = "";
            ans.Performance.Image   = null;
            return(ans);
        }
Ejemplo n.º 9
0
        private void ShowTickets(UserTicket[] obj)
        {
            TicketView._instances.Clear();
            Tickets.Clear();
            foreach (var ticket in obj)
            {
                string name = "";
                int    id   = (int)ticket.ticketCategory;
                switch (id)
                {
                case 0:
                    name = TranslationProvider.Translate(MultistringTags.TERMINAL_FORM_ALL).ToString();
                    break;

                case 1:
                    name = TranslationProvider.Translate(MultistringTags.TERMINAL_TICKETWON).ToString();
                    break;

                case 2:
                    name = TranslationProvider.Translate(MultistringTags.TERMINAL_TICKETLOST).ToString();
                    break;

                case 3:
                    name = TranslationProvider.Translate(MultistringTags.TERMINAL_FORM_CANCELLED).ToString();
                    break;

                case 4:
                    name = TranslationProvider.Translate(MultistringTags.TERMINAL_TICKETOPEN).ToString();
                    break;

                case 5:
                    name = TranslationProvider.Translate(MultistringTags.TERMINAL_PENDING_APPROVAL).ToString();
                    break;
                }
                var ticketView = new TicketView(ticket.ticketNumber, ticket.checkSum, name, id, ticket.createdAt, Currency);
                Tickets.Add(ticketView);
            }
            if (RowHeight == 0 && Tickets.Count > 0)
            {
                if (Tickets[0].CreatedAt == DateTime.MinValue)
                {
                    Tickets[0].Hidden = true;
                }
            }
        }
Ejemplo n.º 10
0
        ///// <summary>
        ///// 返回被授权的Office号,现在暂时没有用到,因为封口后都只给出pnrcode;
        ///// </summary>
        ///// <param name="str">待解析字串</param>
        ///// <returns>被授权的Office号</returns>
        //private static string GetAuthorizeInfo(string str)
        //{
        //    string officeNo = null;
        //    Regex pattern = new Regex(RegexUtil.RMKCmdRegex);
        //    Match match = pattern.Match(str);
        //    if (match.Success)
        //    {
        //        officeNo = match.Groups["OfficeNo"].Value;
        //    }
        //    return officeNo;
        //}

        public static TicketView GetTickets(string str)
        {
            TicketView ticket  = new TicketView();
            Regex      pattern = null;
            Match      match   = null;

            pattern = new Regex(ETicketUtil.ETicketNumberRegExp);
            match   = pattern.Match(str);
            if (match.Success)
            {
                ticket.Number = match.Groups["TicketNumber"].Value;
            }

            pattern = new Regex(ETicketUtil.PassangerRegExp);
            match   = pattern.Match(str);
            if (match.Success)
            {
                ticket.Name = match.Groups["Name"].Value;
            }

            pattern = new Regex(ETicketUtil.PNRPairRegExp);
            match   = pattern.Match(str);
            if (match.Success)
            {
                ticket.PNRCode = new PNRPair(match.Groups["CPNR"].Value, match.Groups["BPNR"].Value);
            }

            pattern = new Regex(ETicketUtil.StatusRegExp);
            match   = pattern.Match(str);
            if (match.Success)
            {
                ticket.Status = match.Groups["Status"].Value;
            }

            pattern = new Regex(ETicketUtil.AirlineCompanyRegExp);
            match   = pattern.Match(str);
            if (match.Success)
            {
                ticket.AirlineCompany = match.Groups["AirlineCompany"].Value.Trim();
            }

            return(ticket);
        }
Ejemplo n.º 11
0
 // List all tickets with their replys based on ticket ID :
 // 1 - View ticket information
 public TicketView GetTicket(int id, int userId)
 {
     try
     {
         var user   = db.Users.Find(userId);
         var entity = db.Tickets.Find(id);
         var client = db.Users.Find(entity.ClientId);
         var ticket = new TicketView();
         if ((user.Type == UserType.Client && entity.ClientId == user.Id) ||
             (user.Type == UserType.Employee && entity.EmployeeId == user.Id) ||
             user.Type == UserType.Manager)
         {
             if (entity.Status == TicketStatus.Closed)
             {
                 ticket.ClosedDate = entity.ClosedDate.Value.ToShortDateString();
                 var closeBy = db.Users.Find(entity.ClosedBy);
                 ticket.ClosedBy = closeBy.FirstName + " " + closeBy.LastName;
             }
             else
             {
                 ticket.ClosedDate = null;
             }
             ticket.Id          = entity.Id;
             ticket.Client      = client.FirstName + " " + client.LastName;
             ticket.Category    = entity.Category;
             ticket.Status      = entity.Status;
             ticket.OpenDate    = entity.OpenDate.ToShortDateString();
             ticket.Title       = entity.Title;
             ticket.Description = entity.Description;
             return(ticket);
         }
         return(null);
     }
     catch (Exception ex)
     {
         GlobalVariable.log.Write(LogLevel.Error, ex);
         return(null);
     }
 }
Ejemplo n.º 12
0
        //Search for ticket: Admin/Admin/SearchTickets
        public ActionResult SearchTickets(string info)
        {
            if (isLogined() == false || string.IsNullOrEmpty(info) == true)
            {
                return(RedirectToAction("Dashboard", "Admin"));
            }
            List <TicketView> tickets = new List <TicketView>();
            List <string>     keyword = new List <string>();

            keyword = info.Split(' ').ToList();
            foreach (ticket t in db.tickets)
            {
                TicketView tmp   = new TicketView(t);
                bool       check = false;
                //if any property contains info then add
                foreach (string s in keyword)
                {
                    if (string.Format(
                            tmp.ID.ToString() +
                            tmp.UserID +
                            tmp.UserName +
                            tmp.HotelID +
                            tmp.HotelName +
                            tmp.Date.ToString() +
                            tmp.DateEnd.ToString() +
                            tmp.DateStart.ToString()).ToLower().Contains(s.ToLower()))
                    {
                        check = true;
                    }
                }
                if (check == true)
                {
                    tickets.Add(tmp);
                }
            }
            return(View(tickets));
        }
Ejemplo n.º 13
0
        /// <summary>
        /// 1.获取交叉数据绑定后台视图模型
        /// -- 基本数据从Ticket表中获取
        /// -- 再依据外键进行相应数据列匹配和选取(根据FORM请求进行数据筛选后再绑定)
        /// -- 取出所有数据后绑定报表文件展示
        /// </summary>
        /// <returns></returns>
        public IActionResult CrossReport()
        {
            TDContext context = new TDContext();

            List <Ticket> tickets = new List <Ticket>();

            if (searchCondition.DateFrom != null && searchCondition.DateFrom.ToString() != "" && searchCondition.DateTo.ToString() != "" && searchCondition.DateTo != null)
            {
                tickets = context.Ticket.Where(t => t.TicketDate <searchCondition.DateTo && t.TicketDate> searchCondition.DateFrom).ToList();
            }
            else
            {
                tickets = context.Ticket.FromSql("select * from Ticket").ToList();
            }

            List <TicketView> tList = new List <TicketView>();

            foreach (Ticket tic in tickets)
            {
                TicketView tView = new TicketView();
                # region 产品过滤
                Product product = new Product();
                if (searchCondition.Product != null && searchCondition.Product != "")
                {
                    product = context.Product.Where(p => p.ProductID == tic.ProductID && p.ProductName == searchCondition.Product).FirstOrDefault();
                    if (product == null)
                    {
                        continue;                  //问题 - 没有要不要显示?
                    }
                }
                else
                {
                    product = context.Product.Where(p => p.ProductID == tic.ProductID).FirstOrDefault();
                }
                tView.Product = product;
                #endregion

                #region 区域过滤 办事处过滤
                Corp issuer = context.Corp.Where(c => c.CorpID == tic.IssuerID).FirstOrDefault();
                if (issuer.CorpLevel != "办事处")
                {
                    //父企业
                    Corp parentCorp = context.Corp.Where(c => c.CorpID == issuer.ParentCorpID).FirstOrDefault();
                    if (searchCondition.Office != null && searchCondition.Office != "" && searchCondition.Office != parentCorp.CorpName)
                    {
                        continue;
                    }
                    //区域信息
                    Area areaInfo = context.Area.Where(a => a.AreaId == parentCorp.AreaID).FirstOrDefault();
                    if (searchCondition.Area != null && searchCondition.Area != "" && searchCondition.Area != areaInfo.AreaName)
                    {
                        continue;
                    }
                    //组合信息
                    IssuerArea i = new IssuerArea();
                    i.IssuerID         = issuer.CorpID;
                    i.IssuerParentArea = areaInfo.AreaName;
                    i.IssuerParentName = parentCorp.CorpName;
                    tView.IssuerArea   = i;
                }
                else
                {
                    //无父企业直接获得
                    IssuerArea i = new IssuerArea();
                    i.IssuerID         = issuer.CorpID;
                    i.IssuerParentArea = issuer.AreaName;
                    if (searchCondition.Area != null && searchCondition.Area != "" && searchCondition.Area != issuer.AreaName)
                    {
                        continue;
                    }
                    i.IssuerParentName = issuer.CorpName;
                    if (searchCondition.Office != null && searchCondition.Office != "" && searchCondition.Office != issuer.CorpName)
                    {
                        continue;
                    }
                    tView.IssuerArea = i;
                }
                #endregion

                #region 补全
                var ParentType = typeof(Ticket);
                var Properties = ParentType.GetProperties();
                foreach (var Propertie in Properties)
                {
                    //循环遍历属性
                    if (Propertie.CanRead && Propertie.CanWrite)
                    {
                        //进行属性拷贝
                        Propertie.SetValue(tView, Propertie.GetValue(tic, null), null);
                    }
                }
                #endregion

                tList.Add(tView);
            }
Ejemplo n.º 14
0
        private void OnShowTicket(TicketView ticketView)
        {
            try
            {
                CurrentTicket = WsdlRepository.LoadTicket(ticketView.Number, ticketView.CheckSum, StationRepository.StationNumber, SelectedLanguage, SelectedLanguage, true);
                var a = new TicketDetailsViewModel();
                a.OnNavigationCompleted();
                BalanceOperations = a.BalanceOperations;

                if (CurrentTicket != null)
                {
                    OnPropertyChanged("PendingApprovalVisibility");
                    ShowSuperBonus       = CurrentTicket.superBonus > 1;
                    SuperBonusValue      = CurrentTicket.superBonusValue;
                    ShowManipulationFee  = CurrentTicket.manipulationFee > 0;
                    ManipulationFee      = CurrentTicket.manipulationFee;
                    ManipulationFeeValue = CurrentTicket.manipulationFeeValue;
                    Stake = CurrentTicket != null ? CurrentTicket.stake : 0;

                    Station           = CurrentTicket.ticketNbr.Substring(0, 4);
                    TicketNumber      = CurrentTicket.ticketNbr;
                    Date              = CurrentTicket.acceptedTime;
                    ShowStakePerRow   = "";
                    SuperBonusPercent = (CurrentTicket.superBonus - 1) * 100;
                    if (CurrentTicket.bets != null)
                    {
                        long prevBankGroupID = -1;
                        int  bankCount       = 0;
                        int  multiWayCount   = 0;
                        foreach (TipWS tip in CurrentTicket.bets[0].tips2BetMulti)
                        {
                            if (tip.bankGroupID != prevBankGroupID && !tip.bank)
                            {
                                multiWayCount++;
                                prevBankGroupID = tip.bankGroupID;
                            }
                            if (tip.bank)
                            {
                                bankCount++;
                            }
                        }
                        StakePerRow = CurrentTicket.stake / CurrentTicket.bets[0].rows;
                        switch (CurrentTicket.bets[0].betType)
                        {
                        case Bet.BET_TYPE_COMBI:
                            BetType = TranslationProvider.Translate(MultistringTags.Multiple);
                            break;

                        case Bet.BET_TYPE_COMBIPATH:
                            BetType         = TranslationProvider.Translate(MultistringTags.Multiple_and_Ways);
                            ShowStakePerRow = "1";
                            break;

                        case Bet.BET_TYPE_SINGLE:
                            BetType = TranslationProvider.Translate(MultistringTags.SINGLES);
                            break;

                        case Bet.BET_TYPE_SYSTEM:
                            BetType = TranslationProvider.Translate(MultistringTags.Full_Cover) + " " + CurrentTicket.bets[0].systemX + "/" + CurrentTicket.bets[0].systemY;
                            if (bankCount > 0)
                            {
                                BetType += "+" + bankCount + "B";
                            }
                            ShowStakePerRow = "1";
                            break;

                        case Bet.BET_TYPE_SYSTEMPATH:
                            string sTmp =
                                TranslationProvider.Translate(MultistringTags.TERMINAL_PRINT_SYSTEM) + " " +
                                CurrentTicket.bets[0].systemX + "/" + CurrentTicket.bets[0].systemY;
                            if (bankCount > 0)
                            {
                                sTmp += "+" + bankCount + "B";
                            }
                            if (multiWayCount > 0)
                            {
                                sTmp += "+" + multiWayCount + "W";
                            }
                            BetType         = sTmp;
                            ShowStakePerRow = "1";
                            break;
                        }
                        PossibleWinning = CurrentTicket.bets[0].maxWin;
                    }
                    Paid = CurrentTicket.paid
                               ? TranslationProvider.Translate(MultistringTags.terminal_yes)
                               : TranslationProvider.Translate(MultistringTags.terminal_no);
                    //PaidAt = CurrentTicket.Paid ? CurrentTicket.PaidTime.ToShortDateString() : "-";
                    PaidAt        = CurrentTicket.paid ? String.Format("{0:dd.MM.yyyy HH:mm}", CurrentTicket.paidTime) : "-";
                    PaymentAmount = CurrentTicket.wonAmount;

                    //if (CurrentTicket.bets != null)
                    //    BalanceOperations = LoadOdds(new ObservableCollection<BetWS>(CurrentTicket.bets));
                    //string[] tabColor = GetTabColor();
                    //TabForecolor = tabColor[0];
                    //TabBgcolor = tabColor[1];
                    OnPropertyChanged("ShowTranferToAccountButton");
                    OnPropertyChanged("ShowCreditNoteButton");
                    OnPropertyChanged("TransferMoneyString");
                }
            }
            catch (System.ServiceModel.FaultException <HubServiceException> exception)
            {
                ShowError(exception.Detail.message);
            }
            //CurrentTicket = WsdlRepository.LoadTicket(ticketView.Number, ticketView.CheckSum, StationRepository.StationNumber, SelectedLanguage, SelectedLanguage, true);

            //    MyRegionManager.NavigateUsingViewModel<TicketDetailsViewModel>(RegionNames.UserProfileContentRegion);
        }