public BaseReturn CadastrarUsuario(string nome, DateTime?datanascimento, string email, string cpf, Sexo sexo, string telefone, string celular , string rua, string bairro, string cep, string cidade, int numero, string uf, string complemento , int codigotipousuario, int codigodepartamento) { if (PesquisarUsuario().Where(y => y.CPF == cpf).FirstOrDefault() != null) { return(new BaseReturn("Usuario", Library.Class.Resources.Message.JA_EXISTE_UM_X0_COM_O_X1_X2.ToFormat("Usuario", "CPF: ", cpf), false)); } Usuarios DadosUsuarios = new Usuarios(nome, datanascimento, email, cpf, sexo, telefone, celular); if (DadosUsuarios.IsInvalid()) { return(new BaseReturn(DadosUsuarios.Notifications.FirstOrDefault().Property, DadosUsuarios.Notifications.FirstOrDefault().Message, false)); } // Cadastro de endereço Enderecos DadosEndereco = new Enderecos(rua, bairro, cep, cidade, numero, uf, complemento); if (DadosEndereco.IsInvalid()) { return(new BaseReturn(DadosEndereco.Notifications.FirstOrDefault().Property, DadosEndereco.Notifications.FirstOrDefault().Message, false)); } DadosEndereco.Usuario.Add(DadosUsuarios); //Não salvar, somente adicionar _RepositoryEndereco.AddNotSave(DadosEndereco); //// Tipo de Usuarios TipoUsuarios TipoUsuario = _RepositoryTipoUsuario.Find(codigotipousuario); //cadastro tipo de usuario TipoUsuario.Usuario.Add(DadosUsuarios); //Adicionar _RepositoryTipoUsuario.Edit(TipoUsuario); //Library.Class.Utils.ExtensionEmail.EnviarEmail("Caro "+ DadosUsuarios.Nome.ToString() + " \n \n Obrigado por entrar em contato. \n Usuario cadastrado.", DadosUsuarios.Email); return(AlterarUsuario(DadosUsuarios.CodigoUsuario, nome, datanascimento, email, cpf, sexo, telefone, celular, rua, bairro, cep, cidade, numero, uf, complemento, codigotipousuario, codigodepartamento)); }