Exemple #1
0
        public async Task <ActionResult> MasterCriaUsuario(UsuarioViewModel model)
        {
            var categorias = await this.service.RetornarCategoriasDisponniveis();

            ViewData.Add("CategoriasForSelectList", PreparaParaListaDeCategorias(categorias, null));

            var empresas = await this.serviceEmpresas.RetornarTodasEmpresasMaster();

            ViewData.Add("EmpresasForSelectList", PreparaParaListaDeEmpresas(empresas, null));

            if (!ModelState.IsValid)
            {
                ViewBag.CategoriasInteresse = PreparaParaListaDeCategorias(categorias, model.CategoriasInteresse);
                ViewBag.Empresas            = PreparaParaListaDeEmpresas(empresas, model.EmpresaId);
                return(View(model));
            }
            else
            {
                var user = await this.service.InserirRetornarUsuario(AutoMapper.Mapper.Map <Usuario>(model));

                if (user != null)
                {
                    user.AdicionarCategoria(model.CategoriasInteresse);
                }

                foreach (var uc in user.UsuarioCategoria)
                {
                    await service.InserirUsuarioCategoria(uc);
                }

                return(RedirectToAction("Login", "Account"));
            }
        }
        public async Task <ActionResult> NovoUsuario(UsuarioViewModel model)
        {
            var categorias = await this.service.RetornarCategoriasDisponniveis();

            ViewData.Add("CategoriasForSelectList", PreparaParaListaDeCategorias(categorias, null));

            var empresas = await this.serviceEmpresas.RetornarTodasEmpresas();

            ViewData.Add("EmpresasForSelectList", PreparaParaListaDeEmpresas(empresas, null));

            if (!ModelState.IsValid)
            {
                ViewBag.CategoriasInteresse = PreparaParaListaDeCategorias(categorias, model.CategoriasInteresse);
                ViewBag.Empresas            = PreparaParaListaDeEmpresas(empresas, model.EmpresaId);
                return(View(model));
            }
            else
            {
                if (UsuarioLogado.UsuarioAutenticado().Perfil == Domain.Enumeradores.EnumPerfil.AdministradorEmpresa)
                {
                    model.Perfil    = Domain.Enumeradores.EnumPerfil.AdministradorEmpresa;
                    model.EmpresaId = (int)UsuarioLogado.UsuarioAutenticado().EmpresaId;
                }

                var user = await this.service.InserirRetornarUsuario(AutoMapper.Mapper.Map <Usuario>(model));

                if (user != null)
                {
                    user.AdicionarCategoria(model.CategoriasInteresse);
                }

                foreach (var uc in user.UsuarioCategoria)
                {
                    await service.InserirUsuarioCategoria(uc);
                }

                EnviarEmailConfirmacaoCadastro(user);

                return(RedirectToAction("ListarUsuarios"));
            }
        }