Ejemplo n.º 1
0
        //When a user enters a zip code, update the page accordingly
        public JsonResult UpdateZip(string zipCode)
        {
            CreateNewCookie(zipCode, "Zip Code Cookie");

            var featuredProduct = ProductService.GetFeaturedProduct();
            var promo           = PromoService.GetPromoByProductAndZip(featuredProduct.ProductId, zipCode);
            //Note that the next two lines are similar to my GetSalePrice in PromoService
            //var promo = featuredProduct.Promotions.FirstOrDefault(p => p.promoStartDate <= DateTime.Now
            //&& p.promoEndDate >= DateTime.Now && Convert.ToString(p.promoZipCode) == zipCode);

            //Note that the next two lines are similar to my GetSalePrice in PromoService
            //var promo = featuredProduct.Promotions.FirstOrDefault(p => p.promoStartDate <= DateTime.Now
            //&& p.promoEndDate >= DateTime.Now && Convert.ToString(p.promoZipCode) == zipCode);

            double salePrice = 0;

            if (promo != null && promo.SalePrice.HasValue)
            {
                salePrice = promo.SalePrice.Value;
                ProductViewModel productViewModel = GetProductViewModel(featuredProduct);
                productViewModel.ProductSalePrice = salePrice;
            }
            var result = new { status = "Udpated", promoSalePrice = salePrice };

            return(Json(result, JsonRequestBehavior.AllowGet));
        }
        public ActionResult RemovePromo(int PromoId)
        {
            try {
                Promo promo = PromoService.GetPromo(PromoId);
                PromoService.SavePromo();

                Product product = ProductService.GetProduct(promo.ProductId);
                product.TagsText = "Ta5Fabrixs";
                product.PriceEU  = product.OriginalPriceEU;

                PromoService.RemovePromo(promo.ProductId);
                PromoService.SavePromo();
                return(RedirectToAction("Promos"));
            } catch (DbEntityValidationException e)
            {
                string resultingError = "";
                foreach (var eve in e.EntityValidationErrors)
                {
                    foreach (var ve in eve.ValidationErrors)
                    {
                        resultingError += "- Property: " + ve.PropertyName + ", Error: " + ve.ErrorMessage + "";
                    }
                }
                throw new Exception(resultingError);
            }
        }
Ejemplo n.º 3
0
        private void button1_Click(object sender, EventArgs e)
        {
            AccountService accountService = new AccountService();
            var            res            = accountService.GetById(1);
            PromoService   promoService   = new PromoService();
            var            promos         = promoService.GetAll();

            ;
        }
