//
        // GET: /Admin/Content/Details/5

        public ActionResult EditMeta()
        {
            int    PageID          = Convert.ToInt16(Request.QueryString[SettingConstants.QS_PAGEID]);
            string CurrentLangCode = string.Empty;

            if (PageID > 0)
            {
                using (CurrentSiteSettings CurrentSiteSettings = new CurrentSiteSettings(Site))
                {
                    CurrentLangCode = CurrentSiteSettings.CurrentLangCode;
                }

                if (!string.IsNullOrEmpty(CurrentLangCode))
                {
                    var _Page = DependencyResolver.Current.GetService <IRepository <Pages> >();

                    _viewModel = _repository.Find(cp => cp.PageID == PageID && cp.Language.LangCode == CurrentLangCode && cp.Pages.SiteID == Site.ID).FirstOrDefault();
                    if (_viewModel == null)
                    {
                        int LID = Site.SupportedLanguages.Where(lg => lg.LangCode == CurrentLangCode).FirstOrDefault().ID;
                        _viewModel = new CMSPage()
                        {
                            ID = 0, PageID = PageID, LangID = LID
                        };
                    }
                    return(View(_viewModel));
                }
            }
            return(View());
        }
        public ActionResult Index()
        {
            var currentsite = SiteCacher.CurrentSite;

            using (CurrentSiteSettings settings = new CurrentSiteSettings(currentsite))
            {
                _viewModel.CMSPage = _service.GetPageMetadata(Site.ID, WBHelper.CurrentLangID(), Request.RawUrl);
            }

            int UserID = 0;

            if (User.Identity.IsAuthenticated)
            {
                _viewModel.CurrentUserName = loginuser.Details.FirstName + " " + loginuser.Details.LastName;
                if (loginuser != null && loginuser.Details != null)
                {
                    UserID = loginuser.Details.ID;
                }
                else if (User.Identity.IsAuthenticated && !string.IsNullOrEmpty(User.Identity.Name))
                {
                    if (loginuser != null && loginuser.Details != null)
                    {
                        UserID = loginuser.Details.ID;
                    }
                }
            }

            if (ContractID.Equals(0))
            {
                ContractID = WBSSLStore.Web.Helpers.WBHelper.GetCurrentContractID(UserID, Site.ID);
            }

            _viewModel.Items = _service.GetAllProductPricing(currentsite.ID, ContractID);
            return(View(_viewModel));
        }
예제 #3
0
        private void GetMetaDataAndContext(string slug, CurrentSiteSettings settings)
        {
            _viewModel.CMSPage = _service.GetPageMetadata(Site.ID, WBHelper.CurrentLangID(), "/" + slug);
            if (_viewModel.CMSPage != null)
            {
                ReplaceMetaTag();
                _viewModel.CMSPageContent = _service.GetPageContent(_viewModel.CMSPage.ID);

                //get Data For

                if (_viewModel.CMSPageContent != null && !string.IsNullOrEmpty(_viewModel.CMSPageContent.PageContent))
                {
                    //_viewModel.CMSPageContent.PageContent = ReplacePriceControl(_viewModel.CMSPageContent.PageContent, settings);
                }
                else if (_viewModel.CMSPageContent != null && string.IsNullOrEmpty(_viewModel.CMSPageContent.PageContent))
                {
                    _viewModel.CMSPageContent.PageContent = "<h1>Set Content of your Page.</h1>";
                }
                else if (_viewModel.CMSPageContent == null)
                {
                    _viewModel.CMSPageContent             = new CMSPageContent();
                    _viewModel.CMSPageContent.PageContent = "<h1>Set Content of your Page.</h1>";
                }
            }
            else
            {
                _viewModel.CMSPage                    = new CMSPage();
                _viewModel.CMSPageContent             = new CMSPageContent();
                _viewModel.CMSPageContent.PageContent = "<h1>Set Content of your Page.</h1>";
            }
        }
