Пример #1
0
        public ActionResult Alterar(AlunoViewModel viewmodel)
        {
            ModelState.Remove("matricula");
            ModelState.Remove("endereco.cidadeid");

            if (ModelState.IsValid)
            {
                EnderecoDal serviceEndereco = new EnderecoDal();

                var endereco = serviceEndereco.Obter(viewmodel.enderecoid.Value);
                endereco.cidadeid    = viewmodel.endereco.cidadeid;
                endereco.bairro      = viewmodel.endereco.bairro;
                endereco.logradouro  = viewmodel.endereco.logradouro;
                endereco.numero      = viewmodel.endereco.numero;
                endereco.complemento = viewmodel.endereco.complemento;
                endereco.cep         = RemoveMascara(viewmodel.endereco.cep);

                serviceEndereco.Alterar(endereco);

                AlunoDal serviceAluno = new AlunoDal();

                var aluno = serviceAluno.Obter(viewmodel.alunoid);

                aluno.nome             = viewmodel.nome;
                aluno.cpf              = RemoveMascara(viewmodel.cpf);
                aluno.rg               = RemoveMascara(viewmodel.rg);
                aluno.sexo             = viewmodel.sexo;
                aluno.datanascimento   = viewmodel.datanascimento;
                aluno.idade            = viewmodel.idade;
                aluno.telefone         = RemoveMascara(viewmodel.telefone);
                aluno.email            = viewmodel.email;
                aluno.enderecoid       = endereco.enderecoid;
                aluno.dataalteracao    = DateTime.Now;
                aluno.usuarioalteracao = SessaoUsuario.Sessao.nome;

                serviceAluno.Alterar(aluno);

                ResponsavelDal serviceResponsavel = new ResponsavelDal();

                var responsaveis = serviceResponsavel.ObterVarios(ent => ent.alunoid == aluno.alunoid).ToList();

                viewmodel.responsavel.ForEach(responsavel =>
                {
                    var obj = responsaveis.Single(ent => ent.responsavelid == responsavel.responsavelid);

                    obj.nome          = responsavel.nome;
                    obj.rg            = RemoveMascara(responsavel.rg);
                    obj.cpf           = RemoveMascara(responsavel.cpf);
                    obj.profissao     = responsavel.profissao;
                    obj.celular       = RemoveMascara(responsavel.celular);
                    obj.dataalteracao = DateTime.Now;

                    serviceResponsavel.Alterar(obj);
                });

                return(RedirectToAction("Index", "Aluno"));
            }
            else
            {
                PrepararViewBags();

                return(View(viewmodel));
            }
        }