public ActionResult Listagem(int? page, DateTime? dataInicio, DateTime? dataFim, String nome)
        {
            page = page ?? 1;
            var raccoManias = new RaccoManiaService().GetByPage(page.Value, dataInicio, dataFim, nome);

            var list = new MvcList<Ecommerce_RaccoMania>(raccoManias.Item1, page.Value, raccoManias.Item2, Settings.QuantityRegistersPerPage);
            return PartialView(list);
        }
        public ActionResult Novo(Ecommerce_RaccoMania model, List<Ecommerce_RaccoManiaItem> products, List<Ecommerce_RaccoManiaItem> categories)
        {
            //, CultureInfo.CreateSpecificCulture("en-us")
            model.DataInicio = Convert.ToDateTime(String.Format("{0} 00:00", model.DataInicio.ToShortDateString()));
            model.DataFim = Convert.ToDateTime(String.Format("{0} 23:59", model.DataFim.ToShortDateString()));


            foreach (var item in products)
            {
                item.IsAtivo = true;
                item.Ecommerce_Produto = null;
                model.Ecommerce_RaccoManiaItem.Add(item);
            }
            foreach (var item in categories)
            {
                item.IsAtivo = true;
                item.Ecommerce_Categoria = null;
                model.Ecommerce_RaccoManiaItem.Add(item);
            }

            // Verifica se já existe uma Racco Mania Vigente
            if (!new RaccoManiaService().CheckDateRaccoMania(0, model.DataInicio, model.DataFim))
            {
                return Json(new JsonRequestResult
                {
                    ResultType = JsonRequestResultType.Alert,
                    Message = "Já existe uma racco mania registrada para esse período."
                });
            }

            //Verifica se o nome da racco mania já existe
            bool nomeExiste = new RaccoManiaService().CheckNameAlreadyExists(model.Nome, null);
            if (nomeExiste)
            {
                return Json(new JsonRequestResult
                {
                    ResultType = JsonRequestResultType.Alert,
                    Message = "Já existe uma racco mania registrada com este Nome."
                });
            }
            else
            {
                new RaccoManiaService().InsertRaccoMania(model);
                return Json(new JsonRequestResult { ResultType = JsonRequestResultType.Success, Message = Constants._msgCreateSuccess, ReturnUrl = Url.Content("~/Admin/RaccoMania/") });
            }

            
        }
 public ActionResult ListagemCategorias(Int32 idRaccoMania)
 {
     var list = new RaccoManiaService().GetRaccoManiaItems(idRaccoMania).Where(item => item.IdProduto == null).ToList();
     return PartialView(list);
 }
        public ActionResult Clonar(Int32 id)
        {
            var originalRaccoMania = new RaccoManiaService().GetById(id);

            originalRaccoMania.Descricao = String.Format("Registro - [CLONADO] da RaccoMania: ({0})", originalRaccoMania.Nome);
            originalRaccoMania.Nome = "Registro - [CLONADO]";
            originalRaccoMania.DataInicio = originalRaccoMania.DataFim.AddDays(2);
            originalRaccoMania.DataFim = originalRaccoMania.DataFim.AddDays(5);

            ViewBag.Categories = GetCategoriesSelectListItem(new CategoriaService().GetCategoriesOnlyWithProduct(), null);

            return View(originalRaccoMania);
        }
        public ActionResult AdicionarItem(Ecommerce_RaccoManiaItem item, List<Ecommerce_RaccoManiaItem> items, String viewName)
        {
            // Validação especifica para o Produto
            if (item.PercentualDesconto != null && item.PercentualDesconto > 0)
            {
                item.ValorProduto = null;
            }
            else
            {
                item.PercentualDesconto = null;
            }

            //Pega os valores antigos do item
            var produto = new RaccoManiaService().GetItem(item);
            if (produto != null)
            {
                item.Ecommerce_Produto.PrecoUnitario = produto.PrecoUnitario;
            }
            
            items.Insert(0, item);

            var updatedList = items;;
            return PartialView(viewName, updatedList);
        }
        public ActionResult Editar(Int32 id)
        {
            var raccoMania = new RaccoManiaService().GetById(id);

            ViewBag.Categories = GetCategoriesSelectListItem(new CategoriaService().GetCategoriesOnlyWithProduct(), null);

            return View(raccoMania);
        }