예제 #4
0
        public ActionResult StaticRender(string slug, int?pid)
        {
            if (Convert.ToBoolean(Request.QueryString["init"]))
            {
                SiteCacher.ClearCache(Site.ID);
            }

            if (slug.Equals("shoppingcart"))
            {
                return(RedirectToRoute("shoppingcart_us", new { area = "" }));
            }

            if (slug.EndsWith("/"))
            {
                slug = slug + "index"; //landing page
            }
            //filter Page
            using (CurrentSiteSettings settings = new CurrentSiteSettings(SiteCacher.CurrentSite))
            {
                ViewBag.UserName           = User.Identity.IsAuthenticated ? loginuser.Details.FirstName + " " + loginuser.Details.LastName : "";
                _viewModel.CurrentUserName = ViewBag.UserName;

                return(FilterPage(slug, settings, pid));
            }
        }
        public ActionResult paypalcancel()
        {
            User U = CurrentUser;


            if (U == null)
            {
                int  UserID = Convert.ToInt32(Request.QueryString[SettingConstants.QS_USERID]);
                var  repo   = DependencyResolver.Current.GetService <IRepository <User> >();
                User user   = repo.FindByID(UserID);

                if (user != null && user.ID > 0)
                {
                    System.Web.Security.Membership.ApplicationName = user.SiteID.ToString();

                    System.Web.Security.FormsAuthentication.SetAuthCookie(user.Email, false);
                    U = user;
                }
            }

            Site = GetSite(U.SiteID);
            currentsitesettings = new CurrentSiteSettings(Site);
            _viewModel.SiteID   = U.SiteID;
            return(Redirect(SiteAlias + "/client/orders"));
        }
