Esempio n. 1
0
        /// <summary>
        /// Redirect to Payment provider with the all needed parameters (Expecting validated data)
        /// </summary>
        /// <param name="ePayInfo"></param>
        /// <param name="paymentMethod">method of payment supported methods:
        /// ePayPayment | DirectCreditCard | FreeTransaction | DepositSlip
        /// </param>
        /// <param name="urlOk"></param>
        /// <param name="urlCancel"></param>
        /// <returns></returns>
        private string EPayFacade(ePayQueryViewModel ePayInfo, string paymentMethod, string urlOk, string urlCancel)
        {
            List <KeyValuePair <string, string> > httpParameters = new List <KeyValuePair <string, string> >
            {
                new KeyValuePair <string, string>("URL_OK", urlOk),
                new KeyValuePair <string, string>("URL_CANCEL", urlCancel)
            };

            switch (paymentMethod.ToUpper())
            {
            case "EPAYPAYMENT":
                httpParameters.AddRange(EPayPayment(ePayInfo));
                break;

            case "DIRECTCREDITCARD":
                httpParameters.AddRange(EPayDirectCreditCard(ePayInfo));
                break;

            case "FREETRANSACTION":
                httpParameters.AddRange(FreeTransaction(ePayInfo));
                break;

            case "DEPOSITSLIP":
                httpParameters.AddRange(DepositSlip(ePayInfo));
                break;

            default:
                throw new NotSupportedException("Методът на плащане не се поддържа!");
            }

            // This line REDIRECTS to target page with the passed parameters
            return(WebExtentions.CreatePaymentForm(httpParameters, ConfigurationManager.AppSettings["ePayUrl"]));
        }
Esempio n. 2
0
        protected void EventCallback(object sender, EventArgs e)
        {
            var btn = sender as Button;

            if (btn != null)
            {
                var md  = WebExtentions.ParseMetadata(DetalleDispositivo.TipoParametro.Metadata);
                var cmd = md["command"];
                cmd = cmd.Replace("$ID", DetalleDispositivo.Dispositivo.Id.ToString());
                cmd = cmd.Replace("$VALUE", DetalleDispositivo.Valor);
                cmd = cmd.Replace("$TAG", md["tag"] ?? string.Empty);
                if (DispatchCommand != null)
                {
                    DispatchCommand(cmd);
                }
            }
            //Content.Text = "Content Changed.";
        }
Esempio n. 3
0
        protected override void CreateChildControls()
        {
            base.CreateChildControls();
            if (DetalleDispositivo == null)
            {
                return;
            }
            var md   = WebExtentions.ParseMetadata(DetalleDispositivo.TipoParametro.Metadata);
            var ctrl = WebExtentions.CreateWebControl(DetalleDispositivo.TipoParametro.Nombre,
                                                      DetalleDispositivo.TipoParametro.Metadata, DetalleDispositivo.Valor);
            var buttonText = md["action_text"] ?? DetalleDispositivo.TipoParametro.Descripcion;

            Controls.Add(ctrl);
            var doit = new Button
            {
                ID   = DetalleDispositivo.TipoParametro.Nombre + "doIt",
                Text = buttonText
            };

            doit.Click += EventCallback;
            Controls.Add(doit);
        }
Esempio n. 4
0
        public ActionResult TrackOpenRate(string email, string campaignName)
        {
            var baseWebAppFolder = HttpRuntime.AppDomainAppPath.TrimEnd('\\');
            var campaignFolder   = Path.Combine(baseWebAppFolder, "Campaigns");
            var campaignFile     = Path.Combine(campaignFolder, campaignName + ".txt");

            //Create Folder for the current campaign
            Directory.CreateDirectory(campaignFolder);
            using (var file = System.IO.File.Open(campaignFile, FileMode.OpenOrCreate, FileAccess.Write))
            {
                using (var stream = new StreamWriter(file, Encoding.UTF8))
                {
                    stream.WriteLine("Email: " + email + " | Date: " + DateTime.Now + " | IP: " + WebExtentions.GetIPAddress(Request));
                }
            }

            return(new ContentResult());
        }