public void AtualizarAssociacaoPerfil(Usuario usuario, Perfil perfil) { var ListaPerfil = usuarioPerfilBM.GetPerfilUsuarioByUsuario(usuario); if (ListaPerfil == null) { var NovoPerfilAtivo = new UsuarioPerfil() { Ativo = true, DataAssociacao = DateTime.Now, Perfil = perfil, Usuario = usuario }; usuarioPerfilBM.Insert(NovoPerfilAtivo); } else { var ultimoPerfilAtivo = ListaPerfil.FirstOrDefault(x => x.Ativo); if (ultimoPerfilAtivo.Perfil.IdPerfil != perfil.IdPerfil) { ultimoPerfilAtivo.Ativo = false; usuarioPerfilBM.Update(ultimoPerfilAtivo); var NovoPerfilAtivo = new UsuarioPerfil() { Ativo = true, DataAssociacao = DateTime.Now, Perfil = perfil, Usuario = usuario }; usuarioPerfilBM.Insert(NovoPerfilAtivo); } } }
public void AtualizarFuncionario(Funcionario Funcionario, string Login, bool UsaSenhaDia, int IdPefil) { var UsuarioFuncionario = usuarioBm.GetByFuncionario(Funcionario); if (UsuarioFuncionario == null) { UsuarioFuncionario = new Usuario() { DataCriacao = DateTime.Now, AutenticaSenhaDia = UsaSenhaDia, Ativo = true, Email = Funcionario.Email, Telefone = string.IsNullOrWhiteSpace(Funcionario.TelefoneCelular) ? Funcionario.TelefoneFixo : Funcionario.TelefoneCelular, Login = Login.ToUpper(), Nome = Funcionario.Nome.ToUpper(), FuncionarioAssociado = funcionarioBm.GetByID(Funcionario.IdFuncionario) }; usuarioBm.Insert(UsuarioFuncionario); var usuarioPerfil = new UsuarioPerfil() { Ativo = true, DataAssociacao = DateTime.Now, Perfil = perfilBm.GetByID(IdPefil), Usuario = usuarioBm.GetByID(UsuarioFuncionario.IdUsuario) }; usuarioPerfilBm.Insert(usuarioPerfil); } else { UsuarioFuncionario.Login = Login.ToUpper(); UsuarioFuncionario.Nome = Funcionario.Nome.ToUpper(); UsuarioFuncionario.Email = Funcionario.Email; UsuarioFuncionario.Telefone = string.IsNullOrWhiteSpace(Funcionario.TelefoneCelular) ? Funcionario.TelefoneFixo : Funcionario.TelefoneCelular; UsuarioFuncionario.AutenticaSenhaDia = UsaSenhaDia; usuarioBm.Update(UsuarioFuncionario); var usuarioPerfil = usuarioPerfilBm.GetPerfilByUsuario(UsuarioFuncionario).Where(x => x.Ativo).FirstOrDefault(); if (usuarioPerfil != null) { usuarioPerfil.Ativo = false; usuarioPerfilBm.Update(usuarioPerfil); usuarioPerfil = new UsuarioPerfil() { Ativo = true, DataAssociacao = DateTime.Now, Perfil = perfilBm.GetByID(IdPefil), Usuario = usuarioBm.GetByID(UsuarioFuncionario.IdUsuario) }; usuarioPerfilBm.Insert(usuarioPerfil); } } }