public ActionResult ViewListing(string name, string id)
        {
            StoreItem item = null;
            try
            {
                StoreGateway sg = new StoreGateway();
                item = sg.GetStoreItem(Convert.ToInt32(id), true);
                item.Note = RDN.Utilities.Strings.StringExt.ConvertTextAreaToHtml(item.Note);
                Dictionary<String, Int32> sizes = new Dictionary<string, int>();
                if (item.ItemSize.HasFlag(StoreItemShirtSizesEnum.X_Small))
                {
                    sizes.Add(RDN.Utilities.Enums.EnumExt.ToFreindlyName(StoreItemShirtSizesEnum.X_Small), Convert.ToInt32(StoreItemShirtSizesEnum.X_Small));
                }
                if (item.ItemSize.HasFlag(StoreItemShirtSizesEnum.Small))
                {
                    sizes.Add(RDN.Utilities.Enums.EnumExt.ToFreindlyName(StoreItemShirtSizesEnum.Small), Convert.ToInt32(StoreItemShirtSizesEnum.Small));
                }
                if (item.ItemSize.HasFlag(StoreItemShirtSizesEnum.Medium))
                {
                    sizes.Add(RDN.Utilities.Enums.EnumExt.ToFreindlyName(StoreItemShirtSizesEnum.Medium), Convert.ToInt32(StoreItemShirtSizesEnum.Medium));
                }
                if (item.ItemSize.HasFlag(StoreItemShirtSizesEnum.Large))
                {
                    sizes.Add(RDN.Utilities.Enums.EnumExt.ToFreindlyName(StoreItemShirtSizesEnum.Large), Convert.ToInt32(StoreItemShirtSizesEnum.Large));
                }
                if (item.ItemSize.HasFlag(StoreItemShirtSizesEnum.X_Large))
                {
                    sizes.Add(RDN.Utilities.Enums.EnumExt.ToFreindlyName(StoreItemShirtSizesEnum.X_Large), Convert.ToInt32(StoreItemShirtSizesEnum.X_Large));
                }
                if (item.ItemSize.HasFlag(StoreItemShirtSizesEnum.XX_Large))
                {
                    sizes.Add(RDN.Utilities.Enums.EnumExt.ToFreindlyName(StoreItemShirtSizesEnum.XX_Large), Convert.ToInt32(StoreItemShirtSizesEnum.XX_Large));
                }
                ViewBag.ItemSizes = new SelectList(sizes, "value", "key");
                ViewBag.Colors = new SelectList(item.Colors, "HexColor", "NameOfColor");
                var shoppingCartId = StoreGateway.GetShoppingCartId(HttpContext);
                if (shoppingCartId != null)
                {
                    StoreShoppingCart cart = sg.GetShoppingCart(shoppingCartId.Value);
                    item.CartItemsCount = cart.ItemsCount;
                }

            }
            catch (Exception exception)
            {
                ErrorDatabaseManager.AddException(exception, exception.GetType());
            }
            return View(item);
        }
[RequireHttps] //apply to all actions in controller
#endif
        public ActionResult Review(string name, string id, string invoiceId)
        {
            StoreItem item = null;
            try
            {
                StoreGateway sg = new StoreGateway();
                item = sg.GetStoreItem(Convert.ToInt32(id));
                var invoice = sg.GetInvoice(new Guid(invoiceId));
                var storeItem = invoice.InvoiceItems.Where(x => x.StoreItemId == Convert.ToInt32(id)).FirstOrDefault();
                if (storeItem == null)
                    return Redirect(Url.Content("~/?u=" + SiteMessagesEnum.sww));
                var review = ItemReview.GetItemReviewForInvoiceItem(storeItem.InvoiceItemId, Convert.ToInt32(id));
                if (review != null)
                {
                    item.ReviewTitle = review.title;
                    item.ReviewComment = review.comment;
                    item.rate = review.rate;
                    item.ReviewId = review.ReviewId;

                }
                item.InvoiceItemId = storeItem.InvoiceItemId;
                return View(item);
            }
            catch (Exception exception)
            {
                ErrorDatabaseManager.AddException(exception, exception.GetType());
            }
            return Redirect(Url.Content("~/?u=" + SiteMessagesEnum.sww));

        }