public PartialViewResult partialTornarAssociado(int idAssociado)
        {
            var Model = new TornarAssociadoForm();

            Model.NaoAssociado = this.ONaoAssociadoBL.carregar(idAssociado).condicoesSeguranca().FirstOrDefault();

            return(PartialView(Model));
        }
        public ActionResult tornarAssociado(TornarAssociadoForm ViewModel)
        {
            Associado OAssociado = this.ONaoAssociadoBL.carregar(ViewModel.NaoAssociado.id).condicoesSeguranca().FirstOrDefault();

            if (OAssociado == null)
            {
                ModelState.AddModelError("", "O cadastro não pôde ser localizado.");
                return(PartialView("partial-tornar-associado", ViewModel));
            }

            if (ViewModel.flagDesejaAdmitir == "S" && ViewModel.NaoAssociado.dtAdmissao == null)
            {
                ModelState.AddModelError("", "Informe a data de admissão.");
                return(PartialView("partial-tornar-associado", ViewModel));
            }

            if (ViewModel.NaoAssociado.idTipoAssociado == 0)
            {
                ModelState.AddModelError("", "Informe o tipo de associado.");
                return(PartialView("partial-tornar-associado", ViewModel));
            }

            if (ViewModel.NaoAssociado.idTipoAssociado == TipoAssociadoConst.NAO_ASSOCIADO)
            {
                ModelState.AddModelError("", "Não é possível escolher o tipo 'Não Associado'.");
                return(PartialView("partial-tornar-associado", ViewModel));
            }

            if (ViewModel.observacoes != null && ViewModel.observacoes.Length > 100)
            {
                ModelState.AddModelError("observacoes", "A observação não pode ultrapassar 100 caracteres.");
                return(PartialView("partial-tornar-associado", ViewModel));
            }

            var Associado = new Associado();

            Associado.id = ViewModel.NaoAssociado.id;
            Associado.idTipoAssociado = Convert.ToInt32(ViewModel.NaoAssociado.idTipoAssociado);
            Associado.ativo           = ViewModel.flagDesejaAdmitir == "S" ? "S" : "E";
            Associado.dtAdmissao      = ViewModel.flagDesejaAdmitir == "S" ? ViewModel.NaoAssociado.dtAdmissao : null;

            this.ONaoAssociadoAcaoBL.tornarAssociado(Associado, ViewModel.observacoes);

            this.Flash(UtilMessage.TYPE_MESSAGE_SUCCESS, "Tornou-se associado com sucesso!");

            return(Json(new{ flagSucesso = true, ViewModel.NaoAssociado.id }));
        }