public ActionResult GetGood(int id = -1)
        {
            var goodNodeID = WebConfigurationManager.AppSettings[InstallHelpers.GoodNodeIDKey];

            var content = Umbraco.TypedContent(goodNodeID);

            if (content == null)
            {
                throw new System.Exception("Couldn't find any node with id = " + goodNodeID + ". Change app setting's " + InstallHelpers.GoodNodeIDKey + " value to correct ID of a Good content page)");
            }

            var        renderModel = CreateRenderModel(content);
            ViewResult v           = View("Good", renderModel);

            v.ViewData["GoodID"] = id;
            if (id > -1)
            {
                try
                {
                    v.ViewData["good"] = UltimaWebService.GetProductInfo(id);
                }
                catch { }
            }
            return(v);
        }
        public ActionResult GetCategory(int id = -1)
        {
            var categoryNodeID = WebConfigurationManager.AppSettings[InstallHelpers.CategoryNodeIDKey];

            var content = Umbraco.TypedContent(categoryNodeID);

            if (content == null)
            {
                throw new System.Exception("Couldn't find any node with id = " + categoryNodeID + ". Change app setting's " + InstallHelpers.CategoryNodeIDKey + " value to correct ID of a Category content page)");
            }

            RouteData.DataTokens["CategoryID"] = id;
            var        renderModel = CreateRenderModel(content);
            ViewResult v           = View("Goods", renderModel);

            v.ViewData["CategoryID"] = id;
            if (id > -1)
            {
                try
                {
                    v.ViewData["category"] = UltimaWebService.GetCategoryInfo(id);
                }
                catch { }
            }
            return(v);
        }
    public static CClientInfo GetClientInfo(bool forceRenew)
    {
        CClientInfo clientInfo = null;

        if (forceRenew)
        {
            try
            {
                clientInfo = UltimaWebService.GetClientInfo();
            }
            catch (Exception ex)
            {
                SessionErrors.Add(ex.Message);
                SignOut();
            }

            SetClientInfo(clientInfo);
        }
        else
        {
            clientInfo = (CClientInfo)HttpContext.Current.Session["ClientInfo"];
        }

        if (clientInfo == null && HttpContext.Current.User.Identity.IsAuthenticated)
        {
            SignOut();
        }

        return(clientInfo);
    }
Пример #4
0
    public static byte[] GetProductImage(long goodID, int viewID, bool useCache)
    {
        if (useCache && prodPhotoCache.ContainsKey(goodID))
        {
            return(prodPhotoCache[goodID]);
        }

        byte[] bytes = DiskCache.GetImage(goodID, 0, viewID);
        if (bytes != null)
        {
            return(bytes);
        }
        else
        {
            bytes = ImageUtility.GetNoImageStub();
        }

        Hashtable pars = new Hashtable();

        pars["ProductIds"] = new long[] { goodID };
        XmlDocument         doc   = UltimaWebService.GetXmlResponse("GetProductPhotos", pars);
        XmlNamespaceManager nsmgr = doc.NsMan();

        try
        {
            if (doc.DocumentElement.ChildNodes.Count > 0)
            {
                string data = doc.DocumentElement.SelectSingleNode(String.Format("{0}:GetProductPhotosResponse/{0}:Content", doc.GetPrefix()), nsmgr).InnerText;
                viewID = Convert.ToInt32(doc.DocumentElement.SelectSingleNode(String.Format("{0}:GetProductPhotosResponse/{0}:ViewId", doc.GetPrefix()), nsmgr).InnerText);

                bytes = Convert.FromBase64String(data);
                if (bytes != null)
                {
                    DiskCache.WriteImage(bytes, goodID, 0, viewID);
                }
            }
        }
        catch (Exception ex)
        {
            throw new Exception("Error Getting Image", ex);
        }

        if (useCache)
        {
            prodPhotoCache[goodID] = bytes;
        }

        return(bytes);
    }
Пример #5
0
    public static void SetDeliveryAddressId(long deliveryAddressId)
    {
        CBasketTotal basketTotal = GetBasketTotal();

        basketTotal.DeliveryAddressId = deliveryAddressId;
        if (deliveryAddressId > 0)
        {
            basketTotal.DeliveryCost = UltimaWebService.GetDeliveryCost(deliveryAddressId);
        }
        else
        {
            basketTotal.DeliveryCost = 0M;
        }

        basketTotal.GrandTotal = basketTotal.DeliveryCost + basketTotal.Total;
        SetBasketTotal(basketTotal);
    }
