예제 #1
0
        public ActionResult DeleteConfirmed(int id)
        {
            Colunista colunista = db.Colunista.Find(id);

            try
            {
                UserProfile userProfile = _db.UserProfiles.Where(x => x.ColunistaId == colunista.id).FirstOrDefault();

                if (userProfile != null)
                {
                    if (Roles.GetRolesForUser(userProfile.UserName).Count() > 0)
                    {
                        Roles.RemoveUserFromRoles(userProfile.UserName, Roles.GetRolesForUser(userProfile.UserName));
                    }

                    ((SimpleMembershipProvider)Membership.Provider).DeleteAccount(userProfile.UserName);    // deletes record from webpages_Membership table
                    ((SimpleMembershipProvider)Membership.Provider).DeleteUser(userProfile.UserName, true); // deletes record from UserProfile table
                }
            }
            catch
            {
                return(View(colunista));
            }

            colunista.excluido        = true;
            db.Entry(colunista).State = EntityState.Modified;
            db.SaveChanges();

            GerenciaLogs.saveLog(ref db, WebSecurity.GetUserId(User.Identity.Name), areaADM, TipoAcesso.Exclusao, colunista.id);
            return(RedirectToAction("Index", "Colunistas"));
        }
예제 #2
0
        public PartialViewResult SidebarColunista(Colunista colunista)
        {
            var lista = db.Colunista.Where(x => !x.excluido && x.liberado && x.id != colunista.id).OrderBy(x => x.Ordem);

            var ultimas = db.Noticias.Where(x => !x.excluido && x.liberado && x.dataAtualizacao < DateTime.Now && x.idColunista != null).OrderByDescending(x => x.Colunista.Ordem).Select(x => x.idColunista).ToArray();

            var viewModel = new ColunistaSideBarViewModel
            {
                Colunista      = colunista,
                ListaColunista = lista.Where(x => ultimas.Contains(x.id)).Select(x => new ColunistaVM
                {
                    Chave  = x.chave,
                    Foto   = x.foto,
                    Nome   = x.nome,
                    Titulo = x.Noticias.OrderByDescending(n => n.dataCadastro).FirstOrDefault().titulo,
                    Id     = x.id,
                    Url    = x.Noticias
                             .OrderByDescending(noticia => noticia.dataAtualizacao)
                             .FirstOrDefault(c => !c.excluido && c.liberado && c.dataAtualizacao < DateTime.Now).url,
                }).ToList()
                                 //ListaColunista = lista.OrderByDescending(x => x.Noticias != null ? x.Noticias.OrderByDescending(y => y.dataAtualizacao) : null).ToList(),
            };

            return(PartialView("_SidebarColunista", viewModel));
        }
        public async Task <IActionResult> CadastroColunistaPost(Pessoa pessoa)
        {
            if (pessoa.Tipo == "Colunista")
            {
                //Criar um objeto do usuario logado e passar obrigatoriamente email e username
                UsuarioLogado userLogado = new UsuarioLogado()
                {
                    Email    = pessoa.Password,
                    UserName = pessoa.Password
                };
                //Cadastra o usuario na tabela do Identity
                //IdentityResult result = await userManager.CreateAsync(userLogado, pessoa.Password);
                //Testa o resultado do cadastro
                // if (result.Succeeded)



                Colunista c1 = new Colunista
                {
                    Nome     = pessoa.Nome,
                    Endereco = pessoa.Endereco,
                    CPf      = pessoa.CPf,
                    Password = pessoa.Password,
                    Tipo     = pessoa.Tipo
                };
                if (_pessoaDAO.CadastrarPessoa(c1))
                {
                    //Logar usuario no sistema
                    //await signInManager.SignInAsync(userLogado, isPersistent: false);
                    return(RedirectToAction("HomeColunista"));
                }
                else
                {
                    ModelState.AddModelError("", "Cpf já Cadastrado");
                }
            }
            else
            {
                Cliente p1 = new Cliente
                {
                    Nome     = pessoa.Nome,
                    Endereco = pessoa.Endereco,
                    CPf      = pessoa.CPf,
                    Password = pessoa.Password,
                    Tipo     = pessoa.Tipo
                };
                if (_pessoaDAO.CadastrarPessoa(p1))
                {
                    //Logar usuario no sistema
                    //wait signInManager.SignInAsync(userLogado, isPersistent: false);
                    return(RedirectToAction("HomeCliente"));
                }
                else
                {
                    ModelState.AddModelError("", "Cpf já Cadastrado");
                }
            }

            return(View());
        }
