Ejemplo n.º 1
0
        public async Task <IActionResult> Editar(Guid id, CampanhaModel model)
        {
            try
            {
                ViewBag.Prioridade = CarregarPrioridades(model.Prioridade);

                if (!ModelState.IsValid)
                {
                    return(View("Editar", model));
                }

                if (model.Prioridade.Value < 0 || model.Prioridade.Value > 3)
                {
                    ModelState.AddModelError("Prioridade", "A prioridade de estar dentro da lista de escolha");
                }

                if (model.ImgCampanha != null && model.ImgCampanha.Length > 524288)
                {
                    ModelState.AddModelError("ImgCampanha", "Tamanho máximo de arquivo excedido (500KBytes)");
                }

                if (ModelState.ErrorCount > 0)
                {
                    return(View("Editar", model));
                }

                SimpleResponseObj resposta = await EditarRegistro(model);

                if (resposta.Sucesso)
                {
                    if (model.ImgCampanha != null)
                    {
                        SimpleResponse respImg = await CarregarArquivo(model.Id.Value, model.ImgCampanha);

                        if (!respImg.Sucesso)
                        {
                            ViewBag.Prioridade = CarregarPrioridades(model.Prioridade);
                            model.Criticas     = "Falha ao carregar arquivo";
                            return(View("Editar", model));
                        }
                    }

                    return(RedirectToAction("Index"));
                }

                ModelState.AddModelError(string.Empty, $"Ops, algo deu errado, {resposta.Mensagem.ToString()}");
                return(View("Editar", model));
            }
            catch (SessaoExpiradaException) { return(RedirectToAction("Logout", "Account")); }
        }
Ejemplo n.º 2
0
        public async Task <IActionResult> Adicionar(Guid id, CampanhaModel model)
        {
            try
            {
                ViewBag.Prioridade = CarregarPrioridades(model.Prioridade);

                if (!ModelState.IsValid)
                {
                    return(View("Adicionar", model));
                }

                if (model.Prioridade.Value < 0 || model.Prioridade.Value > 3)
                {
                    ModelState.AddModelError("Prioridade", "A prioridade de estar dentro da lista de escolha");
                }

                if (model.ImgCampanha == null || model.ImgCampanha.Length.Equals(0))
                {
                    ModelState.AddModelError("ImgCampanha", "Arquivo de imagem inválido ou não informado");
                }
                else if (model.ImgCampanha.Length > 524288)
                {
                    ModelState.AddModelError("ImgCampanha", "Tamanho máximo de arquivo excedido (500KBytes)");
                }
                else
                {
                    if (!(ValidarArquivo(model.ImgCampanha)))
                    {
                        ModelState.AddModelError("ImgCampanha", "Formato de arquivo inválido");
                    }
                }

                if (ModelState.ErrorCount > 0)
                {
                    return(View("Adicionar", model));
                }

                SimpleResponseObj resposta = await AdicionarRegistro(model);

                if (resposta.Sucesso)
                {
                    CampanhaModel  campanha = JsonConvert.DeserializeObject <CampanhaModel>(resposta.Mensagem.ToString());
                    SimpleResponse respImg  = await CarregarArquivo(campanha.Id.Value, model.ImgCampanha);

                    if (respImg.Sucesso)
                    {
                        return(RedirectToAction("Index"));
                    }

                    campanha = await LocalizarCampanha(campanha.Id.Value);

                    ViewBag.Prioridade = CarregarPrioridades(campanha.Prioridade);
                    model.Criticas     = "Falha ao carregar arquivo";

                    return(View("Editar", model));
                }

                ModelState.AddModelError(string.Empty, $"Ops, algo deu errado, {resposta.Mensagem.ToString()}");
                return(View("Adicionar", model));
            }
            catch (SessaoExpiradaException) { return(RedirectToAction("Logout", "Account")); }
        }