Пример #6
0
    public static int ReloadProductsPrices()
    {
        XmlDocument doc;

        Hashtable pars = new Hashtable();

        pars["CategoryIds"] = new long[] { 1 };
        pars["ZoneIds"]     = new long[] { 1 };
        doc = UltimaWebService.GetXmlResponse("GetProductPrices", pars);
        XmlNamespaceManager nsmgr = doc.NsMan();

        foreach (XmlNode node in doc.DocumentElement.SelectNodes(String.Format("{0}:GetProductPricesResponse", doc.GetPrefix()), nsmgr))
        {
            prodPricesCache[Convert.ToInt64(node.SelectSingleNode(doc.Prefixed("ProductId"), nsmgr).InnerText)] = Convert.ToDecimal(node.SelectSingleNode(doc.Prefixed("Value"), nsmgr).InnerText);
        }

        return(prodPricesCache.Count);
    }
Пример #7
0
    public static string GetProductInfo(long goodID, string dataField, bool useCache)
    {
        XmlDocument doc;

        if (prodInfoCache.ContainsKey(goodID) && useCache)
        {
            doc = prodInfoCache[goodID];
        }
        else
        {
            Hashtable pars = new Hashtable();
            pars["ProductsIds"] = new long[] { goodID };
            doc = UltimaWebService.GetXmlResponse("GetProducts", pars);
            prodInfoCache[goodID] = doc;
        }
        XmlNamespaceManager nsmgr = doc.NsMan();

        return(doc.DocumentElement.SelectSingleNode(String.Format("{0}:GetProductsResponse/{0}:{1}", doc.GetPrefix(), dataField), nsmgr).InnerText);
    }
    public static bool SignIn(string user, string password)
    {
        bool isSignedIn = UltimaWebService.SignInAgent(user, password);

        if (isSignedIn)
        {
            CClientInfo info = SessionClient.GetClientInfo(true);

            if (info != null)
            {
                bool   isPersistent = false;
                string userData     = info.Id.ToString();

                FormsAuthenticationTicket ticket = new FormsAuthenticationTicket(
                    1,                                                         // ticket version
                    info.FirstName,                                            // authenticated username
                    DateTime.Now,                                              // issueDate
                    DateTime.Now.AddMinutes(30),                               // expiryDate
                    isPersistent,                                              // true to persist across browser sessions
                    userData,                                                  // can be used to store additional user data
                    FormsAuthentication.FormsCookiePath);                      // the path for the cookie

                string encryptedTicket = FormsAuthentication.Encrypt(ticket);

                HttpCookie cookie = new HttpCookie(FormsAuthentication.FormsCookieName, encryptedTicket);
                cookie.HttpOnly = true;
                HttpContext.Current.Response.Cookies.Add(cookie);
                return(true);
            }
            else
            {
                SessionTrace.Add("ClientInfo is null");
            }
        }
        else
        {
            SessionTrace.Add("Not signed in - signing out..");
        }

        SignOut();

        return(false);
    }
Пример #9
0
    public static byte[] GetProductImage(long goodID, bool useCache)
    {
        if (prodPhotoCache.ContainsKey(goodID) && useCache)
        {
            return(prodPhotoCache[goodID]);
        }

        Hashtable pars = new Hashtable();

        pars["ProductIds"] = new long[] { goodID };
        XmlDocument         doc   = UltimaWebService.GetXmlResponse("GetProductPhotos", pars);
        XmlNamespaceManager nsmgr = doc.NsMan();

        byte[] bytes = GetNoImageStub();
        try
        {
            string data = doc.DocumentElement.SelectSingleNode(String.Format("{0}:GetProductPhotosResponse/{0}:Content", doc.GetPrefix()), nsmgr).InnerText;
            bytes = Convert.FromBase64String(data);
        }
        catch { }

        prodPhotoCache[goodID] = bytes;
        return(bytes);
    }
    public static List <CDeliveryAddress> GetDeliveryAddresses(bool forceRenew)
    {
        List <CDeliveryAddress> deliveryAddresses = null;

        if (forceRenew || deliveryAddresses == null)
        {
            try
            {
                deliveryAddresses = UltimaWebService.GetDeliveryAddresses();
            }
            catch (Exception ex)
            {
                SessionErrors.Add(ex.Message);
            }

            SetDeliveryAddresses(deliveryAddresses);
        }
        else
        {
            deliveryAddresses = (List <CDeliveryAddress>)HttpContext.Current.Session["DeliveryAddresses"];
        }

        return(deliveryAddresses);
    }