コード例 #1
0
        public ActionResult Cadastrar()
        {
            CarregarDadosImpressaoItem();

            var model = new PerfilImpressoraCreateViewModel()
            {
                Ativo = true
            };

            return(View(model));
        }
コード例 #2
0
        public ActionResult Cadastrar(PerfilImpressoraCreateViewModel model)
        {
            Func <string, ViewResult> errorView = (error) =>
            {
                CarregarDadosImpressaoItem();

                if (error != null)
                {
                    Notify.Error(Resources.CommonStrings.RequestUnexpectedErrorMessage);
                }

                return(View(model));
            };

            if (!ModelState.IsValid)
            {
                return(errorView(null));
            }

            if (model.TiposImpressao.NullOrEmpty())
            {
                ModelState.AddModelError(nameof(model.TiposImpressao), "Selecione pelo menos um tipo de impressão para o perfil.");
                return(errorView(null));
            }

            var teste = model.TiposImpressao.Where(w => w.Impressoras.Any(a => a.Selecionado)).Any();

            if (!model.TiposImpressao.Where(w => w.Impressoras.Any(a => a.Selecionado)).Any())
            {
                ModelState.AddModelError(nameof(model.TiposImpressao), "Escolha pelo menos uma impressora para o perfil");
                return(errorView(null));
            }

            var teste2 = model.TiposImpressao.Where(w => w.Impressoras.Any(a => a.Selecionado)).Any();

            if (model.TiposImpressao.Where(w => !w.Impressoras.Any(a => a.Selecionado)).Any())
            {
                ModelState.AddModelError(nameof(model.TiposImpressao), "Todos os tipos de impressão selecionados devem ter pelos menos um empresa escolhida.");
                return(errorView(null));
            }

            PerfilImpressora perfilImpressora = Mapper.Map <PerfilImpressora>(model);

            perfilImpressora.IdEmpresa = IdEmpresa;

            _perfilImpressoraService.Add(perfilImpressora);

            Notify.Success(Resources.CommonStrings.RegisterCreatedSuccessMessage);
            return(RedirectToAction("Index"));
        }