Exemple #1
0
        private void FillData(WebBrowser browser)
        {
            try
            {
                HtmlWindowCollection coll = browser.Document.Window.Frames;
                foreach (HtmlWindow win in coll)
                {
                    HtmlDocument doc     = win.Document;
                    HtmlElement  element = doc.GetElementById("tSendContactName");
                    if (element != null)
                    {
                        System.Web.Caching.Cache cache = System.Web.HttpRuntime.Cache;
                        object      obj         = cache.Get("TicketOrderInfo");
                        TicketOrder ticketOrder = null;
                        if (obj == null)
                        {
                            ticketOrder = new TicketOrder();
                            ticketOrder.LoadTicketOrder(txtOrderId.Text.Trim());
                        }
                        else
                        {
                            ticketOrder = obj as TicketOrder;
                        }

                        ChangeData(doc, ticketOrder);
                        ChangeTicket(doc, ticketOrder);
                    }
                }
            }
            catch { }
        }
Exemple #2
0
        public async Task CancelTickets(TicketOrder order)
        {
            var error   = "";
            var handler = HandlersFactory.GetProfilerHandler(SettingService, LoggerService);

            handler.Start(LOG_TAG, "CancelTickets", GetActorProperties());

            try
            {
                var state = await this.StateManager.GetStateAsync <EventActorState>(ActorStatePropertyName);

                state.CancelledTickets += order.Tickets;
                state.Orders.Add(order);
                await SetEntityStateAsync(state);
            }
            catch (Exception ex)
            {
                error = ex.Message;
            }
            finally
            {
                handler.Stop(error);
                if (!string.IsNullOrEmpty(error))
                {
                    this.HealthReporterService.SendReportForService(HealthState.Error, GetHealthErrorMessage("CancelTickets", error));
                }
            }
        }
    public void newOrder()
    {
        for (int i = 0; i < NUM_TICKETS; i++)
        {
            if (tickets[i] != null)
            {
                continue;
            }
            GameObject instTicket = Instantiate(ticket);
            instTicket.transform.parent        = transform;
            instTicket.transform.localPosition = positions[i];
            instTicket.transform.localRotation = Quaternion.identity;

            TicketOrder order    = null;
            int         randFood = Random.Range(0, FOOD_TYPES);

            switch (randFood)
            {
            case 0:
                order = new TicketOrder(instTicket, new Burger(diffModifier), ++tixSoFar, myGame.getTime());
                break;
            }

            tickets[i] = order;
            break;
        }
    }
        private async Task SetEntityStateAsync(TicketOrder state)
        {
            await this.StateManager.SetStateAsync <TicketOrder>(ActorStatePropertyName, state);

            // Just to make sure though it is probably not needed
            await this.SaveStateAsync();
        }
Exemple #5
0
        public static TicketOrder GetTicketOrder(int orderId)
        {
            TicketOrder ticket    = new TicketOrder();
            bool        isSuccess = ticket.LoadTicketOrder(orderId.ToString());

            return(ticket);
        }
        public int MakeNewOrder(OrderViewModel orderVm)
        {
            var order   = new Order();
            var tickets = new List <TicketOrder>();

            foreach (var ticketVm in orderVm.Tickets)
            {
                var ticketOrder = new TicketOrder()
                {
                    Ticket = GetTicketFromList(ticketVm.Name, ticketVm.Category),
                    Order  = order
                };
                ticketOrder.TicketId = ticketOrder.Ticket.Id;
                tickets.Add(ticketOrder);
            }

            var user = new User
            {
                Address   = orderVm.Address,
                FirstName = orderVm.FirstName,
                LastName  = orderVm.LastName,
                Phone     = orderVm.Phone
            };

            order.TicketsOrders = tickets;
            order.User          = user;
            return(_orderRepository.Insert(order));
        }
