Example #1
0
 private async Task GetPerfis(UsuarioAddEditVM model)
 {
     model.Perfis = (await _perfilRepository.GetAsync()).Select(x => new SelectListItem()
     {
         Value = x.Id.ToString(), Text = x.Nome.ToString()
     });
 }
Example #2
0
        public async Task <IActionResult> AddEdit(decimal?id)
        {
            if (!User.Identity.IsAuthenticated && id == null)
            {
                return(RedirectToAction("SignIn", "Auth"));
            }

            ViewBag.IsEditing = "N";
            var title = "Adicionar";

            UsuarioAddEditVM model = null;

            if (id > 0)
            {
                var data = await _usuarioRepo.GetAsync(id);

                if (data == null)
                {
                    return(NotFound());
                }

                model             = data.ToVM();
                title             = "Editar";
                ViewBag.IsEditing = "S";
            }

            ViewBag.Title = $"{title} Usuário";

            return(View(model));
        }
Example #3
0
        public async Task <IActionResult> AddEdit(string id, UsuarioAddEditVM model)
        {
            ModelState.Remove("IdUsuarioRegistro");
            ModelState.Remove("DataHoraRegistro");
            ModelState.Remove("ConfirmaSenha");

            if (!ModelState.IsValid)
            {
                return(View(model));
            }

            var data = model.ToData();

            if (String.IsNullOrEmpty(id))
            {
                data.HashSenha         = model.Senha.Encrypt();
                data.IdUsuarioRegistro = Convert.ToDecimal(HttpContextHelper.GetAuthUserId(HttpContext));
                data.DhRegistro        = Convert.ToDecimal(DateTime.Now.ToString("yyyyMMddHHmmss"));
                data.StUsuario         = EnumHelper.SituacaoUsuario.UA9.ToString();

                _usuarioRepo.Add(data);
            }
            else
            {
                _usuarioRepo.Update(data);
            }

            await _uow.CommitAsync();

            return(RedirectToAction("Index"));
        }
Example #4
0
        public IActionResult AddNewUser()
        {
            ViewBag.IsEditing = "N";

            UsuarioAddEditVM model = null;

            ViewBag.Title = "Adicionar Usuário";

            return(View(model));
        }
Example #5
0
        public async Task <IActionResult> AddEdit(int Id)
        {
            var model = new UsuarioAddEditVM();

            if (Id != 0)
            {
                var data = await _usuarioRepository.GetbyIdWithPerfisAsync(Id);

                model = data.ToUsuarioAddEditVM();

                model.PerfisId = data.Perfis?.Select(x => x.Id);
            }
            await GetPerfis(model);

            return(View(model));
        }
Example #6
0
        public async Task <IActionResult> AddEdit(int Id, UsuarioAddEditVM model)
        {
            if (!ModelState.IsValid)
            {
                await GetPerfis(model);

                return(View(model));
            }
            var usr = model.ToData();

            usr.Perfis = await MontarPerfil(model.PerfisId);

            if (Id == 0)
            {
                usr.Senha = usr.Senha.Encrypt();
                _usuarioRepository.Add(usr);
            }
            else
            {
                //tratar para não mostrar a senha no browser
                //usr.Id = Id;
                //usr.Senha = _usuarioRepository.Get(Id).Senha;
                //usr.DataAlteracao = DateTime.Now;
                // com model.toData não funcionou!!!
                var x = _usuarioRepository.Get(Id);
                x.Nome          = model.Nome;
                x.Genero        = (Genero)model.Genero;
                x.Email         = model.Email;
                x.DataAlteracao = DateTime.Now;
                x.Perfis        = usr.Perfis;

                //Usuario u = new Usuario()
                //{
                //    Id = Id,
                //    Nome = model.Nome,
                //    Genero = (Genero)model.Genero,
                //    Email = model.Email,
                //    DataAlteracao = DateTime.Now
                //};

                _usuarioRepository.Update(x);
            }
            await _uow.CommitAsync();

            return(RedirectToAction("Index"));
        }
Example #7
0
        public async Task <IActionResult> AddNewUser(string returnUrl, UsuarioAddEditVM model)
        {
            var data = model.ToData();

            data.HashSenha  = model.Senha.Encrypt();
            data.DhRegistro = Convert.ToDecimal(DateTime.Now.ToString("yyyyMMddHHmmss"));
            data.StUsuario  = EnumHelper.SituacaoUsuario.UA9.ToString();

            _usuarioRepo.Add(data);
            data.IdUsuarioRegistro = data.IdUsuario;

            await _uow.CommitAsync();

            await Task.Run(async() =>
            {
                int userId = Convert.ToInt32(data.IdUsuario);

                var _userToSend = new EmailFormModel()
                {
                    FromEmail = data.EmailUsuario,
                    FromName  = data.NmUsuario
                };

                // Credenciais para o envio do email
                var credentials = _credential.GetEmailCredentials();

                var credEmail = credentials.Where(k => k.Key == "Email").Select(e => e.Value).ToList().FirstOrDefault();
                var credPass  = credentials.Where(k => k.Key == "Password").Select(e => e.Value).ToList().FirstOrDefault();
                var credHost  = credentials.Where(k => k.Key == "Host").Select(e => e.Value).ToList().FirstOrDefault();
                var credPort  = credentials.Where(k => k.Key == "Port").Select(e => e.Value).ToList().FirstOrDefault();

                var _sender = new Sender(credEmail, credPass, credHost, Convert.ToInt16(credPort));

                await _sender.SendConfirmation(_userToSend, userId);
            });

            if (Url.IsLocalUrl(returnUrl) && returnUrl.Length > 1 && returnUrl.StartsWith("/") && !returnUrl.StartsWith("//") && !returnUrl.StartsWith("/\\"))
            {
                return(Redirect(returnUrl));
            }
            else
            {
                return(View("Success", data));
            };
        }
Example #8
0
        public async Task <ActionResult> ResetPassword(UsuarioAddEditVM model)
        {
            if (model.Senha != model.ConfirmaSenha)
            {
                ModelState.AddModelError("", "A nova senha não confere com a confirmação da senha");
                return(View("ConfirmRecover", model));
            }

            if (ModelState.IsValid)
            {
                var _usuario = await _usuarioRepo.GetAsync(model.Id);

                _usuario.HashSenha = model.Senha.Encrypt();
                _usuarioRepo.Update(_usuario);

                await _uow.CommitAsync();

                ViewBag.MessageSuccess = "Senha alterada com sucesso.";

                return(View("Confirm"));
            }

            return(View("ConfirmRecover", model));
        }