예제 #6
0
        private ActionResult PageRendering(string slug, CurrentSiteSettings settings, int?pid)
        {
            bool   isFileExists     = false;
            string physicallocation = Server.MapPath(string.Concat(@"~\views\staticpage\", slug.Replace("/", @"\"), ".cshtml"));

            if (System.IO.File.Exists(physicallocation))
            {
                isFileExists = true;
            }

            Pages PG = Site.Pages.Where(P => (P.PageStatusID == (int)PageStatus.Show || P.PageStatusID == (int)PageStatus.HideInNavigation) && P.slug.Equals("/" + slug, System.StringComparison.OrdinalIgnoreCase)).FirstOrDefault();

            if (!isFileExists && PG == null)
            {
                return(RedirectToRoute("pagenotfound"));
            }


            //Get MetaData
            GetMetaDataAndContext(slug, settings);

            if (isFileExists && _viewModel.Items == null)
            {
                int productid = pid.HasValue ? (int)pid : 0;
                SetPricing(productid, settings);
            }


            //End
            slug = isFileExists ? slug : "innerpage";

            ViewBag.PageBrandID = PG != null ? PG.BrandID : 99;
            return(View(slug, _viewModel));
        }
예제 #7
0
        private void SetPricing(int pid, CurrentSiteSettings CurrentSiteSettings, int bid = 0, string code = "")
        {
            int UserID = 0;

            if (User.Identity.IsAuthenticated)
            {
                SSLStoreUser loginuser = ((SSLStoreUser)Membership.GetUser());
                if (loginuser != null && loginuser.Details != null)
                {
                    UserID = loginuser.Details.ID;
                }
                else if (User.Identity.IsAuthenticated && !string.IsNullOrEmpty(User.Identity.Name))
                {
                    loginuser = ((SSLStoreUser)Membership.GetUser());
                    if (loginuser != null && loginuser.Details != null)
                    {
                        UserID = loginuser.Details.ID;
                    }
                }
            }

            if (ContractID.Equals(0))
            {
                ContractID = WBSSLStore.Web.Helpers.WBHelper.GetCurrentContractID(UserID, Site.ID);
            }

            ViewBag.PunchLine = CurrentSiteSettings.PunchLine;
            ViewBag.PunchLine = string.IsNullOrEmpty(ViewBag.PunchLine) ? "Welcome " + SiteCacher.SiteAdminDetail(Site.ID).CompanyName : (ViewBag.PunchLine == "NA" ? string.Empty : ViewBag.PunchLine);


            _viewModel.Items = _service.GetProductPricing(Site.ID, pid, ContractID, bid, code);
        }
        protected override void OnResultExecuting(ResultExecutingContext filterContext)
        {
            base.OnResultExecuting(filterContext);

            using (CurrentSiteSettings CurrentSiteSettings = new CurrentSiteSettings(SiteCacher.CurrentSite))
            {
                WBSSLStore.Web.Helpers.Localization.CultureSwitch.SwitchCulture(CurrentSiteSettings.CurrentSite, CurrentSiteSettings.CurrentLangCode, CurrentSiteSettings.CurrentCultureKey);
            }
        }
예제 #9
0
        private ActionResult FilterPage(string slug, CurrentSiteSettings CurrentSiteSettings, int?pid)
        {
            if (slug.Equals("JavascriptDisabled"))
            {
                return(View(slug));
            }
            if (slug.Equals("favicon.ico"))
            {
                return(View(slug));
            }
            if (slug.Equals("sitemap"))
            {
                return(View(slug));
            }
            if (slug.Equals("testimonials"))
            {
                if (CurrentSiteSettings.IsTestimonials)
                {
                    return(View(slug));
                }
                else
                {
                    return(Redirect("/"));
                }
            }

            if (slug.Equals("sitemap.xml"))
            {
                ViewBag.ISXML = true;
                return(View("SiteMap"));
            }
            else if (slug.Equals("robots.txt"))
            {
                var Repo     = DependencyResolver.Current.GetService <IRepository <SiteSettings> >();
                var settings = Repo.Find(ss => ss.SiteID == Site.ID && ss.Key == SettingConstants.CURRENT_ROBOTS_FILE_VALUE).FirstOrDefault();

                if (settings == null)
                {
                    settings        = new SiteSettings();
                    settings.Key    = SettingConstants.CURRENT_ROBOTS_FILE_VALUE;
                    settings.SiteID = Site.ID;
                    settings.Value  = string.Empty;
                }

                if (Request.Url.AbsoluteUri.Contains(Site.CName))
                {
                    settings.Value = "disallow: /";
                }

                return(Content(settings.Value.Replace("\r\n", Environment.NewLine), "text/Html"));
            }
            else
            {
                return(PageRendering(slug, CurrentSiteSettings, pid));
            }
        }
        public ActionResult paypalwait()
        {
            User U = CurrentUser;


            if (U == null)
            {
                int  UserID = Convert.ToInt32(Request.QueryString[SettingConstants.QS_USERID]);
                var  repo   = DependencyResolver.Current.GetService <IRepository <User> >();
                User user   = repo.FindByID(UserID);

                if (user != null && user.ID > 0)
                {
                    System.Web.Security.Membership.ApplicationName = user.SiteID.ToString();

                    System.Web.Security.FormsAuthentication.SetAuthCookie(user.Email, false);
                    U = user;
                }
            }

            Site = GetSite(U.SiteID);
            currentsitesettings = new CurrentSiteSettings(Site);
            _viewModel.SiteID   = U.SiteID;
            SetSiteIDInSession();

            int OrderID = _service.ProcessPayPalWaitRequest(Site);

            _logger.Log("ProcessPayPalWaitRequest success OrderID=" + OrderID, Logger.LogType.INFO);

            if (OrderID.Equals(-99))
            {
                return(View());
            }


            if (OrderID.Equals(0))
            {
                return(RedirectToAction(WBSSLStore.Web.Util.WBSiteSettings.AppPath + "Error"));
            }
            else
            {
                if (OrderID.Equals(-1))
                {
                    return(Redirect(SiteAlias + "/client/orders"));
                }
                else
                {
                    return(Redirect(SiteAlias + "/client/thankyou?token=" + HttpUtility.UrlEncode(WBSSLStore.CryptorEngine.Encrypt(OrderID + SettingConstants.Seprate + U.ID, true))));//RedirectToAction("index", "Thankyou", new { area = "client", id = OrderID });
                }
            }
        }
예제 #11
0
        public ActionResult RemoveFromCart(int id)
        {
            var result = _service.DeleteFromCart(id);

            if (Convert.ToInt32(result.ItemCount) < 0 || Convert.ToInt32(result.ItemCount) == 0)
            {
                CurrentSiteSettings curret = new CurrentSiteSettings(GetSite(Convert.ToInt32(result.Id)));
                ViewBag.Site = curret.CurrentSite.Alias;
                result.Id    = ((curret.IsSiteRunWithHTTPS) ? "https://" : "http://") + ((curret.IsRunWithWWW) ? "www." : "") + curret.CurrentSite.Alias;
            }
            //else
            //    result.Id = "/";

            return(Json(result));
        }
        public ActionResult paypalipn()
        {
            try
            {
                User U = null;
                if (U == null)
                {
                    int  UserID = Convert.ToInt32(Request.QueryString[SettingConstants.QS_USERID]);
                    var  repo   = DependencyResolver.Current.GetService <IRepository <User> >();
                    User user   = repo.FindByID(UserID);

                    if (user != null && user.ID > 0)
                    {
                        System.Web.Security.Membership.ApplicationName = user.SiteID.ToString();

                        System.Web.Security.FormsAuthentication.SetAuthCookie(user.Email, false);
                        U = user;
                    }
                }

                Site = GetSite(U.SiteID);
                currentsitesettings = new CurrentSiteSettings(Site);
                SetSiteIDInSession();

                _logger.Log("Start PayPal IPN Call Success. Url :" + Request.Url.AbsoluteUri.ToString(), Logger.LogType.INFO);
                if (System.Web.HttpContext.Current.Request.QueryString[SettingConstants.PAYPAL_PAYMENTTYPE].ToString().ToLower().Equals("reissueaddfund"))
                {
                    _service.ProcessPayPalIPNRequestReIssue(Site, WBHelper.CurrentLangID(), SiteCacher.SiteSMTPDetail().ID, currentsitesettings.SiteAdminEmail, currentsitesettings.InvoicePrefix);
                }
                else
                {
                    _service.ProcessPayPalIPNRequest(Site, WBHelper.CurrentLangID(), SiteCacher.SiteSMTPDetail().ID, currentsitesettings.SiteAdminEmail, currentsitesettings.InvoicePrefix);
                }
                _logger.Log("end Paypal IPN Call Success. Url :" + Request.Url.AbsoluteUri.ToString(), Logger.LogType.INFO);
            }
            catch (Exception e)
            {
                _logger.LogException(e);
            }
            finally
            {
                currentsitesettings = null;
            }
            return(null);
        }
        private void SetDefaultData(int id)
        {
            var cartdeatil = _repository.Find(x => x.ShoppingCartID == id).EagerLoad(c => c.ShoppingCart, c => c.Product, c => c.ProductPricing).ToList();

            if (cartdeatil != null && cartdeatil.Count > 0)
            {
                _viewModel.SiteID = cartdeatil[0].ShoppingCart.SiteID;
                Site = GetSite(_viewModel.SiteID);

                currentsitesettings = new CurrentSiteSettings(Site);
                SetSiteIDInSession();
            }

            ViewBag.CartDetails = cartdeatil;
            ViewBag.Country     = CountryList;


            ViewBag.VATCountryCode = currentsitesettings.IsVatApplicable ? CountryList.Find(c => c.ID == currentsitesettings.VatCountry).ISOName : string.Empty;

            _viewModel.OrderAmount   = cartdeatil.Sum(p => p.Price);
            _viewModel.PromoDiscount = cartdeatil.Sum(p => p.PromoDiscount);
        }
        public static string apllicationfullpath(Site site)
        {
            string Host = string.Empty;

            using (CurrentSiteSettings CurrentSiteSettings = new CurrentSiteSettings(site))
            {
                Host = (string.IsNullOrEmpty(CurrentSiteSettings.CurrentSite.Alias) ? CurrentSiteSettings.CurrentSite.CName : CurrentSiteSettings.CurrentSite.Alias);
                if (Host.IndexOf('.') > 0 && !(Host.Split('.').Length > 2))
                {
                    if (CurrentSiteSettings.IsRunWithWWW && !Host.Contains("www."))
                    {
                        Host = Host.Replace(Host, "www." + Host);
                    }
                    else if (!CurrentSiteSettings.IsRunWithWWW && Host.Contains("www."))
                    {
                        Host = Host.Replace("www.", "");
                    }
                }

                Host = ((CurrentSiteSettings.USESSL && CurrentSiteSettings.IsSiteRunWithHTTPS) ? "https" : "http") + "://" + Host;
            }

            return(Host);
        }
        public ActionResult pay(CheckOutViewModel collection)
        {
            bool result = true;

            try
            {
                // TODO: Add insert logic here

                if (collection != null)
                {
                    _viewModel = collection;
                    Site       = GetSite(_viewModel.SiteID);

                    currentsitesettings = new CurrentSiteSettings(Site);
                    //SetSiteIDInSession();
                    if (!User.Identity.IsAuthenticated)
                    {
                        _viewModel.user.PasswordSalt    = WBSSLStore.Web.Helpers.WBHelper.CreateSalt();
                        _viewModel.user.PasswordHash    = WBSSLStore.Web.Helpers.WBHelper.CreatePasswordHash(_viewModel.user.FirstName + _viewModel.SiteID, _viewModel.user.PasswordSalt);
                        _viewModel.user.ConfirmPassword = _viewModel.user.PasswordHash;

                        User user = _viewModel.user;

                        int resultid = _service.AddUserandUpdateCart(user, _viewModel.ShoppingCartID, Site.ID, WBHelper.CurrentLangID(), SiteCacher.SiteSMTPDetail().ID, currentsitesettings.SiteAdminEmail);

                        if (resultid.Equals(1))
                        {
                            //Set Auhtentic ticket in Member Ship.
                            System.Web.Security.Membership.ApplicationName = Site.ID.ToString();

                            if (System.Web.Security.Membership.ValidateUser(user.Email, user.FirstName + Site.ID))
                            {
                                System.Web.Security.FormsAuthentication.SetAuthCookie(user.Email, false);
                            }
                        }
                        else if (resultid.Equals(2))
                        {
                            _viewModel.Errormsg = WBSSLStore.Resources.ErrorMessage.Message.UserExist;
                            result = false;
                        }
                        else if (resultid.Equals(-1))
                        {
                            _viewModel.Errormsg = WBSSLStore.Resources.ErrorMessage.Message.ProcessError;
                            result = false;
                        }
                    }
                    else if (User.Identity.IsAuthenticated && _viewModel.user != null && _viewModel.user.ID.Equals(0))
                    {
                        _viewModel.user = CurrentUser;
                    }

                    try
                    {
                        // validate Amount
                        var cartdeatil = _repository.Find(x => x.ShoppingCartID == _viewModel.ShoppingCartID).EagerLoad(c => c.ShoppingCart, c => c.Product, c => c.ProductPricing).ToList();

                        _viewModel.OrderAmount     = cartdeatil.Sum(p => p.Price);
                        _viewModel.PromoDiscount   = cartdeatil.Sum(p => p.PromoDiscount);
                        _viewModel.AvailableCredit = _service.GetCreditAmount(_viewModel.user.ID, _viewModel.user.SiteID);
                        //Calculate VAT
                        if (currentsitesettings.IsVatApplicable)
                        {
                            if (!string.IsNullOrEmpty(_viewModel.VATNumber) || _viewModel.Tax > 0)
                            {
                                int vatpercent = currentsitesettings.VATTax;
                                if (vatpercent > 0)
                                {
                                    _viewModel.Tax = (((_viewModel.OrderAmount - _viewModel.PromoDiscount) * vatpercent) / 100);
                                }
                            }
                            else
                            {
                                _viewModel.Tax = 0;
                            }
                        }
                        else
                        {
                            _viewModel.Tax = 0;
                        }
                        //

                        _viewModel.PayableAmount = ((_viewModel.OrderAmount - _viewModel.PromoDiscount) + _viewModel.Tax) - _viewModel.AvailableCredit;
                        _viewModel.PayableAmount = _viewModel.PayableAmount <= 0 ? 0 : _viewModel.PayableAmount;
                        _viewModel.PayableAmount = Convert.ToDecimal(_viewModel.PayableAmount.ToString("0.00"));

                        // Set Country Name
                        if (_viewModel.user.Address.CountryID > 0)
                        {
                            Country c = CountryList.Find(x => x.ID == _viewModel.user.Address.CountryID & x.RecordStatusID == (int)RecordStatus.ACTIVE);
                            if (c != null)
                            {
                                _viewModel.BillingCountry = c.CountryName;
                            }
                            else
                            {
                                _viewModel.BillingCountry = "US";
                            }

                            c = null;
                        }
                        else
                        {
                            _viewModel.BillingCountry = "US";
                        }
                        //End
                        // Make Payment
                        if (string.IsNullOrEmpty(_viewModel.Errormsg) && result)
                        {
                            result           = _service.PlaceOrder(_viewModel, Site, WBHelper.CurrentLangID(), SiteCacher.SiteSMTPDetail().ID, currentsitesettings.SiteAdminEmail, currentsitesettings.InvoicePrefix);
                            ViewBag.Errormsg = _viewModel.Errormsg;
                        }
                        else
                        {
                            ViewBag.Errormsg = _viewModel.Errormsg;
                        }
                    }
                    catch (Exception ex)
                    {
                        ViewBag.Errormsg = ex.Message;
                        _logger.LogException(ex);
                        result = false;
                    }
                }

                if (_viewModel.OrderID > 0 && string.IsNullOrEmpty(_viewModel.Errormsg) && result)
                {
                    //if (!currentsitesettings.USESSL)
                    //    System.Web.Security.FormsAuthentication.SignOut();

                    Host = (currentsitesettings.USESSL && currentsitesettings.IsSiteRunWithHTTPS ? "https://" : "http://") + (string.IsNullOrEmpty(currentsitesettings.CurrentSite.Alias) ? currentsitesettings.CurrentSite.CName : currentsitesettings.CurrentSite.Alias);

                    if (currentsitesettings.IsRunWithWWW && !Host.Contains("www."))
                    {
                        Host = Host.Replace(Host, "www." + Host);
                    }
                    else if (!currentsitesettings.IsRunWithWWW && Host.Contains("www."))
                    {
                        Host = Host.Replace("www.", "");
                    }

                    string url = Host + "/client/thankyou?token=" + HttpUtility.UrlEncode(WBSSLStore.CryptorEngine.Encrypt(_viewModel.OrderID + SettingConstants.Seprate + _viewModel.user.ID, true));
                    return(Redirect(url));
                }
            }
            catch (Exception ex)
            {
                ViewBag.Errormsg = ex.Message;
                _logger.LogException(ex);
                result = false;
                if (currentsitesettings != null)
                {
                    currentsitesettings.Dispose();
                }
            }

            SetDefaultData(_viewModel.ShoppingCartID);

            if (currentsitesettings != null)
            {
                currentsitesettings.Dispose();
            }
            return(View("index", _viewModel));
        }