Ejemplo n.º 4
0
        private void LoadPromos()
        {
            string errorResponse = string.Empty;

            PromoService promoService = new PromoService();
            var          promos       = new List <Promo>();

            // get category
            int?categoryId = null;

            if (!string.IsNullOrWhiteSpace(GetAttributeValue("CategoryId")))
            {
                categoryId = Convert.ToInt32(GetAttributeValue("CategoryId"));
            }

            // get promo type
            bool isTopFree  = false;
            bool isTopPaid  = false;
            bool isFeatured = false;

            string promoType = GetAttributeValue("PromoType");   //"Top Paid, Top Free, Featured"

            switch (promoType)
            {
            case "Top Paid":
                isTopPaid = true;
                break;

            case "Top Free":
                isTopFree = true;
                break;

            case "Featured":
                isFeatured = true;
                break;
            }

            promos = promoService.GetPromos(categoryId, out errorResponse, isTopFree, isFeatured, isTopPaid);

            // check for errors
            ErrorCheck(errorResponse);

            var mergeFields = Rock.Lava.LavaHelper.GetCommonMergeFields(this.RockPage, this.CurrentPerson);

            mergeFields.Add("Promos", promos);

            // add link to detail page
            Dictionary <string, object> linkedPages = new Dictionary <string, object>();

            linkedPages.Add("DetailPage", LinkedPageRoute("DetailPage"));
            mergeFields.Add("LinkedPages", linkedPages);

            lOutput.Text = GetAttributeValue("LavaTemplate").ResolveMergeFields(mergeFields);
        }
        public ActionResult CreatePromo(Promo promo)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    if (promo.EndDate < promo.StartDate)
                    {
                        return(RedirectToAction("Promos"));
                    }
                    if (promo.StartDate < DateTime.Now)
                    {
                        promo.StartDate = DateTime.Now;
                    }
                    promo.PromoPriceLV = promo.PromoPriceEU * 2;
                    promo.Active       = true;
                    PromoService.CreatePromo(promo);

                    Product updatingPriceProduct = ProductService.GetProduct(promo.ProductId);
                    updatingPriceProduct.TagsText = "Ta5Fabrixs";

                    updatingPriceProduct.OriginalPriceEU = updatingPriceProduct.PriceEU;
                    updatingPriceProduct.PriceEU         = promo.PromoPriceEU;

                    ProductService.UpdateProduct(updatingPriceProduct);
                    ProductService.SaveProduct();
                }
                return(RedirectToAction("Promos"));
            }
            catch (DbEntityValidationException e)
            {
                string resultingError = "";
                foreach (var eve in e.EntityValidationErrors)
                {
                    foreach (var ve in eve.ValidationErrors)
                    {
                        resultingError += "- Property: " + ve.PropertyName + ", Error: " + ve.ErrorMessage + "";
                    }
                }
                throw new Exception(resultingError);
            }
        }
 public void CheckForSalesAndDoThem()
 {
     try
     {
         PromoService.UpdateAllPromos();
         PromoService.SavePromo();
     }
     catch (DbEntityValidationException e)
     {
         string resultingError = "";
         foreach (var eve in e.EntityValidationErrors)
         {
             foreach (var ve in eve.ValidationErrors)
             {
                 resultingError += "- Property: " + ve.PropertyName + ", Error: " + ve.ErrorMessage + "";
             }
         }
         throw new Exception(resultingError);
     }
 }
        private void LoadPromos()
        {
            string errorResponse = string.Empty;

            PromoService promoService = new PromoService();
            var          promos       = new List <Promo>();

            // get category
            int?categoryId = null;

            if (!string.IsNullOrWhiteSpace(GetAttributeValue("CategoryId")))
            {
                categoryId = Convert.ToInt32(GetAttributeValue("CategoryId"));
            }

            // get promo type
            bool isTopFree  = false;
            bool isTopPaid  = false;
            bool isFeatured = false;

            string promoType = GetAttributeValue("PromoType");   //"Top Paid, Top Free, Featured"

            switch (promoType)
            {
            case "Top Paid":
                isTopPaid = true;
                break;

            case "Top Free":
                isTopFree = true;
                break;

            case "Featured":
                isFeatured = true;
                break;
            }

            promos = promoService.GetPromos(categoryId, out errorResponse, isTopFree, isFeatured, isTopPaid);

            // check for errors
            ErrorCheck(errorResponse);

            var mergeFields = new Dictionary <string, object>();

            mergeFields.Add("CurrentPerson", CurrentPerson);

            var globalAttributeFields = Rock.Web.Cache.GlobalAttributesCache.GetMergeFields(CurrentPerson);

            globalAttributeFields.ToList().ForEach(d => mergeFields.Add(d.Key, d.Value));

            mergeFields.Add("Promos", promos);

            // add link to detail page
            Dictionary <string, object> linkedPages = new Dictionary <string, object>();

            linkedPages.Add("DetailPage", LinkedPageUrl("DetailPage", null));
            mergeFields.Add("LinkedPages", linkedPages);

            lOutput.Text = GetAttributeValue("LavaTemplate").ResolveMergeFields(mergeFields);

            // show debug info
            if (GetAttributeValue("EnableDebug").AsBoolean() && IsUserAuthorized(Authorization.EDIT))
            {
                lDebug.Visible = true;
                lDebug.Text    = mergeFields.lavaDebugInfo();
            }
        }
 /// <summary>
 /// Class constructor
 /// </summary>
 /// <param name="pPromoService"></param>
 public PromosController(PromoService pPromoService)
 {
     _promoService = pPromoService;
 }
        public ActionResult ListPromos()
        {
            var promos = PromoService.GetPromos();

            return(PartialView("~/Views/Shared/_ListPromos.cshtml", promos));
        }