Exemple #7
0
        public IActionResult Index(CarriageViewModel model)
        {
            model.Carriage = JsonConvert.DeserializeObject <Carriage>(model.CarriageSerialized);

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

            foreach (var ticketVM in model.Tickets.Where(ticket => ticket.IsActive))
            {
                ITicketBuilder builder = new TicketBuilder(ticketVM, model.Carriage, model.Email);
                ConstructTicket(builder);
                tickets.Add(builder.Ticket);
            }
            TicketOrder order = new TicketOrder(_orderCacheService, _ticketData)
            {
                Tickets      = tickets,
                Email        = model.Email,
                CreationDate = DateTime.Now,
                MobilePhone  = model.MobilePhone
            };

            order.SetHashCode();
            order.Book();

            return(View(new ConfirmationViewModel {
                Order = order,
                Train = model.Carriage.Train,
                Carriage = model.Carriage
            }));
        }
        public async Task Externalize(TicketOrder order)
        {
            var error   = "";
            var handler = HandlersFactory.GetProfilerHandler(_settingService, _loggerService);

            handler.Start(LOG_TAG, "Externalize", null);

            try
            {
                // Enqueue the event to a queue so it can be processed by an Azure function or whatever
                if (_externalizationQueue != null)
                {
                    var queueMessage = new CloudQueueMessage(JsonConvert.SerializeObject(order));
                    await _externalizationQueue.AddMessageAsync(queueMessage);
                }
            }
            catch (Exception ex)
            {
                error = ex.Message;
                throw new Exception(error);
            }
            finally
            {
                handler.Stop(error);
            }
        }
        /// <summary>
        /// IssueTicket issues a ticket for Storebæltsbroen.
        /// Permitted vehicle types for the TicketOrder are: "car", "motorcycle".
        /// </summary>
        public Ticket IssueTicket(TicketOrder o)
        {
            if (o == null)
            {
                throw new ArgumentNullException(nameof(o));
            }

            // Get base price
            // Throws key error on unknown vehicle type
            var price = _vehicleTypeToTicketPrice[o.VehicleType];

            // Apply 20 % weekend discount for cars
            var day = o.Timestamp.DayOfWeek;

            if (o.VehicleType == "car" && (day == DayOfWeek.Saturday || day == DayOfWeek.Sunday))
            {
                price *= 0.8M;
            }

            // Apply 5 % BroBizz discount
            if (o.BroBizz)
            {
                price *= 0.95M;
            }

            // Issue ticket
            return(new Ticket(o, price));
        }
Exemple #10
0
        public async Task <bool> ReserveTickets(TicketOrder order)
        {
            var error   = "";
            var handler = HandlersFactory.GetProfilerHandler(SettingService, LoggerService);

            handler.Start(LOG_TAG, "ReserveTickets", GetActorProperties());
            bool isAvailable = false;

            try
            {
                var state = await this.StateManager.GetStateAsync <EventActorState>(ActorStatePropertyName);

                if ((state.Tickets - state.RequestedTickets + state.FailedTickets + state.CancelledTickets) >= order.Tickets)
                {
                    isAvailable             = true;
                    state.RequestedTickets += order.Tickets;
                    state.Orders.Add(order);
                    await SetEntityStateAsync(state);
                }
            }
            catch (Exception ex)
            {
                error = ex.Message;
            }
            finally
            {
                handler.Stop(error);
                if (!string.IsNullOrEmpty(error))
                {
                    this.HealthReporterService.SendReportForService(HealthState.Error, GetHealthErrorMessage("ReserveTickets", error));
                }
            }

            return(isAvailable);
        }
Exemple #11
0
        private void LoadCustomer(WebBrowser webBrowser1)
        {
            try
            {
                HtmlWindowCollection coll = webBrowser1.Document.Window.Frames;
                foreach (HtmlWindow win in coll)
                {
                    HtmlElement ele = win.Document.GetElementById("tMemCardID");
                    if (ele != null)
                    {
                        TicketOrder ticketOrder = new TicketOrder();
                        if (ticketOrder.LoadTicketOrder(txtOrderId.Text.Trim()))
                        {
                            win.Document.GetElementById("tPNR").SetAttribute("value", ticketOrder.PNR);

                            System.Web.Caching.Cache cache = System.Web.HttpRuntime.Cache;
                            cache.Add("TicketOrderInfo", ticketOrder, null, DateTime.MaxValue, new TimeSpan(0, 5, 0), System.Web.Caching.CacheItemPriority.Normal, null);
                        }

                        ele.SetAttribute("value", ticketOrder.CardNum);
                        win.Document.GetElementById("tMemName").SetAttribute("value", ticketOrder.MemberName);

                        ele = win.Document.GetElementById("bMemInfo");
                        ele.InvokeMember("Click");
                        fillData = BLL.FillData.填写PNR;
                        break;
                    }
                }
            }
            catch { }
        }
