/// <summary> /// Obtiene el listado de los datos generales del ticket. /// </summary> /// <param name="ticket"></param> /// <param name="organizacionID"> </param> /// <returns></returns> internal VentaGanadoInfo ObtenerVentaGanadoPorTicket(TicketInfo Ticket) { try { Dictionary <string, object> parameters = AuxVentaGanado.ObtenerParametrosObtenerPorFolioTicket(Ticket); DataSet ds = Retrieve("SalidaIndividualVenta_ConsultaVentaGanadoPorTicket", parameters); VentaGanadoInfo venta = null; if (ValidateDataSet(ds)) { venta = MapVentaGanadoDAL.ObtenerVentaGanadoPorTicket(ds); } return(venta); } catch (SqlException ex) { Logger.Error(ex); throw new ExcepcionServicio(MethodBase.GetCurrentMethod(), ex); } catch (DataException ex) { Logger.Error(ex); throw new ExcepcionServicio(MethodBase.GetCurrentMethod(), ex); } catch (Exception ex) { Logger.Error(ex); throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex); } }
public async Task <T> CASLoginWithRedirection <T>(string username, string password, bool rememberMe, IPassportServiceRedirection _redir) { //Step 1 - Request login ticket TicketInfo loginTicketInfo = await GetLoginTicketInfo(); // Step 2 - build the login request string loginUrl = string.Format("{0}?service={1}", GetEndpointURL(LOGIN_WS), _redir.GetServiceURL()); RestRequest loginRequest = new RestRequest(loginUrl, Method.POST, DataFormat.Json); loginRequest.AddParameter("lt", loginTicketInfo.lt); loginRequest.AddParameter("username", username); loginRequest.AddParameter("password", password); loginRequest.AddParameter("rememberMe", rememberMe); IRestResponse loginRequestResponse = await Client.ExecutePostAsync(loginRequest); if (loginRequestResponse.StatusCode != System.Net.HttpStatusCode.OK) { //handle according to established exception policy //throw new PassportException("CASLoginWithRedirection"); } if (!IsCookieAuthenticated) { //handle according to established exception policy //throw new PassportException("CASLoginWithRedirection - no cookie authentication"); } return(SimpleJson.DeserializeObject <T>(loginRequestResponse.Content)); }
public override void OnViewLoaded() { var tid = View.TicketId; if (!tid.HasValue) { View.ISAccessGranted = false; return; } TicketInfo info = _controller.WorkflowTicketService.GetTicketInfo(tid.Value); if (info == null || info.IsUsed) { View.ISAccessGranted = false; return; } var state = _controller.WorkflowStateService.GetWorkflowState(info.EntityId); if (state.WorkflowStateName != info.ValidStateName) { View.ShowUsed(); return; } View.ISAccessGranted = true; View.ShowPrintForm(info.EntityId); View.EntityId = info.EntityId; View.IdentityId = info.IdentityId; }
public void SendICMEmail(TicketInfo ticket) { if (ticket != null) { OwnerInfo owner = _dbContext.GetTicketInfo(ticket.TicketNumber).OwnerInfo; string FromAddress = _config["EmailClientConfig:UserAccount"]; string FromAdressTitle = "ICM Ticket Escalation Team"; //To Address //string ToAddress = owner.Email1; string ToAddress = "*****@*****.**"; //string CcAddress = owner.ManagerEmail; string CcAddress = "*****@*****.**"; string ToAdressTitle = $"{ticket.OwnerInfo.FirstName} {ticket.OwnerInfo.LastName}"; string Subject = $"UCM Ticket Escalation Email On Ticket No: {ticket.TicketNumber} {ticket.TicketSubject}"; string BodyContent = $"Hi {ticket.OwnerInfo.FirstName} {ticket.OwnerInfo.LastName}," + $"<br/> We are sorry to inform you that your Resolved Ticket no: " + $@"<a href='https://ucm.bingads.microsoft.com/Ticketing/EditTicket/{ticket.TicketNumber}/IssueDetails'>" + $" { ticket.TicketNumber } : {ticket.TicketSubject} </a> " + $"was rated below average, could you please coopearte with customer to help more." + $"<br/><br/> Thanks Regards, <br/> Escalation Team"; //Smtp Server string SmtpServer = _config["EmailClientConfig:SmtpServer"]; //Smtp Port Number int SmtpPortNumber = Convert.ToInt32(_config["EmailClientConfig:SmtpPortNumber"]); MailKitEmailSend(SmtpServer, SmtpPortNumber, FromAdressTitle, FromAddress, ToAdressTitle, ToAddress, CcAddress, Subject, BodyContent).Wait(); //SendGridEmailSend(FromAdressTitle, FromAddress, ToAdressTitle, ToAddress, CcAddress, Subject, BodyContent).Wait(); } }
private async Task <TicketInfo> GetLoginTicketInfo() { //Step 1 - Request login ticket RestRequest getLoginTicketRequest = new RestRequest(GetEndpointURL(LOGIN_WS)); getLoginTicketRequest.AddQueryParameter("action", "get_auth_params"); IRestResponse getLoginTicketResponse = await Client.ExecuteGetAsync(getLoginTicketRequest); if (getLoginTicketResponse.StatusCode != System.Net.HttpStatusCode.OK) { //handle according to established exception policy //TODO: throw } //Handle ticket login response TicketInfo loginTicketInfo = SimpleJson.DeserializeObject <TicketInfo>(getLoginTicketResponse.Content); if (loginTicketInfo.response != "login") { //handle according to established exception policy //TODO: throw } ; return(loginTicketInfo); }
protected virtual void CrearTicketAction() { if (_entity.EEstado != EEstado.Abierto) { return; } TicketInfo ticket = TicketInfo.GetByAlbaran(_entity.Oid, false); if (ticket != null && ticket.Oid != 0) { PgMng.ShowInfoException(Resources.Messages.ALBARAN_TICKET_EXISTS); return; } ExecuteAction(molAction.Save, true); if (_action_result == DialogResult.OK) { TicketAddForm form = new TicketAddForm(_entity.GetInfo(), this); form.ShowDialog(); _entity.NumeroTicket = form.Entity.Codigo; } }
public static TicketInfo GetTicketInfo(Ticket ticket) { TicketInfo info = default(TicketInfo); PrxTicketingGetTicketInfo(ref ticket, out info); return(info); }
private bool ValidateReversalCommand() { return(!TicketBarcode.IsNullOrEmptyOrSpaces() && !TicketInfo.IsNull() && !TicketInfo.IsReversed && TicketInfo.CloseDate.Date == DateTime.Now.Date); }
private void OnFindCommand() { IsDisplayTicketInfo = false; IsShowErrorMessage = false; try { TicketInfo = BaseAPI.findTicketByBarcode(TicketBarcode); } catch (Exception e) { IsDisplayTicketInfo = false; Log.Fatal("В процессе поиска билета по шк {0}, произошло исключение:\n{1}", TicketBarcode, e); ErrorMessage = "Произошло исключение: {0}".F(e.Message); IsShowErrorMessage = true; return; } if (TicketInfo != null && !TicketInfo.RequestError) { UpdateTicketInfoView(); IsDisplayTicketInfo = true; } else { IsDisplayTicketInfo = false; ErrorMessage = "{0} {1}".F(TicketBarcode, TicketInfo.IsNull() ? "Информация о билете не определена!" : TicketInfo.ErrorMessage); IsShowErrorMessage = true; } }
public static VentaGanadoInfo ValidarTicket(int ticket, int tipoVenta) { VentaGanadoInfo ventaGanado = null; TicketInfo ticketInfo = new TicketInfo(); ticketInfo.FolioTicket = ticket; if (tipoVenta == TipoVentaEnum.Propio.GetHashCode()) { ticketInfo.TipoVenta = TipoVentaEnum.Propio; } else { ticketInfo.TipoVenta = TipoVentaEnum.Externo; } try { var seguridad = HttpContext.Current.Session["Seguridad"] as SeguridadInfo; int organizacionID = 0; if (seguridad != null) { organizacionID = seguridad.Usuario.Organizacion.OrganizacionID; } var ventaGanadoPL = new VentaGanadoPL(); ticketInfo.Organizacion = organizacionID; ventaGanado = ventaGanadoPL.ObtenerVentaGanadoPorTicket(ticketInfo); } catch (Exception ex) { Logger.Error(ex); } return(ventaGanado); }
public TicketInfo GetTicketInfo(int startLocation, int endLocation, string priceCat) { var path = string.Format("sl/reseplanerare.json?S={0}&Z={1}Lang=sv&key={2}", startLocation, endLocation, ApiSettings.ApiKeySLReseplanerare); var response = this.ApiClient.GetAsync(path).Result; if (!response.IsSuccessStatusCode) { } var result = response.Content.ReadAsStringAsync().Result; var rootObject = JsonConvert.DeserializeObject<RootObject>(result); if (rootObject.HafasResponse.Trip == null) { return new TicketInfo(); } var firstOrDefault = rootObject.HafasResponse.Trip.FirstOrDefault(x => x.Summary.PriceInfo != null); if (firstOrDefault != null) { var priceInfo = firstOrDefault.Summary.PriceInfo; var nrTariffRemark = Convert.ToInt32(priceInfo.TariffRemark.Substring(0, 1)); var ticketInfo = new TicketInfo { MsgNumber = this.PhoneNumber, MsgText = priceCat + priceInfo.TariffZones, Price = this.PriceRepository.GetPrice(nrTariffRemark, priceCat) }; return ticketInfo; } return new TicketInfo(); }
public int Create(TicketInfo model) { Database db = DBHelper.CreateDataBase(); StringBuilder sb = new StringBuilder(); sb.Append("insert into Ticket("); sb.Append("TicketNo,UserId,StarDate,EndDate,CreateDate,CreateIP,Creator,TicketValue,TicketType,Status"); sb.Append(") values("); sb.Append("@TicketNo,@UserId,@StarDate,@EndDate,@CreateDate,@CreateIP,@Creator,@TicketValue,@TicketType,@Status);SELECT @@IDENTITY;"); DbCommand dbCommand = db.GetSqlStringCommand(sb.ToString()); db.AddInParameter(dbCommand, "@TicketNo", DbType.String, model.TicketNo); db.AddInParameter(dbCommand, "@UserId", DbType.Int32, model.UserId); db.AddInParameter(dbCommand, "@StarDate", DbType.DateTime, model.StarDate); db.AddInParameter(dbCommand, "@EndDate", DbType.DateTime, model.EndDate); db.AddInParameter(dbCommand, "@CreateDate", DbType.DateTime, model.CreateDate); db.AddInParameter(dbCommand, "@CreateIP", DbType.String, model.CreateIP); db.AddInParameter(dbCommand, "@Creator", DbType.Int32, model.Creator); db.AddInParameter(dbCommand, "@TicketValue", DbType.Int32, model.TicketValue); db.AddInParameter(dbCommand, "@TicketType", DbType.Int32, model.TicketType); db.AddInParameter(dbCommand, "@Status", DbType.Int32, model.Status); int id = Convert.ToInt32(db.ExecuteScalar(dbCommand)); return(id); }
/// <summary> /// Método para obtener el ticket /// </summary> /// <param name="ticket"></param> /// <returns></returns> internal int ObtenerTicket(TicketInfo ticket) { try { Logger.Info(); Dictionary <string, object> parameters = AuxSalidaIndividualDAL.ObtenerParametrosObtenerTicket(ticket); int result = Create("SalidaIndividualVenta_GenerarFolio", parameters); return(result); } catch (SqlException ex) { Logger.Error(ex); throw new ExcepcionServicio(MethodBase.GetCurrentMethod(), ex); } catch (DataException ex) { Logger.Error(ex); throw new ExcepcionServicio(MethodBase.GetCurrentMethod(), ex); } catch (Exception ex) { Logger.Error(ex); throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex); } }
private Task SetTicketAccountAsync(TicketInfo ticket, String account) { return(SetTicketCustomFieldsAsync(ticket, new ArrayOfString() { $"Account={account}" })); }
// GET: Tickets public async System.Threading.Tasks.Task <ActionResult> Tickets(int id) { List <TicketInfo> tickets = new List <TicketInfo>(); var ticketsResults = new List <GogoKit.Models.Response.Listing>(); TicketInfo t = new TicketInfo(); TicketSearch s = new TicketSearch(); if (id != 0) { ticketsResults = await s.SearchTicketsAsync(id); } StringBuilder seat = new StringBuilder(); foreach (GogoKit.Models.Response.Listing l in ticketsResults) { seat = new StringBuilder(); t = new TicketInfo(); GetSeatingDetails(seat, l); t.ID = l.Id.Value; t.TicketType = l.TicketType.Type; t.NumOfTickets = l.NumberOfTickets.Value; t.Seats = string.IsNullOrEmpty(seat.ToString()) ? "Seat details not available" : seat.ToString(); t.Price = l.EstimatedTicketPrice.Display; tickets.Add(t); } return(View(tickets)); }
private Task SetTicketAssetAsync(TicketInfo ticket, String asset) { return(SetTicketCustomFieldsAsync(ticket, new ArrayOfString() { $"Asset={asset}" })); }
protected async Task <List <TicketCommentInfo> > GetCommentsAsync(TicketInfo ticket) { var list = new List <TicketCommentInfo>(); var tcpl = await Service.GetTicketConversationPartListAsync(Config.AuthUserName, Config.AuthPassword, ticket.ID).ConfigureAwait(false); foreach (var part in tcpl.Body.GetTicketConversationPartListResult.Parts) { switch (part.Type) { case 1: // Message //var message = await svc.GetTicketMessagePlainTextAsync(Config.AuthUserName, Config.AuthPassword, part.PartId).ConfigureAwait(false); break; case 10: // Comment case 11: // Transfer Comment case 12: // Resolution Comment var comment = await Service.GetTicketNoteAsync(Config.AuthUserName, Config.AuthPassword, (Int32)part.PartId).ConfigureAwait(false); list.Add(comment.Body.GetTicketNoteResult.Comment); break; default: Logger.Debug("[{TicketNumber}] Don't know what part Type '{Type}' is.", ticket.TicketNumber, part.Type); break; } } return(list); }
public IHttpActionResult PutTicketInfo(int id, TicketInfo ticketInfo) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (id != ticketInfo.Ticketid) { return(BadRequest()); } db.Entry(ticketInfo).State = EntityState.Modified; try { db.SaveChanges(); } catch (DbUpdateConcurrencyException) { if (!TicketInfoExists(id)) { return(NotFound()); } else { throw; } } return(StatusCode(HttpStatusCode.NoContent)); }
/// <summary> /// Read the ticket info from a file. /// </summary> /// <param name="path">The input path</param> /// <returns>The ticket info</returns> public TicketInfo ReadTicketInfo(String path) { var input = System.IO.File.ReadLines(path); var ticketInfo = new TicketInfo() { Rules = new List <Rule>(), Tickets = new List <Ticket>() }; foreach (var line in input) { if (line == "" || line == "your ticket:" || line == "nearby tickets:") { continue; } if (char.IsDigit(line[0])) { var ticketValues = line.Split(',') .Select(str => int.Parse(str)); ticketInfo.Tickets.Add(ticketValues.ToList()); } else { ticketInfo.Rules.Add(ReadRule(line)); } } return(ticketInfo); }
public ActionResult Create(TicketInfo model) { bool issuc = false; model.CreateDate = DateTime.Now; model.CreateIP = this.GetIP; int id = ticketMgr.Create(model); if (id > 0) { issuc = true; } MsgInfo msgInfo = new MsgInfo(); if (issuc) { msgInfo.IsError = false; msgInfo.Msg = "操作成功!"; msgInfo.MsgNo = (int)ErrorEnum.成功; } else { msgInfo.IsError = true; msgInfo.Msg = "操作失败!"; msgInfo.MsgNo = (int)ErrorEnum.失败; } return(Content(JsonConvert.SerializeObject(msgInfo))); }
/// 打印一张纸票 private bool PrintATicket(string ticketID) { if (_TicketPrinter != null) { //生成纸票 TicketInfo ticket = new TicketInfo(); ticket.EventDateTime = DateTime.Now; ticket.Entrance = _entrance.EntranceName; ticket.CardID = ticketID; ticket.CompanyName = UserSetting.Current.CompanyName; ticket.Producter = "广州瑞立德"; ticket.Reguard = "出场凭证,请勿折损!"; //打印纸票 if (_TicketPrinter.PrintTicketOfTyko(ticket)) { return(true); } else { if (AppSettings.CurrentSetting.Debug) { FileLog.Log(_entrance.EntranceName, "纸票打印失败"); } } } return(false); }
/// <summary> /// 改 /// </summary> /// <param name="model"></param> /// <returns></returns> public JsonRsp Update(TicketInfo model) { int returnvalue = EntityQuery <TicketInfo> .Instance.Update(model); return(new JsonRsp { success = returnvalue > 0, code = returnvalue }); }
private String GenerateNoteTextHtml(TicketInfo ticket, String ticketUrl) { var sb = new StringBuilder(); sb.AppendLine($"<p>Referenced by [<a href=\"{ticketUrl}\">{ticket.TicketNumber}</a>] {ticket.Subject}</p>"); sb.AppendLine($"<p>#SOC2 {DateTimeOffset.Now}</p>"); return(sb.ToString()); }
BLLBase context = new BLLBase();//自动创建表 /// <summary> /// 增 /// </summary> /// <param name="model"></param> /// <returns></returns> public JsonRsp Add(TicketBatchModel model) { //新增加的都是新数据 model.IsOld = false; model.DataFrom = (int)DataFromEnum.手动创建; model.TicketBatchNo = "P" + DateTime.Now.ToString("yyyyMMddHHmmss"); int returnvalue = Add <TicketBatchModel>(model); List <TicketInfo> ticketList = new List <TicketInfo>(); long tickIndex = 0; for (int i = 0; i < model.Count; i++) { //salt string salt = Guid.NewGuid().ToString(); string pwd = new RandomHelper().GetRandomInt(100000, 999999).ToString(); string MD5PWD = EncryptHelper.MD5Encoding(pwd, salt); string signStr = "0" + salt; string balanceKey = EncryptHelper.MD5Encoding(signStr, salt); tickIndex += 1; TicketInfo ticket = new TicketInfo { TicketCode = model.TicketPrefix + model.TicketTypeId.ToString() + tickIndex.ToString("00000000"), TicketPwd = pwd, TicketMD5Pwd = MD5PWD, Salt = salt, TicketTypeId = model.TicketTypeId, Consumptionlevel = (int)ConsumptionlevelEnum.初始化, MoneyTyp = (int)MoneyTypeEnum.初始化, CustomId = 0, InitialAmount = 0, TotalAmount = 0, Deductions = 0, Balance = 0, BalanceKey = balanceKey, Status = (int)CredentialEnum.未交付, IsExpire = false, IsActivated = false, //MakeTime=null, //ExpireDate=null, TicketBatchNo = model.TicketBatchNo, DataFrom = (int)DataFromEnum.手动创建, IsOld = false, //GrantId = 0, //GrantTime=null, Sort = i, }; returnvalue = Add <TicketInfo>(ticket); } //returnvalue=context.AddList<TicketInfo>(ticketList); return(new JsonRsp { success = returnvalue > 0, code = returnvalue }); }
protected async Task DeleteTicketAsync(TicketInfo ticket, String comment) { if (!String.IsNullOrWhiteSpace(comment)) { await Service.AddTicketNoteHtmlWithDateAsync(Config.AuthUserName, Config.AuthPassword, ticket.TicketNumber, "general", comment, DateTime.UtcNow); } Logger.Verbose("{Job} Deleted Ticket [{TicketNumber}]", GetType().Name, ticket.TicketNumber); await Service.DeleteTicketAsync(Config.AuthUserName, Config.AuthPassword, ticket.ID); }
public BookingDetails GetBookingByConfirmationNo(long hostId, string confirmationNo) { using (var context = new AnnoDBContext()) { BookingDetails result = null; //TODO: Change to Linq query string sql = @"SELECT b.confirmation_number, e.title as event_title, t.title as tier_title, e.ref_id as event_ref, t.ref_id as tier_ref, u.ref_id as customer_ref, tic.ticket_id, tic.ticket_number, tic.status as ticket_status, tic.paid_price, tic.address as ticket_address FROM customer_booking b INNER JOIN customer_ticket tic ON (tic.customer_id = b.customer_id AND tic.event_id = b.event_id) INNER JOIN events e ON (e.event_id = b.event_id) INNER JOIN events_tier t ON (t.tier_id = tic.tier_id) INNER JOIN customer u ON (u.customer_id = tic.customer_id) WHERE b.record_status='Live' AND tic.record_status='Live' AND e.record_status='Live' AND t.record_status='Live' AND e.host_id=@hostId AND b.confirmation_number=@confirmationNo"; sql = sql .Replace("@hostId ", DataUtility.ToMySqlParam(hostId)) .Replace("@confirmationNo", DataUtility.ToMySqlParam(confirmationNo)); DataTable dt = context.DataTable(sql); if (DataUtility.HasRecord(dt)) { DataRow firstRow = dt.Rows[0]; result = new BookingDetails(); result.UserReferenceId = ConvertUtility.ToString(firstRow["customer_ref"]); result.EventReferenceId = ConvertUtility.ToString(firstRow["event_ref"]); result.ConfirmationNumber = ConvertUtility.ToString(firstRow["confirmation_number"]); result.Tickets = new List <TicketInfo>(); foreach (DataRow row in dt.Rows) { TicketInfo ticket = new TicketInfo(); ticket.TicketId = ConvertUtility.ToInt64(row["ticket_id"]); ticket.CustomerReferenceId = ConvertUtility.ToString(row["customer_ref"]); ticket.EventReferenceId = ConvertUtility.ToString(row["event_ref"]); ticket.TierReferenceId = ConvertUtility.ToString(row["tier_ref"]); ticket.TicketNo = ConvertUtility.ToString(row["ticket_number"]); ticket.Status = ConvertUtility.ToString(row["ticket_status"]); ticket.PaidPrice = ConvertUtility.ToInt64(row["paid_price"]); ticket.TicketAddress = ConvertUtility.ToString(row["ticket_address"]); ticket.EventTitle = ConvertUtility.ToString(row["event_title"]); ticket.TierTitle = ConvertUtility.ToString(row["tier_title"]); ticket.BookingConfirmationNo = ConvertUtility.ToString(row["confirmation_number"]); result.Tickets.Add(ticket); } } return(result); } }
public TrainResults InsertInfo(TicketInfo info) { GetTitle(info.Title); FirstName.SendKeys(info.FirstName); LastName.SendKeys(info.LastName); Continue.Click(); return(this); }
private async Task <string> GenerateToken(ClaimsIdentity identity) { var ticket = new TicketInfo(identity); if (SessionStore != null) { return(await SessionStore.StoreAsync(ticket)); } return(TicketInfoProtector.Protect(ticket)); }
private String GenerateNoteText(TicketInfo ticket, String ticketUrl) { var sb = new StringBuilder(); sb.AppendLine($"Referenced by [{ticket.TicketNumber}] {ticket.Subject}"); sb.AppendLine($"{ticketUrl}"); sb.AppendLine(); sb.AppendLine($"#SOC2 {DateTimeOffset.Now}"); return(sb.ToString()); }
/// <summary> /// save /// </summary> /// <param name="model"></param> /// <returns></returns> public JsonRsp Save(TicketInfo model) { if (model.ID == 0) { return(Add(model)); } else { return(Update(model)); } }
public IHttpActionResult GetTicketInfo(int id) { TicketInfo ticketInfo = db.TicketInfoes.Find(id); if (ticketInfo == null) { return(NotFound()); } return(Ok(ticketInfo)); }
private TicketInfo CreateTicket(User entity) { TicketInfo ticket = null; ticket = new TicketInfo(); if (entity.Student != null) { ticket.ClassName = entity.Student.Class.ClassName; } ticket.LoginTime = DateTime.Now; ticket.UserInfo = entity; return ticket; }
public TicketInfo getInfoTicket(parans_TicketInfo parans) { var ticket = new TicketInfo(); var promController = new promocaoController(); var promParans = new promocaoController.parans_InfoPromocao(); promParans.promocaoId = parans.promocaoId; ticket.promocao = promController.getInfoPromocao(promParans); var ticketRow = db.promocaorequerida.Where(p => p.promocao_proreq == parans.promocaoId && p.userCloudId_proreq == parans.clienteId).FirstOrDefault(); if (ticketRow != null) { ticket.ativo = ticketRow.ativa_proreq; ticket.dataAquisicao = ticketRow.datacad_proreq; ticket.id = ticketRow.codigo_proreq; ticket.validade = ticketRow.validade_proreq; ticket.voucher = ticketRow.codVoucher_proreq; ticket.promocao = promController.getInfoPromocao(promParans); } return ticket; }
/// <summary> /// Assigns the ticket details. /// </summary> /// <param name="retrieveTicket">The retrieve ticket.</param> /// <returns> /// ticket details entity /// </returns> public TicketPresenter AssignTicketDetail(TicketInfo retrieveTicket) { this.ticketDetail = retrieveTicket; return this; }
public TicketInfo GetTicketInfo() { try { TicketInfo ti = null; HttpClient client = new HttpClient(Cookies); if (StaticValues.Proxy != "") { client.Proxy = new WebProxy(StaticValues.Proxy); } string url = "https://kyfw.12306.cn/otn/confirmPassenger/initDc"; string result = client.Get(url, "kyfw.12306.cn", "https://kyfw.12306.cn", "https://kyfw.12306.cn/otn/leftTicket/init"); var pTicketInfo = HtmlHelper.GetContent(result, "'leftDetails':\\[", "],"); pTicketInfo = Regex.Unescape(pTicketInfo).Replace("'", ""); string[] list = pTicketInfo.Split(",".ToCharArray(), StringSplitOptions.RemoveEmptyEntries); if (list.Length > 0) { ti = new TicketInfo(); List<TickePriceInfo> tpiList = new List<TickePriceInfo>(); for (int i = 0; i < list.Length; i++) { string trainTicketInfoStr = list[i]; trainTicketInfoStr = trainTicketInfoStr.Replace("(", "#").Replace(")", "#"); string[] priceArray = trainTicketInfoStr.Split("#".ToCharArray(), StringSplitOptions.RemoveEmptyEntries); TickePriceInfo tpi = new TickePriceInfo(); tpi.SeatType = priceArray[0]; tpi.Price = priceArray[1]; tpi.TicektCnt = priceArray[2]; tpiList.Add(tpi); } ti.TicketList = tpiList; ti.Token = HtmlHelper.GetContent(result, "globalRepeatSubmitToken", ";").Replace("=", "").Replace("'", "").Trim(); string leftTicket = HtmlHelper.GetContent(result, "'queryLeftTicketRequestDTO':", "}"); leftTicket = leftTicket + "}"; QueryLeftTicketRequestDTO leftTicketRequst = JsonHelper.FromJson<QueryLeftTicketRequestDTO>(leftTicket); //日期转换 string trainDate = leftTicketRequst.train_date; leftTicketRequst.train_date = trainDate.Substring(0, 4) + "-" + trainDate.Substring(4, 2) + "-" + trainDate.Substring(6); var key_check_isChange = HtmlHelper.GetContent(result, "'key_check_isChange':", ",").Replace("'", ""); var _temp = HtmlHelper.GetContent(result, "'queryLeftTicketRequestDTO':", "};"); _temp = _temp + "};"; var train_location = HtmlHelper.GetContent(_temp, "'train_location':", "};").Replace("'", ""); ti.CheckKey = key_check_isChange; ti.TrainLocation = train_location; ti.LeftTicketInfo = leftTicketRequst; } return ti; } catch { return null; } }
public bool ConfirmSingleForQueue(TicketInfo ti,string vc,List<PassengerInfo> list,ref string msg) { try { msg = string.Empty; HttpClient client = new HttpClient(Cookies); if (StaticValues.Proxy != "") { client.Proxy = new WebProxy(StaticValues.Proxy); } string passengerTicketStr = ""; string oldpassengerTicketStr = ""; foreach (PassengerInfo pi in list) { var ap = pi.SeatType + ",0," + pi.TicketType + "," + pi.Passenger.passenger_name + "," + pi.Passenger.passenger_id_type_code + "," + pi.Passenger.passenger_id_no + "," + (pi.Passenger.phone_no == null ? "" : pi.Passenger.phone_no) + "," + "N"; passengerTicketStr += ap + "_"; var ao = pi.Passenger.passenger_name + "," + pi.Passenger.passenger_id_type_code + "," + pi.Passenger.passenger_id_no + "," + pi.Passenger.passenger_type; oldpassengerTicketStr += ao + "_"; } string token = ti.Token; string checkKey = ti.CheckKey; string leftTicket = ti.LeftTicketInfo.ypInfoDetail; passengerTicketStr = HttpUtility.UrlEncode(passengerTicketStr); oldpassengerTicketStr = HttpUtility.UrlEncode(oldpassengerTicketStr); string trainLocation = ti.TrainLocation; string purpose_codes = "00"; string data = "passengerTicketStr={0}&oldPassengerStr={1}&randCode={2}&purpose_codes={3}&key_check_isChange={4}&leftTicketStr={5}&train_location={6}&_json_att=&REPEAT_SUBMIT_TOKEN={7}"; data = string.Format(data, passengerTicketStr, oldpassengerTicketStr, vc, purpose_codes, checkKey, leftTicket, trainLocation, token); string url = "https://kyfw.12306.cn/otn/confirmPassenger/confirmSingleForQueue"; string result = client.Post(url, data, "kyfw.12306.cn", "https://kyfw.12306.cn", "https://kyfw.12306.cn/otn/confirmPassenger/initDc"); bool flag = result.Contains("submitStatus:true"); if (!flag) { msg = HtmlHelper.GetContent(result, "errMsg:", ","); } return flag; } catch { return false; } }
public CountInfo GetQueueCount(TicketInfo ti,string seatType) { try { HttpClient client = new HttpClient(Cookies); if (StaticValues.Proxy != "") { client.Proxy = new WebProxy(StaticValues.Proxy); } string trainDate = ti.LeftTicketInfo.train_date + " 00:00:00"; ; trainDate = Convert.ToDateTime(trainDate).ToString("ddd MMM dd yyyy HH:mm:ss 'GMT'zzz ", System.Globalization.CultureInfo.GetCultureInfo("en-US")); trainDate = trainDate.Replace("08:00", "0800") + "(中国标准时间)"; string trainNo = ti.LeftTicketInfo.train_no; string trainCode = ti.LeftTicketInfo.station_train_code; string leftTicket = ti.LeftTicketInfo.ypInfoDetail; string fromStationTelecode = ti.LeftTicketInfo.from_station; string toStationTelecode = ti.LeftTicketInfo.to_station; string purpose_codes = "00"; string token = ti.Token; string data = "train_date={0}&train_no={1}&stationTrainCode={2}&seatType={3}&fromStationTelecode={4}&toStationTelecode={5}&leftTicket={6}&purpose_codes={7}&_json_att=&REPEAT_SUBMIT_TOKEN={8}"; object[] objs = new object[] { HttpUtility.UrlEncode(trainDate), trainNo, trainCode, seatType, fromStationTelecode, toStationTelecode, leftTicket, purpose_codes, token }; data = string.Format(data, objs); string url = "https://kyfw.12306.cn/otn/confirmPassenger/getQueueCount"; string result = client.Post(url, data, "kyfw.12306.cn", "https://kyfw.12306.cn", "https://kyfw.12306.cn/otn/confirmPassenger/initDc"); result = result.Replace("\"", ""); string count = HtmlHelper.GetContent(result, "count:", ","); string ticket = HtmlHelper.GetContent(result, "ticket:", ","); string op_2 = HtmlHelper.GetContent(result, "op_2:", ","); string countT = HtmlHelper.GetContent(result, "countT:", ","); string op_1 = HtmlHelper.GetContent(result, "op_1:", "}"); string ticketCnt = JsFuncitonHelper.GetCnt(ticket, seatType); CountInfo ci = new CountInfo(); ci.count = count; ci.countT = countT; ci.op_1 = op_1; ci.op_2 = op_2; ci.ticket = ticket; ci.ticketCnt = ticketCnt; return ci; } catch { return null; } }
public StatusRequisicao pegaTicket(parans_TicketInfo parans) { var resposta = new StatusRequisicao(); resposta.sucesso = false; var prom = db.promocao.Where(pro => pro.codigo_pro == parans.promocaoId ).FirstOrDefault(); var proControl = new promocaoController(); if ((proControl.getQuantidadeTicketsPromocao(prom.codigo_pro) > prom.totalTickets_pro) && prom.limitada_pro == true) { resposta.sucesso = false; resposta.mensagem = "Desculpe, outra pessoa pegou o ticket primeiro."; return resposta; } using (var dbTrans = db.Database.BeginTransaction()) { try{ promocaorequerida myTicket = db.promocaorequerida.Create(); DateTime dtCadastro = DateTime.Now; myTicket.datacad_proreq = dtCadastro; myTicket.promocao_proreq = parans.promocaoId; myTicket.userCloudId_proreq = parans.clienteId; myTicket.codVoucher_proreq = ""; //Por isso Vale24h ^_^ myTicket.validade_proreq = prom.limitada_pro ? dtCadastro.AddHours(24) : prom.fim_pro; db.promocaorequerida.Add(myTicket); db.SaveChanges(); DateTime aux = myTicket.validade_proreq; myTicket.codVoucher_proreq = myTicket.validade_proreq.ToString("yyyyMMddHHmmss") + '.' + myTicket.promocao_proreq + '.' + myTicket.codigo_proreq; db.SaveChanges(); dbTrans.Commit(); resposta.sucesso = true; TicketInfo retInfo = new TicketInfo(); retInfo.ativo = myTicket.ativa_proreq; retInfo.dataAquisicao = myTicket.datacad_proreq; retInfo.id = myTicket.codigo_proreq; retInfo.validade = myTicket.validade_proreq; retInfo.voucher = myTicket.codVoucher_proreq; resposta.dados = retInfo; } catch (Exception e) { dbTrans.Rollback(); resposta.sucesso = false; resposta.mensagem = e.Message; } } return resposta; }
/// <summary> /// Assigns the ticket comment detail. /// </summary> /// <param name="retrieveTicket">The retrieve ticket.</param> /// <returns>return comment</returns> public TeamDashboardPresenter AssignTicketCommentDetail(TicketInfo retrieveTicket) { this.ticketDetail = retrieveTicket; return this; }
/// <summary> /// Retrieves the ticket details. /// </summary> /// <param name="ticketId">The ticket identifier.</param> /// <param name="userId">The user identifier.</param> /// <returns>Tickets info.</returns> public TicketInfo RetrieveTicketDetails(string ticketId, string userId) { var ticketInfo = new TicketInfo(); var ticketIds = new StringCollection(); var commentIds = new StringCollection(); var fileAddress = ApplicationSettings.Instance.AttachmentAddress; ticketIds.Add(ticketId); var comments = this.ticketRepository.RetrieveTicketComments(SerializeExtensions.XmlSerializerMethod(ticketIds), userId); comments.ForEach(a => { ticketInfo.Comments.Add(a); commentIds.Add(a.CommentID.ToString(CultureInfo.CurrentCulture)); }); var commentAttachments = this.ticketRepository.RetrieveTicketCommentAttachments(SerializeExtensions.XmlSerializerMethod(commentIds), userId); var commentTags = this.ticketRepository.RetrieveTicketCommentTags(SerializeExtensions.XmlSerializerMethod(commentIds), userId); comments.ForEach(comment => { var attachemnts = commentAttachments.Where(a => a.CommentID.Value == comment.CommentID).ToList(); attachemnts.ForEach(p => { p.FileAddress = fileAddress + p.FileName; comment.FileAttachments.Add(p); }); var tags = commentTags.Where(a => a.CommentID == comment.CommentID).ToList(); tags.ForEach(p => comment.Tags.Add(p)); }); commentTags.ForEach(a => ticketInfo.TicketCommentTag.Add(a)); var projects = this.ticketRepository.RetrieveTicketProjects(userId, SerializeExtensions.XmlSerializerMethod(ticketIds)); projects.ForEach(a => ticketInfo.Projects.Add(a)); var assignees = this.ticketRepository.RetrieveTicketAssignees(userId, SerializeExtensions.XmlSerializerMethod(ticketIds)); assignees.ForEach(a => ticketInfo.Developers.Add(a)); var clients = this.ticketRepository.RetrieveTicketClients(userId, SerializeExtensions.XmlSerializerMethod(ticketIds)); clients.ForEach(a => ticketInfo.Clients.Add(a)); this.MapTicketAdditionalInfo(ticketId, userId, ticketInfo); return ticketInfo; }
/// <summary> /// Maps the ticket additional information. /// </summary> /// <param name="ticketId">The ticket identifier.</param> /// <param name="userId">The user identifier.</param> /// <param name="ticketInfo">The ticket information.</param> private void MapTicketAdditionalInfo(string ticketId, string userId, TicketInfo ticketInfo) { var ticketdetail = this.ticketRepository.RetrieveTicketDetail(userId, ticketId); if (ticketdetail != null) { ticketInfo.AssigneeName = ticketdetail.DeveloperName; ticketInfo.DueDate = ticketdetail.DueDate; ticketInfo.Priority = ticketdetail.Priority; ticketInfo.StatusId = ticketdetail.StatusID; ticketInfo.Title = ticketdetail.Title; ticketInfo.TicketId = ticketdetail.TicketID; ticketInfo.AcknowledgeFlag = ticketdetail.AcknowledgeFlag.HasValue ? ticketdetail.AcknowledgeFlag.Value : false; ticketInfo.ByMeFlag = ticketdetail.ByMeFlag.HasValue ? ticketdetail.ByMeFlag.Value : false; ticketInfo.ForMeTicketFlag = ticketdetail.ForMeTicketFlag.HasValue ? ticketdetail.ForMeTicketFlag.Value : false; ticketInfo.PriorityName = ticketdetail.PriorityName; ticketInfo.AddedByDeveloperId = ticketdetail.AddedByDeveloperID; ticketInfo.AddedDate = ticketdetail.AddedDate; ticketInfo.LastModifiedDate = ticketdetail.LastModifiedDate; ticketInfo.TicketTags = ticketdetail.TagIDs; } }
public static CountInfo GetQueueCount(TicketInfo ti, string seatType) { TicketService service = new TicketService(StaticValues.MyCookies); return service.GetQueueCount(ti, seatType); }
public static bool ConfirmSingleForQueue(TicketInfo ti, string vc, List<PassengerInfo> list, ref string msg) { TicketService service = new TicketService(StaticValues.MyCookies); return service.ConfirmSingleForQueue(ti, vc,list,ref msg); }