예제 #4
0
        public ActionResult Create(Colunista colunista, HttpPostedFileBase foto, HttpPostedFileBase fotoMini, string username = "", string password = "", int cropX = 0, int cropY = 0, int cropWidth = 190, int cropHeight = 132)
        {
            if (ModelState.IsValid)
            {
                string criarUsuario = Request.Form["CriarUsuario"];

                if (criarUsuario == "Sim")
                {
                    username = colunista.nome.GenerateSlug();
                    password = "******";
                }

                if (foto != null)
                {
                    if (cropWidth > 0)
                    {
                        colunista.foto = Utils.SaveAndCropColunista(foto, Server.MapPath("~/Conteudo/Colunistas/Foto/"), cropX, cropY, cropWidth, cropHeight);
                    }
                    else
                    {
                        colunista.foto = Utils.SaveAndCropImage(foto, Server.MapPath("~/Conteudo/Colunistas/Foto/"), 0, 0, 190, 132);
                    }
                }
                colunista.dataCadastro = DateTime.Now;

                int suffix = 0;

                do
                {
                    colunista.chave = colunista.nome.GenerateSlug() + (suffix > 0 ? (suffix++).ToString() : "");
                    suffix++;
                } while (db.Colunista.Where(o => o.chave == colunista.chave).Count() > 0);

                db.Colunista.Add(colunista);
                db.SaveChanges();

                try
                {
                    if (criarUsuario == "Sim")
                    {
                        WebSecurity.CreateUserAndAccount(username, password, propertyValues: new { ColunistaId = colunista.id, Email = colunista.email, Ativo = colunista.liberado, Nome = colunista.nome }, requireConfirmationToken: false);
                        Roles.AddUserToRole(username, "Colunistas");
                    }
                }
                catch (MembershipCreateUserException e)
                {
                    ModelState.AddModelError("Cadastro", ErrorCodeToString(e.StatusCode));
                    //return View(colunista);
                }

                GerenciaLogs.saveLog(ref db, WebSecurity.GetUserId(User.Identity.Name), areaADM, TipoAcesso.Insercao, colunista.id);

                return(RedirectToAction("Index"));
            }

            return(View(colunista));
        }
예제 #5
0
        //
        // GET: /Colunistas/Delete/5

        public ActionResult Delete(int id = 0)
        {
            Colunista colunista = db.Colunista.Find(id);

            if (colunista == null)
            {
                return(HttpNotFound());
            }
            return(View(colunista));
        }
 public IActionResult CadastrarColunista(Colunista c)
 {
     if (_pessoaDAO.CadastrarPessoa(c))
     {
         return(RedirectToAction("Index", "Home"));
     }
     //enviar mensagem para a tela
     ModelState.AddModelError("", "Esta pessoa ja foi cadastrada.");
     return(View(c));
     //return View();
 }
예제 #7
0
        public ActionResult Edit(int id = 0)
        {
            Colunista colunista = db.Colunista.Find(id);

            if (colunista == null)
            {
                return(HttpNotFound());
            }

            UserProfile user = _db.UserProfiles.Where(x => x.ColunistaId == colunista.id).FirstOrDefault();

            if (user != null)
            {
                ViewBag.UserName = user.UserName;
            }
            return(View(colunista));
        }
예제 #8
0
 public bool ReOrder(int[] ids)
 {
     if (ids != null)
     {
         foreach (var id in ids.Select((value, i) => new { i, value }))
         {
             Colunista colunista = db.Colunista.Find(id.value);
             colunista.Ordem           = id.i;
             db.Entry(colunista).State = EntityState.Modified;
         }
         db.SaveChanges();
         return(true);
     }
     else
     {
         return(false);
     }
 }
예제 #9
0
        public ActionResult Edit(Colunista colunista, HttpPostedFileBase fotoUpload, HttpPostedFileBase fotoMiniUpload, string oldPassword = "", string username = "", string password = "", int cropX = 0, int cropY = 0, int cropWidth = 190, int cropHeight = 132)
        {
            if (ModelState.IsValid)
            {
                if (fotoUpload != null)
                {
                    if (cropWidth > 0)
                    {
                        colunista.foto = Utils.SaveAndCropColunista(fotoUpload, Server.MapPath("~/Conteudo/Colunistas/Foto/"), cropX, cropY, cropWidth, cropHeight);
                    }
                    else
                    {
                        colunista.foto = Utils.SaveAndCropImage(fotoUpload, Server.MapPath("~/Conteudo/Colunistas/Foto/"), 0, 0, 190, 132);
                    }
                }
                ;

                //if (fotoMiniUpload != null)
                //{
                //    colunista.fotoMini = Utils.SaveAndCropImage(fotoMiniUpload, Server.MapPath("~/Conteudo/Colunistas/90x90/"), 0, 0, 90, 90);
                //}

                if (password != "" && oldPassword != "" && username != "")
                {
                    var  OldUserName     = _db.UserProfiles.Where(x => x.ColunistaId == colunista.id).Select(x => x.UserName).First();
                    bool hasLocalAccount = OAuthWebSecurity.HasLocalAccount(WebSecurity.GetUserId(OldUserName));
                    ViewBag.HasLocalPassword = hasLocalAccount;
                    ViewBag.ReturnUrl        = Url.Action("Manage");
                    if (hasLocalAccount)
                    {
                        if (ModelState.IsValid)
                        {
                            // ChangePassword will throw an exception rather than return false in certain failure scenarios.
                            bool changePasswordSucceeded;
                            try
                            {
                                changePasswordSucceeded = WebSecurity.ChangePassword(OldUserName, oldPassword, password);
                            }
                            catch (Exception)
                            {
                                changePasswordSucceeded = false;
                            }

                            if (!changePasswordSucceeded)
                            {
                                ModelState.AddModelError("Senha", "Seu password está incorreto ou o novo password é inválido.");

                                return(View(colunista));
                            }
                        }
                    }
                }

                int suffix = 0;

                do
                {
                    colunista.chave = colunista.nome.GenerateSlug() + (suffix > 0 ? suffix.ToString() : "");
                    suffix++;
                } while (db.Noticias.Where(o => o.url == colunista.chave && o.id != colunista.id).Count() > 0);

                db.Entry(colunista).State = EntityState.Modified;
                db.SaveChanges();

                GerenciaLogs.saveLog(ref db, WebSecurity.GetUserId(User.Identity.Name), areaADM, TipoAcesso.Edicao, colunista.id);
                return(RedirectToAction("Index"));
            }
            return(View(colunista));
        }
 public IActionResult CadastrarArtigos(Colunista c)
 {
     return(View());
 }