public static CategoriaVM ModelToViewModel(FORNECEDOR_CATEGORIA categoria, UrlHelper url) { var viewModel = Mapper.Map <CategoriaVM>(categoria); viewModel.Url = url; viewModel.Validar(); return(viewModel); }
public ActionResult CategoriaFrm(string chaveurl) { try { int contratanteId = (int)Geral.PegaAuthTicket("ContratanteId"); int id = 0; string acao = ""; if (!string.IsNullOrEmpty(chaveurl)) { List <ParametroCriptografia> param = Cripto.DescriptografarUrl(chaveurl, Key); Int32.TryParse(param.First(p => p.Name == "id").Value, out id); acao = param.First(p => p.Name == "Acao").Value; } CategoriaVM categoriaVM = new CategoriaVM(); //Inclusão Categoria if (id == 0) { categoriaVM.Ativo = true; } //Inclusão de SubCategoria else if (acao == "NovaSubcategoria") { FORNECEDOR_CATEGORIA categoriaSelecionada = _fornecedorCategoriaService.BuscarPorId(id, contratanteId); categoriaVM.PaiId = categoriaSelecionada.ID; categoriaVM.DescricaoCategoriaPai = String.Concat(categoriaSelecionada.CODIGO, !String.IsNullOrEmpty(categoriaSelecionada.CODIGO) ? " - " : "", categoriaSelecionada.DESCRICAO); } //Alteração ou Exclusão de Categoria ou Subcategoria else { categoriaVM = Mapper.Map <CategoriaVM>(_fornecedorCategoriaService.BuscarPorId(id, contratanteId), opt => opt.Items["Url"] = Url); } ViewBag.Acao = acao; return(View(categoriaVM)); } catch (ServiceWebForLinkException ex) { ModelState.AddModelError("", ex.Message); Log.Error(ex); return(View(new CategoriaVM() { Ativo = true })); } catch (Exception ex) { ModelState.AddModelError("", "Ocorreu um erro durante sua requisição."); Log.Error(ex); return(View(new CategoriaVM() { Ativo = true })); } }
public ActionResult CategoriaFrm(CategoriaVM model, string acao) { try { int contratanteId = (int)Geral.PegaAuthTicket("ContratanteId"); ViewBag.Acao = acao; if (acao == "Excluir") { ModelState.Remove("Codigo"); ModelState.Remove("Descricao"); } if (ModelState.IsValid) { ModelState.Clear(); FORNECEDOR_CATEGORIA categoriaInserir = Mapper.Map <FORNECEDOR_CATEGORIA>(model); //Inserção de Categoria if (model.ID == 0) { categoriaInserir.CONTRATANTE_ID = contratanteId; _fornecedorCategoriaService.InserirCategoria(categoriaInserir); TempData["MensagemSucesso"] = "Inclusão realizada com sucesso!"; } //Alteração de Categoria else if (acao == "Alterar") { _fornecedorCategoriaService.AlterarCategoria(categoriaInserir); TempData["MensagemSucesso"] = "Alteração realizada com sucesso!"; } //Exclusão de Categoria if (acao == "Excluir") { if (ModelState.IsValid) { _fornecedorCategoriaService.ExcluirCategoriaDireto(categoriaInserir); } TempData["MensagemSucesso"] = "Exclusão realizada com sucesso!"; } return(RedirectToAction("CategoriaLst", "Categoria")); } return(View(model)); } catch (ServiceWebForLinkException ex) { ModelState.AddModelError("", ex.Message); return(View(model)); } catch (Exception ex) { ModelState.AddModelError("", "Ocorreu um erro durante sua requisição."); Log.Error(ex); return(View(model)); } }
public bool FinalizarFichaCadastral(FichaCadastralWebForLinkVM model) { var preenchimentoValido = false; #region Validar Dados do Questionario Dinâmico List <WFD_INFORM_COMPL> informacoesComplementar = new List <WFD_INFORM_COMPL>(); if (model.Questionarios != null) { if (model.Questionarios.QuestionarioDinamicoList != null) { foreach (var questionario in model.Questionarios.QuestionarioDinamicoList) { foreach (var aba in questionario.AbaList) { foreach (var pergunta in aba.PerguntaList) { #region Validar se os campos obrigatórios estão preenchidos //if (pergunta.Obrigatorio) //{ // if (string.IsNullOrEmpty(pergunta.Resposta)) // { // ModelState.AddModelError("QuestionarioDinamicoValidation", string.Format("Campo {0} obrigatório!", pergunta.Titulo)); // } //} #endregion //if (ModelState.IsValid) //{ WFD_INFORM_COMPL infoCompleRespondida = new WFD_INFORM_COMPL() { SOLICITACAO_ID = model.Solicitacao.ID, PERG_ID = pergunta.Id, RESPOSTA = pergunta.Resposta }; switch (pergunta.TipoDado) { case "RadioButton": { if (pergunta.DominioListId != 0) { infoCompleRespondida.RESPOSTA = pergunta.DominioListId.ToString(); } } break; case "Checkbox": { string respostaIdentada = string.Empty; foreach (string resposta in pergunta.RespostaCheckbox) { if (!resposta.Equals("false")) { respostaIdentada = string.Concat(respostaIdentada, "^", resposta); } } if (!string.IsNullOrEmpty(respostaIdentada)) { infoCompleRespondida.RESPOSTA = respostaIdentada.Remove(0, 1); } } break; } informacoesComplementar.Add(infoCompleRespondida); //} } } } } } #endregion FORNECEDOR_CATEGORIA categoria = _fornecedorCategoriaService.BuscarPorId((int)model.CategoriaId); if (model.TipoFornecedor != 1) { if (model.DadosEnderecos == null || !model.DadosEnderecos.Any()) { ModelState.AddModelError("DadosEnderecoValidation", "Informar ao menos um Endereço!"); } else if (model.DadosEnderecos.Any(x => x.TipoEnderecoId == 0 || String.IsNullOrEmpty(x.Endereco) || String.IsNullOrEmpty(x.Numero) || String.IsNullOrEmpty(x.CEP))) { ModelState.AddModelError("DadosEnderecoValidation", "Dados incompletos no Endereço!"); } } if (!categoria.ISENTO_DADOSBANCARIOS && !model.ApenasSalvar) { if (!model.DadosBancarios.Any()) { ModelState.AddModelError("DadosBancariosValidation", "Informar ao menos um Dado Bancário!"); model.DadosBancarios.Add(new DadosBancariosVM()); } } else { //REMOVE AS CRITICAS DOS DADOS BANCARIOS CASO A CATEGORIA SEJA ISENTA while (ModelState.FirstOrDefault(ms => ms.Key.Contains("DadosBancarios") && ms.Key.Contains("Banco")).Value != null) { ModelState.Remove(ModelState.FirstOrDefault(ms => ms.Key.Contains("DadosBancarios") && ms.Key.Contains("Banco"))); } while (ModelState.FirstOrDefault(ms => ms.Key.Contains("DadosBancarios") && ms.Key.Contains("Agencia")).Value != null) { ModelState.Remove(ModelState.FirstOrDefault(ms => ms.Key.Contains("DadosBancarios") && ms.Key.Contains("Agencia"))); } while (ModelState.FirstOrDefault(ms => ms.Key.Contains("DadosBancarios") && ms.Key.Contains("ContaCorrente")).Value != null) { ModelState.Remove(ModelState.FirstOrDefault(ms => ms.Key.Contains("DadosBancarios") && ms.Key.Contains("ContaCorrente"))); } while (ModelState.FirstOrDefault(ms => ms.Key.Contains("DadosBancarios") && ms.Key.Contains("ContaCorrenteDigito")).Value != null) { ModelState.Remove(ModelState.FirstOrDefault(ms => ms.Key.Contains("DadosBancarios") && ms.Key.Contains("ContaCorrenteDigito"))); } } if (!categoria.ISENTO_CONTATOS && !model.ApenasSalvar) { if (model.DadosContatos == null || !model.DadosContatos.Any()) { ModelState.AddModelError("DadosContatosValidation", "Informar os Dados do Contato!"); model.DadosContatos = new List <DadosContatoVM>(); model.DadosContatos.Add(new DadosContatoVM()); } } else { //REMOVE AS CRITICAS DOS DADOS DE CONTATOS CASO A CATEGORIA SEJA ISENTA while (ModelState.FirstOrDefault(ms => ms.Key.Contains("DadosContatos") && ms.Key.Contains("EmailContato")).Value != null) { ModelState.Remove(ModelState.FirstOrDefault(ms => ms.Key.Contains("DadosContatos") && ms.Key.Contains("EmailContato"))); } } if (!categoria.ISENTO_DOCUMENTOS && !model.ApenasSalvar && model.TipoFornecedor != 2) { List <SolicitacaoDocumentosVM> docsObrigatorios = model.SolicitacaoFornecedor.Documentos.Where(x => x.Obrigatorio == true && x.ArquivoSubido == null).ToList(); if (docsObrigatorios.Any()) { ModelState.AddModelError("AnexosValidation", "Favor subir os arquivos dos documentos Exigíveis!"); } } ModelState.Remove("SolicitacaoFornecedor.Assunto"); ModelState.Remove("SolicitacaoFornecedor.DescricaoSolicitacao"); ModelState.Remove("SolicitacaoFornecedor.Mensagem"); ModelState.Remove("SolicitacaoFornecedor.DadosEnderecos.T_UF.UF_NM"); int tipoPapel = model.TipoPreenchimento.Equals((int)EnumTiposPreenchimento.Fornecedor) ? (int)EnumTiposPapel.Fornecedor : (int)EnumTiposPapel.Solicitante; int papelAtual = _papelService.BuscarPorContratanteETipoPapel(model.ContratanteID, tipoPapel).ID; foreach (var modeloErrado in ModelState.Values) { if (modeloErrado.Errors.Count != 0) { } } if (ModelState.IsValid) { try { SolicitacaoCadastroFornecedor solicitacaoCadastroFornecedor = _solicitacaoCadastroFornecedorService.BuscarPorSolicitacaoId(model.Solicitacao.ID); CompletarSolicitacaoCadastroPJPF(ref solicitacaoCadastroFornecedor, model); _solicitacaoCadastroFornecedorService.AtualizarSolicitacao(solicitacaoCadastroFornecedor); ManterDadosBancarios(model.DadosBancarios.Where(w => w.Banco != null && w.Agencia != null && w.ContaCorrente != null).ToList(), model.Solicitacao.ID, model.ContratanteID); ManterDadosContatos(model.DadosContatos.Where(w => w.EmailContato != null).ToList(), solicitacaoCadastroFornecedor.SOLICITACAO_ID); ManterDadosEnderecos(model.DadosEnderecos.Where(x => x.TipoEnderecoId > 0).ToList(), solicitacaoCadastroFornecedor.SOLICITACAO_ID); ManterUnspsc(model.FornecedoresUnspsc.ToList(), model.Solicitacao.ID); if (model.TipoFornecedor != (int)EnumTiposFornecedor.EmpresaEstrangeira) { ManterDocumentos(model.SolicitacaoFornecedor.Documentos, model.Solicitacao.ID, model.ContratanteID); } _informacaoComplementarService.InsertAll(informacoesComplementar); model.ProrrogacaoPrazo = new ProrrogacaoPrazoVM(); if (solicitacaoCadastroFornecedor.WFD_SOLICITACAO.WFD_SOLICITACAO_PRORROGACAO.Any()) { //Busca a ultima solicitacao de prorrogação, ou seja a ativa. model.ProrrogacaoPrazo = ProrrogacaoPrazoVM.ToViewModel(solicitacaoCadastroFornecedor.WFD_SOLICITACAO.WFD_SOLICITACAO_PRORROGACAO.OrderBy(o => o.ID).LastOrDefault()); } model.ProrrogacaoPrazo.PrazoPreenchimento = _contratanteConfiguracaoService.BuscarPrazo(solicitacaoCadastroFornecedor.WFD_SOLICITACAO); if (model.ProrrogacaoPrazo.Aprovado != null) { if ((bool)model.ProrrogacaoPrazo.Aprovado) { model.ProrrogacaoPrazo.Status = "Aprovado"; } else { model.ProrrogacaoPrazo.Status = "Reprovado"; } } else { model.ProrrogacaoPrazo.Status = "Aguardando Aprovação..."; } if (!model.ApenasSalvar) { _tramite.AtualizarTramite(model.ContratanteID, model.Solicitacao.ID, model.Solicitacao.Fluxo.ID, papelAtual, (int)EnumStatusTramite.Aprovado, null); ViewBag.MensagemSucesso = "Dados Enviados com Sucesso!"; ViewBag.StatusTramite = (int)EnumStatusTramite.Aprovado; } else { ViewBag.MensagemSucesso = "Dados Salvos com Sucesso!"; ViewBag.StatusTramite = (int)EnumStatusTramite.Aguardando; } preenchimentoValido = true; } catch (Exception e) { ViewBag.MensagemErro = "Erro ao tentar Salvar a ficha cadastral!"; ViewBag.StatusTramite = (int)EnumStatusTramite.Aguardando; Log.Error(e); } } else { ViewBag.MensagemErro = "Não foi possível enviar a Ficha Cadastral! Existem dados incompletos abaixo."; ViewBag.StatusTramite = (int)EnumStatusTramite.Aguardando; } model.Questionarios = new RetornoQuestionario <QuestionarioVM> { QuestionarioDinamicoList = Mapper.Map <List <QuestionarioDinamico>, List <QuestionarioVM> >( _cadastroUnicoBP.BuscarQuestionarioDinamico(new QuestionarioDinamicoFiltrosDTO() { //PapelId = papelAtual, UF = "RJ", ContratanteId = model.ContratanteID, PapelId = papelAtual, CategoriaId = categoria.ID, Alteracao = true, SolicitacaoId = model.Solicitacao.ID }) ) }; PersistirDadosEnderecoEmMemoria(); return(preenchimentoValido); }
public ActionResult FornecedoresExpandirFrm(FichaCadastralWebForLinkVM model, int Empresa, int Organizacao, int FluxoID, int[] DocumentoID, string[] NomeDocumento, int?[] ArquivoID, int[] BancoOrdem, int[] BancoID, int[] Banco, string[] Agencia, string[] Digito, string[] ContaCorrente, string[] ContaCorrenteDigito, int?UsarContato, int[] ContatoID, string[] NomeContato, string[] Email, string[] Telefone, string[] Celular) { int?usuarioId = (int?)Geral.PegaAuthTicket("UsuarioId"); List <int> contratantesForn = Db.WFD_CONTRATANTE_PJPF.Where(c => c.PJPF_ID == model.ID).Select(cc => cc.CONTRATANTE_ID).ToList(); List <Contratante> contratantes = Db.Contratante.Where(c => c.WFD_USUARIO1.Any(u => u.ID == usuarioId) && !contratantesForn.Contains(c.ID)).ToList(); int contID = contratantes.FirstOrDefault(c => c.ID == Empresa).ID; ViewBag.Empresa = new SelectList(contratantes, "ID", "RAZAO_SOCIAL", Empresa); ViewBag.Organizacao = new SelectList(_organizacaoComprasBP.ListarTodosPorIdContratante(contID), "ID", "ORG_COMPRAS_DSC"); ViewBag.Bancos = _bancoBP.ListarTodosPorNome(); ViewBag.EscolherContato = true; ViewBag.UsarContato = UsarContato; model.Expansao = new ExpansaoVM(); model.Solicitacao = new SolicitacaoVM { Fluxo = new FluxoVM { ID = FluxoID } }; if (UsarContato == null) { ModelState.AddModelError("ContatosValidation", "Informe contato que deseja utilizar!"); } //VERIFICA DADOS DE CONTATOS model.DadosContatos = new List <DadosContatoVM>(); for (int i = 0; i < ContatoID.Length; i++) { model.DadosContatos.Add(new DadosContatoVM { ContatoID = ContatoID[i], NomeContato = (i < NomeContato.Length) ? NomeContato[i] : "", EmailContato = (i < Email.Length) ? Email[i] : "", Telefone = (i < Telefone.Length) ? Telefone[i] : "", Celular = (i < Celular.Length) ? Celular[i] : "", }); if (ContatoID[i] == UsarContato) { if (string.IsNullOrEmpty(Email[i])) { ModelState.AddModelError("ContatosValidation", "Informe o email!"); } } } // VERIFICA DADOS BANCARIOS bool dadosBancariosCompleto = true; model.DadosBancarios = new List <DadosBancariosVM>(); for (int i = 0; i < Banco.Length; i++) { bool temDadosBancario = false; if ((Banco[i] != 0)) { temDadosBancario = true; } if ((!string.IsNullOrEmpty(Agencia[i]))) { temDadosBancario = true; } if ((!string.IsNullOrEmpty(Digito[i]))) { temDadosBancario = true; } if ((!string.IsNullOrEmpty(ContaCorrente[i]))) { temDadosBancario = true; } if ((!string.IsNullOrEmpty(ContaCorrenteDigito[i]))) { temDadosBancario = true; } model.DadosBancarios.Add(new DadosBancariosVM { BancoSolicitacaoID = BancoID[i], Banco = (i < Banco.Length) ? Banco[i] : 0, Agencia = (i < Agencia.Length) ? Agencia[i] : "", Digito = (i < Digito.Length) ? Digito[i] : "", ContaCorrente = (i < ContaCorrente.Length) ? ContaCorrente[i] : "", ContaCorrenteDigito = (i < ContaCorrenteDigito.Length) ? ContaCorrenteDigito[i] : "" }); if (temDadosBancario) { if ((Banco[i] == 0)) { dadosBancariosCompleto = false; } if ((string.IsNullOrEmpty(Agencia[i]))) { dadosBancariosCompleto = false; } if (Agencia[i].Length < 4) { dadosBancariosCompleto = false; } if ((string.IsNullOrEmpty(ContaCorrente[i]))) { dadosBancariosCompleto = false; } } } if (!dadosBancariosCompleto) { ModelState.AddModelError("DadosBancariosValidation", "Dado Bancário Incompleto!"); } if (model.DadosBancarios.Count == 0) { ModelState.AddModelError("DadosBancariosValidation", "Informe ao menos um Dado Bancário!"); } //VERIFICA ANEXOS model.SolicitacaoFornecedor = new SolicitacaoFornecedorVM() { Solicitacao = false, Documentos = new List <SolicitacaoDocumentosVM>() }; if (DocumentoID != null) { for (int i = 0; i < DocumentoID.Length; i++) { SolicitacaoDocumentosVM solicitacaoDocumentosvm = new SolicitacaoDocumentosVM() { ID = DocumentoID[i], Documento = NomeDocumento[i], ArquivoID = ArquivoID[i] }; model.SolicitacaoFornecedor.Documentos.Add(solicitacaoDocumentosvm); } } ModelState.Remove("SolicitacaoFornecedor.Assunto"); ModelState.Remove("SolicitacaoFornecedor.DescricaoSolicitacao"); if (ModelState.IsValid) { try { WFD_CONTRATANTE_PJPF fornecedor = Db.WFD_CONTRATANTE_PJPF.Include("Fornecedor") .Include("WFD_PJPF_CATEGORIA") .FirstOrDefault(f => f.PJPF_ID == model.ID && f.CONTRATANTE_ID == model.ContratanteFornecedorID); string codigoCategoria = fornecedor.WFD_PJPF_CATEGORIA.CODIGO; FORNECEDOR_CATEGORIA categoria = Db.WFD_PJPF_CATEGORIA.FirstOrDefault(c => c.CONTRATANTE_ID == Empresa && c.CODIGO == codigoCategoria); SOLICITACAO solicitacao = new SOLICITACAO(); PopularSolicitacaoEmAprovacao(Empresa, model.ID, usuarioId, FluxoID, solicitacao); Db.Entry(solicitacao).State = EntityState.Added; Db.SaveChanges(); SolicitacaoCadastroFornecedor solforn = new SolicitacaoCadastroFornecedor { SOLICITACAO_ID = solicitacao.ID, EhExpansao = true, EXPANSAO_PARA_CONTR_ID = Empresa, CATEGORIA_ID = categoria.ID, ORG_COMPRAS_ID = Organizacao }; for (int i = 0; i < BancoID.Length; i++) { solforn.WFD_SOLICITACAO.SolicitacaoModificacaoDadosBancario.Add( new SolicitacaoModificacaoDadosBancario() { BANCO_PJPF_ID = BancoID[i] != 0 ? (int?)BancoID[i] : null, BANCO_ID = (Banco[i] != 0) ? Banco[i] : 0, AGENCIA = (string.IsNullOrEmpty(Agencia[i]) || String.IsNullOrWhiteSpace(Agencia[i])) ? null : Agencia[i], AG_DV = (string.IsNullOrEmpty(Digito[i]) || String.IsNullOrWhiteSpace(Digito[i])) ? null : Digito[i], CONTA = (string.IsNullOrEmpty(ContaCorrente[i]) || String.IsNullOrWhiteSpace(ContaCorrente[i])) ? null : ContaCorrente[i], CONTA_DV = (string.IsNullOrEmpty(ContaCorrenteDigito[i]) || String.IsNullOrWhiteSpace(ContaCorrenteDigito[i])) ? null : ContaCorrenteDigito[i] }); } for (int i = 0; i < ContatoID.Length; i++) { if (ContatoID[i] == UsarContato) { solforn.WFD_SOLICITACAO.SolicitacaoModificacaoDadosContato.Add(new SolicitacaoModificacaoDadosContato { EMAIL = Email[i], NOME = NomeContato[i], TELEFONE = Mascara.RemoverMascaraTelefone(Telefone[i]), CELULAR = Celular[i] }); } } solforn.OBSERVACAO = model.Observacao; Db.Entry(solforn).State = EntityState.Added; Db.SaveChanges(); _tramite.AtualizarTramite(Empresa, solicitacao.ID, FluxoID, 1, 2, null); return(RedirectToAction("FornecedoresLst", "Fornecedores", new { MensagemSucesso = string.Format("Solicitação {0} de Expansão realizado com Sucesso!", solicitacao.ID) })); } catch (Exception ex) { Log.Error(ex); } } return(View(model)); }
private void ValidarFormularioCriacaoSolicitacao(FornecedoresVM model, string Acao) { if (!string.IsNullOrEmpty(model.Email)) { if (!Validacao.ValidarEmail(model.Email)) { ModelState.AddModelError("Contato.Email", "O e-mail informado não está em um formato válido."); } } if (model.Categoria == 0) { ModelState.AddModelError("Categoria", "Informe a Categoria!"); } if (model.TipoFornecedor == 1 || model.TipoFornecedor == 3) { if (model.CNPJ == null) { ModelState.AddModelError("CNPJ", "CNPJ/CPF Obrigatório"); } else { if (model.TipoFornecedor == 1) { if (!Validacao.ValidaCNPJ(model.CNPJ.Replace(".", "").Replace("/", "").Replace("-", "").Replace("_", ""))) { ModelState.AddModelError("CNPJ", "CNPJ Inválido"); } } else { if (!Validacao.ValidaCPF(model.CNPJ.Replace(".", "").Replace("/", "").Replace("-", "").Replace("_", ""))) { ModelState.AddModelError("CNPJ", "CPF Inválido"); } } } } if (Acao == "Incluir") { if (model.TipoFornecedor != 2) { var cnpjteste = model.CNPJ == null ? string.Empty : model.CNPJ.Replace(".", "").Replace("/", "").Replace("-", "").Replace("_", ""); if (_fornecedorService.BuscarIdFornecedorPorCnpj(cnpjteste) != 0) { ModelState.AddModelError("CNPJ", "Já existe um fornecedor cadastrado com esse CNPJ/CPF!"); } if (_solicitacaoCadastroService.BuscarPorStatusId(cnpjteste, 6) != null) { ModelState.AddModelError("CNPJ", "Já existe uma solicitação de criação para este CNPJ/CPF!"); } } else { if (_fornecedorService.BuscarPorRazaoSocial(model.RazaoSocial) != null) { ModelState.AddModelError("RazaoSocial", "Já existe um fornecedor cadastrado com esta Razão Social"); } if (_solicitacaoCadastroService.BuscarPorRazaoSocial(model.RazaoSocial) != null) { ModelState.AddModelError("RazaoSocial", "Já existe uma solicitação de criação para esta Razão Social"); } } } // SE TIPO ESTRANGEIRO RETIRA A VALIDACAO DO CNPJ if (model.TipoFornecedor == 2) { ModelState.Remove("CNPJ"); ModelState.Remove("CONTATO.EMAIL"); } // SE EMPRESA NACIONAL OU PESSOA FÍSICA, RETIRA A VALIDAÇÃO DA RAZÃO SOCIAL if (model.TipoFornecedor == 1 || model.TipoFornecedor == 3) { ModelState.Remove("RAZAOSOCIAL"); } if (model.Categoria > 0) { FORNECEDOR_CATEGORIA categoria = _fornecedorCategoriaService.Get(model.Categoria); int totalDocCatecoria = categoria.ListaDeDocumentosDeFornecedor.Count; if (categoria.ISENTO_DOCUMENTOS && categoria.ISENTO_DADOSBANCARIOS && categoria.ISENTO_CONTATOS) { if (model.TipoCadastro == 1) { ModelState.AddModelError("", "A Categoria escolhida é isenta de Documentação, Dados Bancários e Contato, no entanto você está tentando enviar a solicitação para o fornecedor sem um e-mail de contato. Para continuar sem contato marque a opção \"Eu preencherei os dados\"."); } else { ModelState.Remove("Email"); } } else if (totalDocCatecoria == 0) { ModelState.AddModelError("", "Não é possível enviar esta solicitação. A Categoria/Grupo de Contas selecionado não possue Lista de Documento para solicitação!"); } } }