Exemple #12
0
        public async Task <IHttpActionResult> PostOrder([FromBody] TicketOrder order)
        {
            var error   = "";
            var handler = HandlersFactory.GetProfilerHandler(TheSettingService, TheLoggerService);

            handler.Start(LOG_TAG, "PostOrder", GetServiceProperties());

            try
            {
                TicketOrder.Validate(order);

                ServiceLocationService locator          = new ServiceLocationService();
                UriBuilderService      builder          = new UriBuilderService(Constants.ContosoEventsApplicationInstance, Constants.ContosoEventsTicketOrderServiceName);
                ITicketOrderService    dispenderService = locator.Create <ITicketOrderService>(builder.ToUri());
                return(Ok(await dispenderService.EnqueueOrder(order)));
            }
            catch (Exception ex)
            {
                error = ex.Message;
                return(BadRequest(ex.Message));
            }
            finally
            {
                handler.Stop(error);
            }
        }
        public async Task <string> Authorize(TicketOrder order)
        {
            var error   = "";
            var handler = HandlersFactory.GetProfilerHandler(_settingService, _loggerService);

            handler.Start(LOG_TAG, "Authorize", null);
            var confirmation = "";

            try
            {
                if (order == null)
                {
                    throw new Exception("No Order");
                }

                // Charge against a payment processor
                confirmation = GenerateRandomNumber(12);
            }
            catch (Exception ex)
            {
                error = ex.Message;
                throw new Exception(error);
            }
            finally
            {
                handler.Stop(error);
            }

            return(confirmation);
        }
        public async Task <bool> Refund(TicketOrder order)
        {
            var error   = "";
            var handler = HandlersFactory.GetProfilerHandler(_settingService, _loggerService);

            handler.Start(LOG_TAG, "Refund", null);
            var isSuccess = false;

            try
            {
                if (order == null)
                {
                    throw new Exception("No Order");
                }

                // Refund against a payment processor
                isSuccess = true;
            }
            catch (Exception ex)
            {
                error = ex.Message;
                throw new Exception(error);
            }
            finally
            {
                handler.Stop(error);
            }

            return(isSuccess);
        }
Exemple #15
0
        /// <summary>
        /// Cancels given TicketOrder in separate transaction
        /// </summary>
        /// <param name="ticketOrder"></param>
        /// <param name="context"></param>
        public static void CancelOrder(TicketOrder ticketOrder, ApplicationDbContext context)
        {
            string projectName = "";

            using (DbContextTransaction transaction = context.Database.BeginTransaction())
            {
                context.Entry(ticketOrder).Collection(to => to.TicketCategoryOrders).Load();

                foreach (TicketCategoryOrder ticketCategoryOrder in ticketOrder.TicketCategoryOrders)
                {
                    TicketCategory ticketCategory = context.TicketCategories.Single(tc => tc.TicketCategoryID == ticketCategoryOrder.TicketCategoryID);


                    if (projectName != "")
                    {
                        context.Entry(ticketCategory).Reference(tc => tc.Project).Load();
                        projectName = ticketCategory.Project.Name;
                    }

                    bool success = false;
                    for (int i = 0; i < 15; i++)
                    {
                        ticketCategory.Ordered -= ticketCategoryOrder.Count;
                        try
                        {
                            context.SaveChanges();
                            success = true;
                            break;
                        }
                        catch (DbUpdateConcurrencyException ex)
                        {
                            ex.Entries.Single().Reload();
                            ticketCategory = (TicketCategory)ex.Entries.Single().Entity;
                            continue;
                        }
                    }

                    if (success)
                    {
                        ticketCategoryOrder.Canceled = true;
                    }
                    else
                    {
                        transaction.Rollback();
                        return;
                    }
                }

                ticketOrder.Canceled = true;
                context.SaveChanges();
                transaction.Commit();
            }

            SendCanceledEmail(ticketOrder, projectName);

            return;
        }
 public TicketOrderViewModel()
 {
     ticketOrder = new TicketOrder();
     showing     = new Showing();
     creditCard  = new CreditCard();
     systemInfo  = new SystemInfo();
     showings    = new List <Showing>();
     theater     = new Theater();
 }
        internal TicketOrder GetLastTicket()
        {
            TicketOrder ticketOrder = new TicketOrder();

            ticketOrder.Competiotion   = TicketOrderCells[0].Text;
            ticketOrder.Product        = TicketOrderCells[1].Text;
            ticketOrder.NumberOfTicket = TicketOrderCells[2].Text;
            ticketOrder.DrawDate       = TicketOrderCells[3].Text;
            return(ticketOrder);
        }
        public async Task <ActionResult> Create()
        {
            var order = new TicketOrder {
                TicketId = Guid.NewGuid(), OrderId = Guid.NewGuid()
            };

            await _publishEndpoint.Publish <TicketOrder>(order);

            return(Ok(order));
        }
