Пример #1
0
        public ActionResult EditarPerfil(PrestadorUsuarioViewModel prestadorViewModel)
        {
            try
            {
                DateTime weekDay = DateTime.Now;
                string   data    = weekDay.ToString("dd-MM-yyyy-HH-mm-ss");

                var file = this.Request.Files[0];
                if (!string.IsNullOrEmpty(file.FileName))
                {
                    string savedFileName = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Images/ImagemPerfil");
                    savedFileName = Path.Combine(savedFileName, Path.GetFileName(data + "_" + file.FileName));
                    file.SaveAs(savedFileName);
                    prestadorViewModel.caminho_foto = Path.GetFileName(data + "_" + file.FileName);
                }
                else
                {
                    var prestadorOld = _prestadorApp.GetPorGuid(Guid.Parse(prestadorViewModel.pres_Id));
                    prestadorViewModel.caminho_foto = prestadorOld.caminho_foto;
                }
                ModelState["Senha"].Errors.Clear();
                ModelState["ConfirmaSenha"].Errors.Clear();

                if (ModelState.IsValid)
                {
                    var prestador = Mapper.Map <PrestadorUsuarioViewModel, Prestador>(prestadorViewModel);
                    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.Update(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 = true
                    }));

                    //return RedirectToAction("MeuPerfil", new { usuarioId = prestador.pres_Id });
                }
                else
                {
                    return(View(prestadorViewModel));
                }
            }
            catch (Exception e)
            {
                var logVm = new LogViewModel();
                logVm.Mensagem   = e.Message;
                logVm.Controller = "Prestador";
                logVm.View       = "Post Editar Perfil";

                var log = Mapper.Map <LogViewModel, Log>(logVm);

                _logAppService.SaveOrUpdate(log);
                return(RedirectToAction("ErroAoCadastrar"));
            }
        }
Пример #2
0
        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"));
            }
        }