Advertisement
Guest User

Untitled

a guest
Feb 25th, 2020
60
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
HTML 15.39 KB | None | 0 0
  1. <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Confirmation.aspx.cs" Inherits="Client.resProcess.Confirmation" %>
  2. <%@ Register TagPrefix="uc1" TagName="HomePageCommon" Src="~/HomePageCommon.ascx" %>
  3. <%@ Register TagPrefix="uc1" TagName="PageHeader" Src="~/PageHeader.ascx" %>
  4. <%@ Register TagPrefix="uc1" TagName="footer" Src="~/footer.ascx" %>
  5. <%@ Import Namespace="Client" %>
  6. <%@Import Namespace="V8WebPortalLib"%>
  7. <%@Import Namespace="Client.Helpers"%>
  8. <!DOCTYPE html>
  9. <html>
  10. <head>
  11. <!-- Global site tag (gtag.js) - Google Ads: XXXXXX -->
  12. <script async src="https://www.googletagmanager.com/gtag/js?id=AW-XXXXXX"></script>
  13. <script>
  14.   window.dataLayer = window.dataLayer || [];
  15.   function gtag(){dataLayer.push(arguments);}
  16.   gtag('js', new Date());
  17.  
  18.   gtag('config', 'AW-XXXXXX');
  19. </script>
  20.  
  21. <!-- Event snippet for Buchung conversion page -->
  22. <script>
  23.   gtag('event', 'conversion', {
  24.       'send_to' 'AW-XXXXXXeSMbCKzoqGUQqN2S3AM',
  25.       'value' <%=Utils.PriceToString(ShoppingCart.cart.Total)%>,
  26.       'currency' '<%=ShoppingCart.cart.currency%>',
  27.       'transaction_id' '',
  28.   });
  29. </script>
  30.  
  31. <title><%= Utils.translate("Confirmation")%> | <%=hotel.headerName%></title>
  32. <meta charset="utf-8">
  33. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  34. <uc1:HomePageCommon runat="server"></uc1:HomePageCommon>
  35. <script lang="C#" runat=server>
  36.     protected override void translateServerControls() {
  37. //      lbDateRange.Text = Utils.DateToXML(rates.startDate) + " to " + Utils.DateToXML(rates.endDate);
  38.         btnNext.Text = Utils.translate("Next");
  39.     }
  40.  
  41.     public override string getAdditionalAnalyticsCode() {
  42.         var track = new StringBuilder("");
  43.         if (hotel.UseGoogleUniversalAnalytics)
  44.         {
  45.             track.Append("ga('ecommerce:addTransaction', {\n");
  46.             track.Append("'id': 'NO_TRANS_ID',\n");              // Transaction ID. Required
  47.             track.Append("'affiliation': 'Fidelio Suite8 Homepage',\n");   // Affiliation or store name
  48.             track.AppendFormat("'revenue': '{0}',\n", ShoppingCart.cart.Total);  // Grand Total
  49.             track.AppendFormat("'shipping': '{0}',\n", ShoppingCart.cart.currentShippingChargePrice);                  // Shipping
  50.             track.Append("'tax': '0'\n");                     // tax is not being tracked
  51.             track.Append("});\n");
  52.  
  53.             foreach (ShoppingCartItem item in ShoppingCart.cart)
  54.             {
  55.                 if (item is ReservationShoppingCart)
  56.                 {
  57.                     var res = (ReservationShoppingCart) item;
  58.                     track.Append("ga('ecommerce:addItem', {\n");
  59.                     track.AppendFormat("'id': '{0}',\n", res.confirmation); // Transaction ID. Required
  60.                     track.AppendFormat("'name': 'ROOMRES_{0}',\n", res.rateCode); // Product name. Required
  61.                     track.AppendFormat("'sku': 'ROOMRES_{0}',\n", res.rateCode); // SKU/code
  62.                     track.AppendFormat("'category': '{0}',\n", res.roomType); // Category or variation
  63.                     track.AppendFormat("'price': '{0}',\n", res.rates.getAvgRate(res.roomType, res.rateCode).ToString("N")); // Unit price
  64.                     track.AppendFormat("'quantity': '{0}'\n", res.rates.Nights); // Quantity
  65.                     track.Append("});\n");
  66.                 }
  67.                 else
  68.                 {
  69.                     if (item is TableReservationShoppingCart)
  70.                     {
  71.                         var trres = (TableReservationShoppingCart) item;
  72.                         if (item.confirmation > 0)
  73.                         {
  74.                             string RestauarantName = trres.avlRestaurants.getRestaurantByID(trres.avlRestaurants.restaurantID).RestaurantShortDescription;
  75.  
  76.                             track.Append("ga('ecommerce:addItem', {\n");
  77.                             track.AppendFormat("'id': '{0}',\n", item.confirmation); // Transaction ID. Required
  78.                             track.AppendFormat("'name': 'TABLERES_{0}',\n", "Table Reservation"); // Product name. Required
  79.                             track.AppendFormat("'sku': 'TABLERES_{0}',\n", RestauarantName); // SKU/code
  80.                             track.AppendFormat("'category': '{0}',\n", RestauarantName); // Category or variation
  81.                             track.AppendFormat("'price': '{0}',\n", "0.01"); // Unit price
  82.                             track.AppendFormat("'quantity': '{0}'\n", 1); // Quantity
  83.                             track.Append("});\n");
  84.                         }
  85.                     }
  86.                     else
  87.                     {
  88.                         if (item is VoucherShoppingCart)
  89.                         {
  90.                             var vRes = (VoucherShoppingCart) item;
  91.                             track.Append("ga('ecommerce:addItem', {\n");
  92.                             track.AppendFormat("'id': '{0}',\n", item.confirmation); // Transaction ID. Required
  93.                             track.AppendFormat("'name': 'VOUCHER_{0}',\n", vRes.article.artName); // Product name. Required
  94.                             track.AppendFormat("'sku': 'VOUCHER_{0}',\n", vRes.article.artName); // SKU/code
  95.                             track.AppendFormat("'category': '{0}',\n", vRes.article.artName); // Category or variation
  96.                             track.AppendFormat("'price': '{0}',\n", item.price.ToString("N")); // Unit price
  97.                             track.AppendFormat("'quantity': '{0}'\n", item.quantity); // Quantity
  98.                             track.Append("});\n");
  99.                         }
  100.                         else
  101.                         {
  102.                             if (item is SPAShoppingCart)
  103.                             {
  104.                                 var SPARes = (SPAShoppingCart)item;
  105.                                 track.Append("ga('ecommerce:addItem', {\n");
  106.                                 track.AppendFormat("'id': '{0}',\n", item.confirmation); // Transaction ID. Required
  107.                                 track.AppendFormat("'name': 'SPA_{0}',\n", SPARes.description); // Product name. Required
  108.                                 track.AppendFormat("'sku': 'SPA_{0}',\n", SPARes.description); // SKU/code
  109.                                 track.AppendFormat("'category': '{0}',\n", SPARes.description); // Category or variation
  110.                                 track.AppendFormat("'price': '{0}',\n", item.price.ToString("N")); // Unit price
  111.                                 track.AppendFormat("'quantity': '{0}'\n", item.quantity); // Quantity
  112.                                 track.Append("});\n");
  113.                             }
  114.                            
  115.                         }
  116.                     }
  117.                 }
  118.             }
  119.  
  120.             track.Append("ga('ecommerce:send');");
  121.  
  122.         }
  123.         else
  124.         {
  125.             track.Append("_gaq.push(['_addTrans',\n");
  126.             track.AppendFormat("'{0}',                  // order ID\n", "NO_TRANS_ID");
  127.             track.Append("'Fidelio Suite8 Homepage',        // affiliation or store name\n");
  128.             track.AppendFormat("'{0}',                  // total\n", ShoppingCart.cart.Total);
  129.             track.Append("'0',                  // tax is not being tracked\n");
  130.             track.Append("'0',                  // shipping\n");
  131.             track.AppendFormat("'{0}',                  // City\n", profile.City);
  132.             track.Append("'',                   // state\n");
  133.             track.AppendFormat("'{0}'                   // Country\n", profile.country);
  134.             track.Append("]);\n");
  135.  
  136.             foreach (ShoppingCartItem item in ShoppingCart.cart)
  137.             {
  138.                 if (item is ReservationShoppingCart)
  139.                 {
  140.                     var res = (ReservationShoppingCart) item;
  141.                     track.Append("_gaq.push(['_addItem',\n");
  142.                     track.AppendFormat("'{0}',          // order ID\n", item.confirmation);
  143.                     track.AppendFormat("'ROOMRES_{0}',          // SKU - rate code\n", res.rateCode);
  144.                     track.AppendFormat("'ROOMRES_{0}',          // product name - rate code\n", res.rateCode);
  145.                     track.AppendFormat("'{0}',                  // category or variation - room type\n", res.roomType);
  146.                     track.AppendFormat("'{0}',                  // unit price - Avr. daily rate\n", res.rates.getAvgRate(res.roomType, res.rateCode).ToString("N"));
  147.                     track.AppendFormat("'{0}'                   // quantity - Number of nights\n", res.rates.Nights);
  148.                     track.Append("]);\n");
  149.                 }
  150.                 else
  151.                 {
  152.                     if (item is TableReservationShoppingCart)
  153.                     {
  154.                         var trres = (TableReservationShoppingCart) item;
  155.                         if (item.confirmation > 0)
  156.                         {
  157.                             string RestauarantName = trres.avlRestaurants.getRestaurantByID(trres.avlRestaurants.restaurantID).RestaurantShortDescription;
  158.                             //track.Append("_gaq.push(['_addTrans',\n");
  159.                             //track.Append("'TabRes_" + item.confirmation + "',     // order ID\n");
  160.                             //track.Append("'Fidelio Suite8 Homepage',      // affiliation or store name\n");
  161.                             //track.Append("'0.01',     // total\n");
  162.                             //track.Append("'0',                            // tax is not being tracked\n");
  163.                             //track.Append("'0',                            // shipping\n");
  164.                             //track.Append("'" + profile.City + "',         // City\n");
  165.                             //track.Append("'',                         // state\n");
  166.                             //track.Append("'" + profile.country + "'           // Country\n");
  167.                             //track.Append("]);\n");
  168.  
  169.  
  170.                             track.Append("_gaq.push(['_addItem',\n");
  171.                             track.Append("'" + item.confirmation + "',  // order ID\n");
  172.                             track.Append("'TABLERES_" + RestauarantName + "', // SKU - article name\n");
  173.                             track.Append("'TABLERES_" + "Table Reservation" + "',  // product name - article name\n");
  174.                             track.Append("'" + RestauarantName + "',            // category or variation - article name\n");
  175.                             track.Append("'0.01',  // unit price\n");
  176.                             track.Append("'1'   // quantity\n");
  177.                             track.Append("]);\n");
  178.                         }
  179.                     }
  180.                     else
  181.                     {
  182.                         if (item is VoucherShoppingCart)
  183.                         {
  184.                             var vRes = (VoucherShoppingCart) item;
  185.                             track.Append("_gaq.push(['_addItem',\n");
  186.                             track.AppendFormat("'{0}',          // order ID\n", item.confirmation);
  187.                             track.AppendFormat("'VOUCHER_{0}',          // SKU - rate code\n", vRes.article.artName);
  188.                             track.AppendFormat("'VOUCHER_{0}',          // product name - rate code\n", vRes.article.artName);
  189.                             track.AppendFormat("'{0}',                  // category or variation - room type\n", vRes.article.artName);
  190.                             track.AppendFormat("'{0}',                  // unit price - Avr. daily rate\n", item.price.ToString("N"));
  191.                             track.AppendFormat("'{0}'                   // quantity - Number of nights\n", item.quantity);
  192.                             track.Append("]);\n");
  193.  
  194.                         }
  195.                         else
  196.                         {
  197.                             if (item is SPAShoppingCart)
  198.                             {
  199.                                 var SPARes = (SPAShoppingCart) item;
  200.                                
  201.                                 track.Append("_gaq.push(['_addItem',\n");
  202.                                 track.AppendFormat("'{0}',          // order ID\n", item.confirmation);
  203.                                 track.AppendFormat("'SPA_{0}',          // SKU - rate code\n", SPARes.description);
  204.                                 track.AppendFormat("'SPA_{0}',          // product name - rate code\n", SPARes.description);
  205.                                 track.AppendFormat("'{0}',                  // category or variation - room type\n", SPARes.description);
  206.                                 track.AppendFormat("'{0}',                  // unit price - Avr. daily rate\n", item.price.ToString("N"));
  207.                                 track.AppendFormat("'{0}'                   // quantity - Number of nights\n", item.quantity);
  208.                                 track.Append("]);\n");
  209.  
  210.                             }
  211.                         }
  212.                     }
  213.                 }
  214.  
  215.  
  216.             }
  217.             track.Append("_gaq.push(['_trackTrans']);\n");
  218.         }
  219.         return track.ToString();
  220.     }
  221.  
  222.     public override string getPixelTrackingCode()
  223.     {
  224.         var mhstrack = new StringBuilder("");
  225.         var resnumbers = "";
  226.         var resnights = 0;
  227.         var resrooms = 0;
  228.         double resamount = 0;
  229.         string currency = string.Empty;
  230.  
  231.         foreach (ShoppingCartItem item in ShoppingCart.cart)
  232.         {
  233.             var cart = item as ReservationShoppingCart;
  234.             if (cart != null)
  235.             {
  236.                 var res = cart;
  237.                 if (resnumbers != "") resnumbers = resnumbers + ',';
  238.                 resnumbers = resnumbers + res.confirmation.ToString();
  239.                 resnights = resnights + res.rates.Nights;
  240.                 resrooms = resrooms + res.rates.NoOfRooms;
  241.                 resamount = resamount + res.price;
  242.                 currency = res.currency;
  243.             }
  244.         }
  245.        
  246.         mhstrack.Append("var mhsCV = {");
  247.         mhstrack.AppendFormat("'revenue': {0},", resamount.ToString("N").Replace(',', '.'));
  248.         mhstrack.AppendFormat("'roomnights': {0},", resnights);
  249.         mhstrack.AppendFormat("'rooms': {0},", resrooms);
  250.         mhstrack.AppendFormat("'reservationnumber': '{0}',", resnumbers);
  251.         mhstrack.AppendFormat("'currency': '{0}',", currency);
  252.         mhstrack.AppendFormat("'hid': {0}", config.Myhotelshopid);
  253.         mhstrack.Append("};");
  254.        
  255.         return mhstrack.ToString();
  256.     }
  257.        
  258. </script>
  259. </head>
  260. <body>
  261. <div>
  262.     <uc1:pageheader id="Header" runat="server"></uc1:pageheader>
  263.     <form id="Form1" method="post" runat="server">
  264.         <%= AntiForgery.GetHtml() %>
  265.         <div class="main">
  266.             <h1><%= Utils.translate("Confirmation") %></h1>
  267.             <table class="table table-bordered data-table td-responsive">
  268.                 <thead>
  269.                     <tr>
  270.                         <th><%=Utils.translate("Product")%></th>
  271.                         <th class="tc-price"><%=Utils.translate("Price")%></th>
  272.                         <th class="tc-numeric"><%=Utils.translate("Confirmation")%></th>
  273.                     </tr>
  274.                 </thead>
  275.                 <tbody>
  276.                 <%foreach (Client.ShoppingCartItem item in Client.ShoppingCart.cart){
  277.                     if (!item.isBooked){continue;}
  278.                     for (int ind = 0; ind < item.itemCount; ind++){
  279.                     %>
  280.                            
  281.                     <tr id="scItem<%=item.id%>">
  282.                         <td><%= HtmlHelpers.HTMLRaw(item.getCartPageProductHTML()) %></td>
  283.                         <td class="tc-price price"><%=Utils.PriceToHtml(item.price, item.currency)%></td>
  284.                         <td class="tc-numeric"><%=item.getConfirmationColumnHTML(ind)%></td>
  285.                     </tr>
  286.                     <%} //end of items loop %>
  287.                 <%}  %>
  288.                 <%if (ShoppingCart.cart.currentShippingCharge != null){ %>
  289.                     <tr id="scItemShipCharge">
  290.                     <td><%=ShoppingCart.cart.currentShippingCharge.WebDescription%></td>
  291.                     <td><%= Utils.PriceToHtml(ShoppingCart.cart.currentShippingChargePrice) %></td>
  292.                     <td>&nbsp;</td>
  293.                     </tr>
  294.                 <%} //end of Shiiping charge %>
  295.                    
  296.                 </tbody>
  297.                 <tfoot>
  298.                     <tr>
  299.                         <td class="price-summary-wrapper"><%=Utils.translate("Total")%></td>
  300.                         <td class="tc-price price-total"><%= Utils.PriceToHtml(Client.ShoppingCart.cart.Total, Client.ShoppingCart.cart.currency) %></td>
  301.                         <td></td>
  302.                     </tr>
  303.                 </tfoot>
  304.             </table>
  305.             <%--End Shopping cart--%>
  306.            
  307.                 <%
  308.                 if (onlineDepositPayment()) {
  309.                 %>
  310.              <dl>
  311.                 <dt><strong><%=Utils.translate("Payment Approval")%></strong></dt>
  312.                 <dd><span><%=OnlinePaymentApproval%></span></dd>
  313.             </dl>
  314.                 <%
  315.                     }
  316.                 %>
  317.  
  318.                 <%
  319.                         if (profile.selectedLinkedProfile > 0) {
  320.                 %>
  321.             <dl class="dl-horizontal">
  322.                 <dt><%=Utils.translate("Selected profile")%></dt>
  323.                 <dd><%=profile.getSelectedProfileName()%></dd>
  324.             </dl>
  325.                 <%
  326.                         }
  327.                 %>
  328.            
  329.                
  330.             <div class="form-buttons">
  331.                 <asp:Button ID="btnNext" runat="server" Text="Next" CssClass="btn btn-primary btn-lg" OnClick="btnNext_Click"></asp:Button>
  332.                 <input type="button" onClick="javascript:self.location.href='<%=Request.ApplicationPath%>/Booking/ShoppingCart/startNewReservationProcess'" value='<%=Utils.translate("New Reservation")%>' class="btn btn-default" />
  333.             </div>
  334.         </div>
  335.     </form>
  336.     <form action="PrintConfirmation.aspx" method="post" name="CnfFrm">
  337.         <%= AntiForgery.GetHtml() %>
  338.         <input type="hidden" name="ConfirmationNum">
  339.     </form>
  340.     <div id="hp-push"></div>
  341. </div>
  342. <uc1:footer ID="footer1" runat="server"></uc1:footer>
  343.     <%if (config.GoogleAdWords) {%>
  344.         <!-- Google Code for Purchase Conversion Page -->
  345.         <script type="text/javascript">
  346.             /* <![CDATA[ */
  347.             var google_conversion_id = <%=config.GoogleConversionID%>;
  348.             var google_conversion_label = <%=config.GoogleConversionLabel%>;
  349.            var google_conversion_value = <%=Utils.PriceToString(ShoppingCart.cart.Total)%>;
  350.            var google_conversion_currency = <%=ShoppingCart.cart.currency%>;
  351.            var google_remarketing_only = false;
  352.             /* ]]> */
  353.         </script>
  354.         <script type="text/javascript" src="//www.googleadservices.com/pagead/conversion.js">
  355.         </script>
  356.         <noscript>
  357.             <div style="display:inline;">
  358.                 <img height="1" width="1" style="border-style:none;" alt=""
  359.                    src="//www.googleadservices.com/pagead/conversion/<%=config.GoogleConversionID%>/?value=<%=Utils.PriceToString(ShoppingCart.cart.Total)%>&amp;currency_code=<%=ShoppingCart.cart.currency%>&amp;label=<%=config.GoogleConversionLabel%>&amp;guid=ON&amp;script=0">
  360.             </div>
  361.         </noscript>
  362.     <%}%>
  363. </body>
  364. <script language="javascript">
  365. function PrintConfirmation(cnf) {
  366.     var f;
  367.     if (window.navigator.appName.toLowerCase().indexOf("netscape") > -1) {
  368.         f = document.forms["CnfFrm"];
  369.     }
  370.     else {
  371.         f = document.CnfFrm;
  372.     }
  373.     f.ConfirmationNum.value=cnf;
  374.     f.submit();
  375. }
  376.  
  377. </script>
  378. </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement