示例#1
0
        public OutPutUpDateUsuario UpDateUsuario([FromBody] InputUpDateUsuario item)
        {
            var retorno = new OutPutUpDateUsuario();

            using (var db = new FIPEContratosContext())
            {
                var strategy = db.Database.CreateExecutionStrategy();

                strategy.Execute(() =>
                {
                    using (var transaction = db.Database.BeginTransaction())
                    {
                        try
                        {
                            // Inicia transação
                            var usuario       = new Usuario();
                            var perfisUsuario = new List <OutputGetPerfil>();

                            usuario.IdUsuario = item.IdUsuario;
                            usuario.IdPessoa  = item.IdPessoa;
                            usuario.CdSenha   = Codificar(item.CdSenha);
                            usuario.DsLogin   = item.DsLogin;

                            foreach (var itemPerfil in item.Perfis)
                            {
                                perfisUsuario.Add(itemPerfil);
                            }

                            var updateRetorno = new bUsuario(db).UpdateUsuario(usuario, perfisUsuario);

                            // Confirma operações
                            db.Database.CommitTransaction();
                            retorno.LoginDuplicado = true;
                            retorno.Result         = true;
                            return(retorno);
                        }

                        catch (Exception ex)
                        {
                            new bEmail(db).EnviarEmailTratamentoErro(ex, "UsuarioController-UpDateUsuario");

                            retorno.Result = false;
                        }

                        return(retorno);
                    }
                });
                return(retorno);
            }
        }
示例#2
0
        public OutPutUpDateUsuario AtualizarSenha([FromBody] InputUpDateUsuario item)
        {
            var retorno = new OutPutUpDateUsuario();

            using (var db = new FIPEContratosContext())
            {
                var strategy = db.Database.CreateExecutionStrategy();

                strategy.Execute(() =>
                {
                    using (var transaction = db.Database.BeginTransaction())
                    {
                        try
                        {
                            // Inicia transação
                            if (!String.IsNullOrEmpty(item.NrToken))
                            {
                                Guid codUsuario = Guid.Parse(item.NrToken);
                                var usuarios    = db.Usuario.Where(w => w.NrToken == codUsuario).ToList();
                                if (usuarios.Count != 0)
                                {
                                    var usuario = new Usuario();

                                    usuario.CdSenha = Codificar(item.CdSenha);
                                    usuario.DsLogin = usuarios.FirstOrDefault().DsLogin;
                                    usuario.NrToken = Guid.NewGuid();

                                    var updateRetorno = new bUsuario(db).AtualizarSenha(usuario);

                                    // Confirma operações
                                    db.Database.CommitTransaction();

                                    retorno.Result = updateRetorno;

                                    return(retorno);
                                }
                                else
                                {
                                    retorno.ErroAlterarSenha = true;

                                    return(retorno);
                                }
                            }
                            else
                            {
                                var usuario = new Usuario();

                                usuario.CdSenha = Codificar(item.CdSenha);
                                usuario.DsLogin = item.DsLogin;

                                var updateRetorno = new bUsuario(db).AtualizarSenha(usuario);

                                // Confirma operações
                                db.Database.CommitTransaction();

                                retorno.Result = updateRetorno;

                                return(retorno);
                            }
                        }

                        catch (Exception ex)
                        {
                            new bEmail(db).EnviarEmailTratamentoErro(ex, "LoginController-AtualizarSenha");

                            retorno.Result = false;
                        }

                        return(retorno);
                    }
                });
                return(retorno);
            }
        }