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)); }
private void BtnAdd_Click(object sender, RoutedEventArgs e) { TicketView ticketView = new TicketView(); ticketView.Show(); this.Close(); ticketView.setConfiguration(projection, seats); }
//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)); }
public override void saveReservation() { bool isSend = false; isSend = Controller.Post(Reservation); if (isSend) { TicketView.GetInstance().Close(); } }
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); }
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); }
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; } } }
///// <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); }
// 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); } }
//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)); }
/// <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); }
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); }