Esempio n. 1
0
        public async Task <ActionResult> ListPromocions(int?idFose, int?idPromo, int?v)
        {
            ViewBag.Listar = v;
            ViewBag.Fose   = idFose;

            if (idFose != null)
            {
                FosePage fosePage = await db.FosePages.FindAsync(idFose);

                if (fosePage != null)
                {
                    ViewBag.FosePage = fosePage.FosePageCustomValue;
                    return(View(fosePage.Promocions));
                }
            }
            if (idPromo != null)
            {
                PromocionPage promocionPage = await db.PromocionPages.FindAsync(idPromo);

                if (promocionPage != null)
                {
                    FosePage fosePage = await db.FosePages.FindAsync(promocionPage.FosePageId);

                    if (fosePage != null)
                    {
                        ViewBag.FosePage = fosePage.FosePageCustomValue;
                        return(View(fosePage.Promocions));
                    }
                }
            }
            return(RedirectToAction("NotFound", "Error"));
        }
Esempio n. 2
0
        public async Task <ActionResult> Active(int id)
        {
            FosePage FosePage = await db.FosePages.FindAsync(id);

            if (FosePage != null)
            {
                if (FosePage.FosePageActive == "EnEdicion" || FosePage.FosePageActive == "Desactivada")
                {
                    return(View("ActiveConfirmed", FosePage));
                }
            }
            return(RedirectToAction("NotFound", "Error"));
        }
Esempio n. 3
0
        public async Task <ActionResult> Preview(int?id)
        {
            if (id == null)
            {
                return(RedirectToAction("NotFound", "Error"));
            }
            FosePage FosePage = await db.FosePages.FindAsync(id);

            if (FosePage != null)
            {
                FosePage.HeadImages = await db.ImageSections.Where(x => x.ImageSectionPageId == FosePage.FosePageId && x.ImageSectionPageName == "FosePage").ToListAsync();

                return(View(FosePage));
            }
            return(RedirectToAction("NotFound", "Error"));
        }
Esempio n. 4
0
        public async Task <ActionResult> ActiveConfirmed(int id)
        {
            FosePage FosePage = await db.FosePages.FindAsync(id);

            if (FosePage != null)
            {
                var FosePageActive = await GetActiveFosePage();

                if (FosePageActive != null)
                {
                    if (FosePage.FosePageActive == "EnEdicion" || FosePage.FosePageActive == "Desactivada")
                    {
                        FosePage.FosePageActive = "Activada";
                        foreach (var promocionPage in FosePage.Promocions)
                        {
                            promocionPage.PromocionPageActive = "Activada";
                            foreach (var productPage in promocionPage.ProductPages)
                            {
                                productPage.ProductPageActive = "Activada";
                            }
                        }

                        FosePageActive.FosePageActive = "Desactivada";
                        foreach (var promocionPage in FosePageActive.Promocions)
                        {
                            promocionPage.PromocionPageActive = "Desactivada";
                            foreach (var productPage in promocionPage.ProductPages)
                            {
                                productPage.ProductPageActive = "Desactivada";
                            }
                        }

                        db.Entry(FosePage).State       = EntityState.Modified;
                        db.Entry(FosePageActive).State = EntityState.Modified;
                        await db.SaveChangesAsync();

                        return(RedirectToAction("Index"));
                    }
                }
            }
            return(RedirectToAction("NotFound", "Error"));
        }
Esempio n. 5
0
        private async Task <FosePage> GetFosePagePreview(FosePagePreview preview)
        {
            var FosePageActive = await GetActiveFosePage();

            var lastIdFosePage = await db.FosePages.MaxAsync(x => x.FosePageId) + 1;

            var lastIdPromocion = await db.PromocionPages.MaxAsync(x => x.PromocionPageId);

            var lastIdProductPage = await db.ProductPages.MaxAsync(x => x.ProductPageId);

            var lastIdProduct = await db.Products.MaxAsync(x => x.ProductId);

            var FosePagePreview = new FosePage
            {
                FosePageCustomValue = $"FosePage_{lastIdFosePage}",
                FosePageTitle       = "Fose",
                FosePageActive      = "EnEdicion",
                FosePageCreatedDate = DateTime.Now,
                FoseTextBranch      = preview.TextoSucursalesFose ?? FosePageActive.FoseTextBranch,
                Promocions          = new List <PromocionPage>(),
                HeadImages          = Utils.ConvertToImageSectionList(preview.Encabezado)
            };

            for (int i = 0; i < FosePageActive.Promocions.Count; i++)
            {
                var promo = FosePageActive.Promocions[i];

                var newPromo = new PromocionPage
                {
                    PromocionPageActive            = "EnEdicion",
                    PromocionPageCreatedDate       = DateTime.Now,
                    PromocionPageCustomValue       = $"Promocion_{++lastIdPromocion}",
                    PromocionPageHeadImage         = promo.PromocionPageHeadImage,
                    PromocionPageTextFose          = promo.PromocionPageTextFose,
                    PromocionPageTextColorFose     = promo.PromocionPageTextColorFose,
                    PromocionPageOrder             = i + 1,
                    PromocionPageImageLogo1        = promo.PromocionPageImageLogo1,
                    PromocionPageImageLogo2        = promo.PromocionPageImageLogo2,
                    PromocionPageHeadText          = promo.PromocionPageHeadText,
                    PromocionPageSpanHeadText      = promo.PromocionPageSpanHeadText,
                    PromocionPageColorHeadBg       = promo.PromocionPageColorHeadBg,
                    PromocionPageSpanHeadtextColor = promo.PromocionPageSpanHeadtextColor,
                    PromocionPageHeadtextColor     = promo.PromocionPageHeadtextColor,
                    PromocionPageSubText1          = promo.PromocionPageSubText1,
                    PromocionPageSubText2          = promo.PromocionPageSubText2,
                    ProductPages = new List <ProductPage>()
                };

                for (int j = 0; j < promo.ProductPages.Count; j++)
                {
                    var product = promo.ProductPages[j];
                    newPromo.ProductPages.Add(new ProductPage
                    {
                        ProductPageActive      = "EnEdicion",
                        ProductPageCreatedDate = DateTime.Now,
                        ProductPageCustomValue = $"ProductPage_{++lastIdProductPage}",
                        ProductPageBgColor     = product.ProductPageBgColor,
                        ProductPageColorTextCharacteristic1 = product.ProductPageColorTextCharacteristic1,
                        ProductPageColorTextCharacteristic2 = product.ProductPageColorTextCharacteristic2,
                        ProductPageColorTextDescription1    = product.ProductPageColorTextDescription1,
                        ProductPageColorTextDescription2    = product.ProductPageColorTextDescription2,
                        ProductPageColorTextTitle           = product.ProductPageColorTextTitle,
                        ProductPageTextCharacteristic1      = product.ProductPageTextCharacteristic1,
                        ProductPageTextCharacteristic2      = product.ProductPageTextCharacteristic2,
                        ProductPageTextDescription1         = product.ProductPageTextDescription1,
                        ProductPageTextDescription2         = product.ProductPageTextDescription2,
                        ProductPageTextTitle = product.ProductPageTextTitle,
                        Product = new Product
                        {
                            ProductName        = $"Product_{++lastIdProduct}",
                            ProductCustomValue = $"Product_Promocion_{lastIdProductPage}",
                            ProductImage       = product.Product.ProductImage,
                            ProductOrder       = j + 1,
                            ProductURL         = "",
                            ProductSubtitle    = product.Product.ProductSubtitle
                        },
                    });
                }

                FosePagePreview.Promocions.Add(newPromo);
            }

            return(FosePagePreview);
        }