Exemple #19
0
        public IActionResult Success([FromQuery] string hash)
        {
            TicketOrder order = _orderCacheService.Get(hash);

            if (order == null)
            {
                return(RedirectToAction("Index", "Search"));
            }
            return(View(order));
        }
Exemple #20
0
        public ActionResult Cancel(int id)
        {
            var         userId = (Session["CurrentUser"] as User).UserID;
            TicketOrder item   = db.TicketOrders.FirstOrDefault(tc => tc.OrderNumber == id && tc.UserID == userId);

            item.Status = "Cancelled";

            db.Entry(item).State = EntityState.Modified;
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
Exemple #21
0
        public void ThenLastTicketShouldNotBeWithProductAndCompetitionTypeAsExpected()
        {
            TicketOrder expected = new TicketOrder();

            expected.Competiotion   = (string)_scenarioContext["competition"];
            expected.Product        = (string)_scenarioContext["product"];
            expected.NumberOfTicket = (string)_scenarioContext["number"];
            TicketOrder actualTicket = usersP.GetLastTicket();

            Assert.AreNotEqual(expected, actualTicket);
        }
        private async Task SetEntityStateAsync(TicketOrder state)
        {
            // TODO: Task 1.5 - update the actor state with the new state by setting to the new state
            //await this.StateManager./*...complete this...*/<TicketOrder>(ActorStatePropertyName, state);

            // Just to make sure though it is probably not needed
            await this.SaveStateAsync();

            // Externalize the state
            await this.ExternalizationService.Externalize(state);
        }
Exemple #23
0
        //[HttpPost]
        //[Authorize]
        public IActionResult MarkPaid(int orderID)
        {
            TicketOrder order = repository.Orders.FirstOrDefault(o => o.TicketOrderID == orderID);

            if (order != null)
            {
                order.Paid = true;
                repository.SaveOrder(order);
                Utility.Sms.SendSms.SendNotice("3063716", new string[] { $"{order.Phone}" }, new string[] { "7点15" });
            }
            return(RedirectToAction(nameof(List)));
        }
        /// <summary>
        /// This is the main entry point for your service replica.
        /// This method executes when this replica of your service becomes primary and has write status.
        /// </summary>
        /// <param name="cancellationToken">Canceled when Service Fabric needs to shut down this service replica.</param>
        protected override async Task RunAsync(CancellationToken cancellationToken)
        {
            // Gets (or creates) a replicated queue called "OrderQueue" in this partition.
            var requests = await this.StateManager.GetOrAddAsync <IReliableQueue <TicketOrder> >(OrderQueueName);

            while (true)
            {
                cancellationToken.ThrowIfCancellationRequested();

                using (var tx = this.StateManager.CreateTransaction())
                {
                    var result = await requests.TryDequeueAsync(tx, TxTimeout, cancellationToken);

                    if (result.HasValue)
                    {
                        var error   = "";
                        var handler = HandlersFactory.GetProfilerHandler(SettingService, LoggerService);
                        handler.Start(LOG_TAG, "AcquiredQueueItem", GetServiceProperties());

                        try
                        {
                            TicketOrder order = result.Value;

                            IActorLocationService locator    = ServiceFactory.GetInstance().GetActorLocationService();
                            ITicketOrderActor     orderActor = locator.Create <ITicketOrderActor>(new ActorId(order.Id), Constants.ContosoEventsApplicationName);
                            await orderActor.ProcessOrder(order);
                        }
                        catch (Exception ex)
                        {
                            error = ex.Message;
                        }
                        finally
                        {
                            handler.Stop(error);
                            if (!string.IsNullOrEmpty(error))
                            {
                                this.HealthReporterService.SendReportForService(HealthState.Error, GetHealthErrorMessage("AcquiredQueueItem", error));
                            }
                        }

                        // This commits the dequeue operations.
                        // If the request to add the stock to the inventory service throws, this commit will not execute
                        // and the items will remain on the queue, so we can be sure that we didn't dequeue items
                        // that didn't get saved successfully in the inventory service.
                        // However there is a very small chance that the stock was added to the inventory service successfully,
                        // but service execution stopped before reaching this commit (machine crash, for example).
                        await tx.CommitAsync();
                    }

                    await Task.Delay(TimeSpan.FromMilliseconds(this.SettingService.GetStatefulServiceLoopPause()), cancellationToken);
                }
            }
        }
        public ActionResult OrderDetails(String username, String orderID)
        {
            TicketOrderAccountUserViewModel ticketOrderAccountUserViewModel =
                new TicketOrderAccountUserViewModel();

            ticketOrderAccountUserViewModel.username = username;
            ticketOrderAccountUserViewModel.order    = TicketOrder.Get(orderID);
            ticketOrderAccountUserViewModel.showing  = Showing.GetShowing(ticketOrderAccountUserViewModel.order.ShowingID);
            ticketOrderAccountUserViewModel.theater  = Theater.GetTheater(ticketOrderAccountUserViewModel.showing.TheaterID);
            ticketOrderAccountUserViewModel.movie    = Movie.Get(ticketOrderAccountUserViewModel.showing.MovieName);
            return(View("~/Views/MyAccount/OrderDetails.cshtml", ticketOrderAccountUserViewModel));
        }
Exemple #26
0
        public ActionResult Checkout(Event registeredEvent)
        {
            var         selectedEvent = db.Events.FirstOrDefault(e => e.EventID == registeredEvent.EventID);
            TicketOrder order         = new TicketOrder();

            order.NumberOfTicket = registeredEvent.AvailableTickets;
            order.EventID        = registeredEvent.EventID;

            order.UserID = (Session["CurrentUser"] as User).UserID;
            order.Status = "Processed";
            db.TicketOrders.Add(order);
            db.SaveChanges();
            return(View(order));
        }
        public void IssueTicketMotorcycleNoWeekendDiscountTest()
        {
            var issuer = new StorebaeltTicketIssuer();

            var order = new TicketOrder
            {
                Timestamp   = new DateTime(2018, 2, 3), // Saturday
                VehicleType = "motorcycle",
                BroBizz     = false,
            };

            var ticket = issuer.IssueTicket(order);

            Assert.AreEqual(125, ticket.Price);
        }
        public void IssueTicketBroBizzDiscountTest()
        {
            var issuer = new StorebaeltTicketIssuer();

            var order = new TicketOrder
            {
                Timestamp   = new DateTime(2018, 2, 2), // Friday
                VehicleType = "car",
                BroBizz     = true,
            };

            var ticket = issuer.IssueTicket(order);

            Assert.AreEqual(228, ticket.Price);
        }
        public static List <TicketOrder> GenerateTicketOrders(int numberOfOrder, Show show)
        {
            List <TicketOrder> orders = new List <TicketOrder>();
            Random             rdm    = new Random();

            for (int i = 1; i <= numberOfOrder; i++)
            {
                var newOrder = new TicketOrder();
                newOrder.OrderDate    = DateTime.Today.AddDays(i);
                newOrder.TicketNumber = rdm.Next(1, 10);
                newOrder.Price        = newOrder.TicketNumber * show.Price;
                orders.Add(newOrder);
            }
            return(orders);
        }
Exemple #30
0
        private static void SendCanceledEmail(TicketOrder ticketOrder, string projectName)
        {
            TicketOrderCanceledViewModel ticketOrderCanceledViewModel = new TicketOrderCanceledViewModel()
            {
                Email          = ticketOrder.Email,
                ProjectName    = projectName,
                VariableSymbol = ticketOrder.VariableSymbol,
                ReserverdUntil = ticketOrder.ReservedUntil.Value.ToShortDateString(),
                ProjectID      = ticketOrder.ProjectID
            };

            IUserMailer userMailer = new UserMailer();
            var         email      = userMailer.SendTicketOrderCanceled(ticketOrderCanceledViewModel);

            email.Send();
        }
        private void ChangeData(HtmlDocument doc, TicketOrder ticketOrder)
        {
            #region ��������Ϣ
            doc.GetElementById("tSendContactName").SetAttribute("value", ticketOrder.DeliverRecord.Contact_Name == null ? "" : ticketOrder.DeliverRecord.Contact_Name); //��ϵ��
            doc.GetElementById("tSendTel").SetAttribute("value", ticketOrder.DeliverRecord.Contact_Phone == null ? "" : ticketOrder.DeliverRecord.Contact_Phone); //��ϵ�˵绰
            doc.GetElementById("tSendMobile").SetAttribute("value", ticketOrder.DeliverRecord.Contact_Mobile == null ? "" : ticketOrder.DeliverRecord.Contact_Mobile); //��ϵ���ֻ�
            doc.GetElementById("tSendEmail").SetAttribute("value", ticketOrder.DeliverRecord.Contact_Email == null ? "" : ticketOrder.DeliverRecord.Contact_Email); //��ϵ���ʼ�
            doc.GetElementById("tSendAddress").SetAttribute("value", ticketOrder.DeliverRecord.Contact_Address == null ? "" : ticketOrder.DeliverRecord.Contact_Address); //��ϵ��ַ
            doc.GetElementById("tCustomerRemark").SetAttribute("value", ticketOrder.CustomerRemark == null ? "" : ticketOrder.CustomerRemark); //�ͻ�����Ҫ��
            doc.GetElementById("tCompanyRemark").SetAttribute("value", ticketOrder.CompanyRemark == null ? "" : ticketOrder.CompanyRemark); //��˾������ע

            doc.GetElementById("tSentDate").SetAttribute("value", ticketOrder.GetTicketTime == null ? "" : ticketOrder.GetTicketTime); //��Ʊʱ��
            doc.GetElementById("ddlOperDstSite").SetAttribute("value", ticketOrder.DstSite); //��Ʊ��
            string sIssueCityCode = TicketOrderAdmin.GetCityCodebyPartnerID(ticketOrder.DstSite);
            doc.GetElementById("ddlOperDstCity").SetAttribute("value", sIssueCityCode);  //������id
            //doc.GetElementById("ddlSendType").SetAttribute("value", ticketOrder.DeliverRecord.Deliver_Type_Id.ToString());//���ͷ�ʽ

            HtmlElementCollection elements = doc.GetElementById("ddlSendType").GetElementsByTagName("Option");
            foreach (HtmlElement el in elements)
            {
                if (el.GetAttribute("value") == ticketOrder.DeliverRecord.Deliver_Type_Id.ToString())
                {
                    el.SetAttribute("selected", "selected");
                }
            }

            if (ticketOrder.IsRemitSMS)
                doc.GetElementById("ckbRemitSMS").InvokeMember("click"); //�Ƿ������
            if (ticketOrder.IsNotShouldIssue)
                doc.GetElementById("ckbNotIssue").InvokeMember("click"); //�Ƿ���Ҫ��Ʊ
            if (ticketOrder.SendIndex == 0)
                doc.GetElementById("cbSendIndex").InvokeMember("click"); //�Ƿ���Ҫ�Ӽ�

            doc.GetElementById("txtUserFixMoney").SetAttribute("value", ticketOrder.MemberBalance.ToString() == null ? "" : ticketOrder.MemberBalance.ToString()); //�������տ�
            doc.GetElementById("txtArrearage").SetAttribute("value", ticketOrder.PayOweAmount.ToString() == null ? "" : ticketOrder.PayOweAmount.ToString()); //�������տ�

            doc.GetElementById("txtPayAmount").SetAttribute("value", ticketOrder.PayAmount.ToString());//֧�����
            doc.GetElementById("txtArrearage").SetAttribute("value", ticketOrder.PayOweAmount.ToString()); //֧��Ƿ��

            if (ticketOrder.Pay_Type == EnumDef.ETicketOrderPayType.��˾����֧��)
            {
                doc.GetElementById("rblPayType_0").InvokeMember("click");
                doc.GetElementById("ddlJSJPayType").SetAttribute("value", "4");
            }
            else if (ticketOrder.Pay_Type == EnumDef.ETicketOrderPayType.��˾�������п�)
            {
                doc.GetElementById("rblPayType_0").InvokeMember("click");
                doc.GetElementById("ddlJSJPayType").SetAttribute("value", "8");
                doc.GetElementById("ddlUnionPay").SetAttribute("value", (ticketOrder.IsUnionCard == EnumDef.ETicketOrderUnionPay.�� ? "1" : "2"));
            }
            else if (ticketOrder.Pay_Type == EnumDef.ETicketOrderPayType.��Ʊ�������ֽ�)
            {
                doc.GetElementById("rblPayType_1").InvokeMember("click");
                doc.GetElementById("ddlSelfPayType").SetAttribute("value", "1");
            }
            else if (ticketOrder.Pay_Type == EnumDef.ETicketOrderPayType.��Ʊ������ֽ�)
            {
                doc.GetElementById("rblPayType_2").InvokeMember("click");
                doc.GetElementById("ddlInsteadPayType").SetAttribute("value", "1");

                if (ticketOrder.TicketPayInfo != null)
                {
                    doc.GetElementById("ddlInsteadPartner").SetAttribute("value", ticketOrder.TicketPayInfo.GatherPartnerId.ToString());
                }

            }

            F_Debit_Payment_Record mobilePayRecord = new F_Debit_Payment_Record();
            if (mobilePayRecord.Load(order_Id, EnumDef.ESPOrderType.��Ʊ����))
            {
                doc.GetElementById("rblPayType_0").InvokeMember("click");
                if (mobilePayRecord.PaymentTypeId == EnumDef.ETMobliePay.��ǿ�֧��)
                {
                    doc.GetElementById("ddlJSJPayType").SetAttribute("value", "8");
                    doc.GetElementById("ddlUnionBank").SetAttribute("value", mobilePayRecord.BankcardTypeId.Value.ToString());
                    doc.GetElementById("txtUnionCardNO").SetAttribute("value", mobilePayRecord.CashcardNo.Trim());
                    doc.GetElementById("txtUnionPhone").SetAttribute("value", mobilePayRecord.CashcardMobi.Trim());
                }
                else if (mobilePayRecord.PaymentTypeId == EnumDef.ETMobliePay.���ÿ�֧��)
                {
                    doc.GetElementById("ddlJSJPayType").SetAttribute("value", "3");
                    doc.GetElementById("ddlCreditCardType").SetAttribute("value", mobilePayRecord.CreditcardType.Value.ToString());
                    doc.GetElementById("txtCreditCardNum").SetAttribute("value", mobilePayRecord.CreditcardNo.Trim());
                    doc.GetElementById("txtCreditCardDate").SetAttribute("value", mobilePayRecord.CreditcardAvail.Value.ToString("yyyy-MM-dd"));
                    doc.GetElementById("txtHandName").SetAttribute("value", mobilePayRecord.CreditcardOwner);
                    if (mobilePayRecord.CreditcardCvv2 != null && mobilePayRecord.CreditcardCvv2.Trim() != "")
                    {
                        HtmlElement element = doc.GetElementById("tCompanyRemark");
                        element.SetAttribute("value", element.GetAttribute("value") + "CVV" + mobilePayRecord.CreditcardCvv2);
                    }
                }
            }

            #endregion
        }
        private void ChangeTicket(HtmlDocument doc, TicketOrder ticketOrder)
        {
            HtmlElement element = doc.GetElementById("tTicketPrice");
            if (element != null)
            {
                string sql = "select * from t_to_order_tickets where order_id=" + order_Id + " and rownum<2";
                DataTable dt = DSCRM.DBA.GetDataTable(sql);

                double YPrice = Convert.ToInt32(dt.Rows[0]["FULL_PRICE"].ToString());
                doc.GetElementById("tTicketPrice100").SetAttribute("value", YPrice.ToString());//ȫ��

                //Ʊ��
                double enPrice = 10 * RoundFloat1(YPrice * 0.05, 0);
                double babyPrice = 10 * RoundFloat1(YPrice * 0.01, 0);
                element.SetAttribute("value", (ticketOrder.TicketPassengers[0].TicketPrice + "|" + enPrice + "|" + babyPrice));

                //�ۿ�
                doc.GetElementById("tRate").SetAttribute("value", ticketOrder.TicketPassengers[0].Rate.ToString() + "|50|10");
                //����
                doc.GetElementById("tAirportTax").SetAttribute("value", ticketOrder.TicketPassengers[0].AirPortTax.ToString() + "|0|0");
                //ȼ��
                double enFuelTax = GetInfFlueTax(ticketOrder.TicketPassengers[0].FuelTax);
                doc.GetElementById("tFuelTax").SetAttribute("value", ticketOrder.TicketPassengers[0].FuelTax.ToString() + "|" + enFuelTax + "|0");

                //Ԥ������
                element = doc.GetElementById("hidBookingParam");

                string hidStr = "<xml><Arguments><CommDefID>-1</CommDefID><CommisionRate>-1</CommisionRate><Discount>" + dt.Rows[0]["DISCOUNT"]
                     + "</Discount><TicketPrice>" + YPrice + "</TicketPrice><AirPortTax>"
                     + ticketOrder.TicketPassengers[0].AirPortTax + "</AirPortTax><FuelTax>"
                     + ticketOrder.TicketPassengers[0].FuelTax + "</FuelTax><IsSpecial>0</IsSpecial></Arguments></xml>";

                //����˿�
                string[] Passengers = doc.GetElementById("t_PassengerList").GetAttribute("value").Split(',');

                string NewPassengerList = "";

                for (int i = 0; i < Passengers.Length - 1; i++)
                {
                    string[] subGuest = Passengers[i].Split('|');
                    NewPassengerList += subGuest[0] + "|";
                    NewPassengerList += subGuest[1] + "|";
                    NewPassengerList += subGuest[2] + "|";
                    NewPassengerList += subGuest[3] + "|";
                    if (subGuest[2] == " ���� ")
                    {
                        NewPassengerList += ticketOrder.TicketPassengers[0].TicketPrice + "|";
                        NewPassengerList += ticketOrder.TicketPassengers[0].AirPortTax + "|";
                        NewPassengerList += ticketOrder.TicketPassengers[0].FuelTax + ",";
                    }
                    else if (subGuest[2] == " ��ͯ ")
                    {
                        NewPassengerList += enPrice + "|";
                        NewPassengerList += "0|";
                        NewPassengerList += enFuelTax + ",";
                    }
                    else if (subGuest[2] == " Ӥ�� ")
                    {
                        NewPassengerList += babyPrice + "|";
                        NewPassengerList += "0|";
                        NewPassengerList += "0,";
                    }
                }

                doc.GetElementById("t_PassengerList").SetAttribute("value", NewPassengerList);

                (doc.DomDocument as IHTMLDocument2).parentWindow.execScript("AutoPrice();", "javascript");
            }
        }
        private void FillData(WebBrowser browser)
        {
            try
            {
                HtmlWindowCollection coll = browser.Document.Window.Frames;
                foreach (HtmlWindow win in coll)
                {
                    HtmlDocument doc = win.Document;
                    HtmlElement element = doc.GetElementById("tSendContactName");
                    if (element != null)
                    {
                        System.Web.Caching.Cache cache = System.Web.HttpRuntime.Cache;
                        object obj = cache.Get("TicketOrderInfo");
                        TicketOrder ticketOrder = null;
                        if (obj == null)
                        {
                            ticketOrder = new TicketOrder();
                            ticketOrder.LoadTicketOrder(order_Id);
                        }
                        else
                        {
                            ticketOrder = obj as TicketOrder;
                        }

                        ChangeData(doc, ticketOrder);
                        ChangeTicket(doc, ticketOrder);
                    }
                }
            }
            catch { }
        }
Exemple #34
0
 public static TicketOrder GetTicketOrder(int orderId)
 {
     TicketOrder ticket = new TicketOrder();
     bool isSuccess = ticket.LoadTicketOrder(orderId.ToString());
     return ticket;
 }
        private void LoadCustomer(WebBrowser webBrowser1)
        {
            try
            {
                HtmlWindowCollection coll = webBrowser1.Document.Window.Frames;
                foreach (HtmlWindow win in coll)
                {
                    HtmlElement ele = win.Document.GetElementById("tMemCardID");
                    if (ele != null)
                    {
                        TicketOrder ticketOrder = new TicketOrder();
                        if (ticketOrder.LoadTicketOrder(order_Id))
                        {
                            win.Document.GetElementById("tPNR").SetAttribute("value", ticketOrder.PNR);

                            System.Web.Caching.Cache cache = System.Web.HttpRuntime.Cache;
                            cache.Add("TicketOrderInfo", ticketOrder, null, DateTime.MaxValue, new TimeSpan(0, 5, 0), System.Web.Caching.CacheItemPriority.Normal, null);
                        }

                        ele.SetAttribute("value", ticketOrder.CardNum);
                        win.Document.GetElementById("tMemName").SetAttribute("value", ticketOrder.MemberName);

                        ele = win.Document.GetElementById("bMemInfo");
                        ele.InvokeMember("Click");
                        fillData = BLL.FillData.��дPNR;
                        break;
                    }
                }
            }
            catch { }
        }