public IEnumerable<Prestador> GetPrestadorAdmin() { var prestadores = new List<Prestador>(); var cStr = @"Data Source=plumeria.arvixe.com;Initial Catalog=GestaoDados;Persist Security Info=True;User ID=user_gestao;Password=sa.@2"; var cn = new SqlConnection(cStr); cn.Open(); var sql = @" select p.nome, p.email from prestador p inner join aspnetuserroles ar on p.Id = ar.userid where ar.roleid = 1"; var cmd = new SqlCommand(sql, cn); var reader = cmd.ExecuteReader(); while (reader.Read()) { var prestador = new Prestador { pres_Nome = (string)reader["nome"], pres_Email = (string)reader["email"] }; prestadores.Add(prestador); } return prestadores; }
public ActionResult Create(PrestadorUsuarioViewModel prestadorUsuario, string cpf, string cnpj) { try { if (ModelState.IsValid) { var retorno = _userManager.FindByEmail(prestadorUsuario.pres_email); if (retorno != null) { ModelState.AddModelError("pres_email", "Email já cadastrado"); return View(prestadorUsuario); } else { var prestador = new Prestador(); //primeiro efetua o cadastro do usuario var user = new ApplicationUser { UserName = prestadorUsuario.pres_email, Email = prestadorUsuario.pres_email }; //adicionar a role para este usuario IdentityUserRole role = new IdentityUserRole(); role.RoleId = "2"; //role 2 e role prestador role.UserId = user.Id; user.Roles.Add(role); //cria o usuario var result = _userManager.Create(user, prestadorUsuario.Senha); EnviaEmailConfirmacao(user); if (result.Succeeded) { prestadorUsuario.pres_cpf_cnpj = cpf.Replace("-", "").Replace("/", "").Replace(".", ""); //pega o usuario cadastrado e adiciona ele no objeto prestador Usuario usuarioCadastrado = new Usuario(); usuarioCadastrado = _usuarioApp.ObterPorEmail(prestadorUsuario.pres_email); prestador.Usuario = usuarioCadastrado; prestador.pres_Nome = prestadorUsuario.pres_nome; prestador.pres_Email = prestadorUsuario.pres_email; prestador.pres_Cpf_Cnpj = prestadorUsuario.pres_cpf_cnpj; prestador.pres_Endereco = prestadorUsuario.pres_Endereco; prestador.pres_Telefone_Celular = prestadorUsuario.pres_telefone_celular; prestador.pres_Telefone_Residencial = prestadorUsuario.pres_telefone_residencial; prestador.status = EnumClass.EnumStatus.Ativo; prestador.pres_Raio_Recebimento = prestadorUsuario.pres_Raio_Recebimento; prestador.pres_latitude = prestadorUsuario.pres_Latitude; prestador.pres_longitude = prestadorUsuario.pres_Longitude; var endereco = prestador.pres_Endereco; var partes = endereco.Split(','); foreach (var parte in partes.Where(s => s.Contains("-"))) { var separar = parte.Split('-'); var ufs = " AC, AL, AP, AM, BA, CE, DF, ES, GO, MA, MT, MS, MG, PA,PB, PR, PE, PI, RJ, RN, RS, RO, RR, SC, SP, SE, TO"; if (ufs.Contains(separar[1])) { prestador.Estado = (EnumClass.EnumEstados)Enum.Parse(typeof(EnumClass.EnumEstados), separar[1]); prestador.Cidade = separar[0]; } else continue; } _prestadorApp.SaveOrUpdate(prestador); //redireciona o cara para continuar o processo de cadastro dos serviços return RedirectToAction("ServicosCategorias", "Servico", new { cpf = prestador.pres_Cpf_Cnpj, nome = prestador.pres_Nome, email = prestador.pres_Email, celular = prestador.pres_Telefone_Celular, editarPerfil = false }); } else { return View(prestadorUsuario); } } } else { return View(prestadorUsuario); } } catch (Exception e) { var logVm = new LogViewModel(); logVm.Mensagem = e.Message; logVm.Controller = "Prestador"; logVm.View = "Create"; var log = Mapper.Map<LogViewModel, Log>(logVm); _logAppService.SaveOrUpdate(log); return RedirectToAction("ErroAoCadastrar"); } }