// metodo chamado quando se carrega no botão apagar user public IActionResult OnPostDeleteUser(int userid) { // vai buscar o utilizador à BD User user = dbContext.User.Find(userid); // remove o utilizador dbContext.User.Remove(user); // guarda as alterações dbContext.SaveChanges(); return(RedirectToPage("/AdminOverview", "ListOfUsers").WithSuccess("Admin", "O utilizador foi removido com sucesso.", "2000")); }
public IActionResult OnPostUpdateUserAccount() { TryUpdateModelAsync(this); //ModelState.Remove("AvatarModel"); // vai buscar o user à BD User oldUser = dbContext.User.FirstOrDefault(u => u.Email.Equals(User.Identity.Name)); // retorna a página em si pq os campos estão mal preenchidos if (!ModelState.IsValid) { return(Page()); } // calcula o avatar/imagem if (AvatarModel != null) { oldUser.ImgPath = GetAvatar(AvatarModel).ToArray(); } // muda os dados do utilizador na BD oldUser.Name = NameModel; oldUser.Profession = ProfessionModel; oldUser.Country = CountryModel; oldUser.City = CityModel; oldUser.Description = DescriptionModel; dbContext.Entry(oldUser).State = EntityState.Modified; // guarda as alterações dbContext.SaveChanges(); return(RedirectToPage("/UserArea", "UserLoggedIn").WithSuccess("Perfil", "editado com sucesso.", "3000")); }
public IActionResult OnPostCreateAccount() { TryUpdateModelAsync(this); //ModelState.Remove("User.Avatar"); // retorna erros se os campos foram incorretamente preenchidos ou não preenchidos if (!ModelState.IsValid) { return(Page()); } if (ModelState.IsValid) { // verifica se o email já existe bool userEmailAlreadyExists = dbContext.User.Any(u => u.Email == User.Email); // retorna erro em caso de já existir if (userEmailAlreadyExists || User.Email.Equals("admin")) { ModelState.AddModelError(string.Empty, "Este email já existe no sistema."); return(Page()); } // retorna erro se as passwords não coincidirem if (ConfirmPassword != User.Password) { ModelState.AddModelError(string.Empty, "Passwords não coincidem"); return(Page()); } } // encripta a password var hash = BCrypt.Net.BCrypt.HashPassword(User.Password); // cria o cliente User newUser = new User() { Name = User.Name, Profession = User.Profession, Country = User.Country, City = User.City, Balance = 0.0, Email = User.Email, ImgPath = GetAvatar(Avatar).ToArray(), Description = User.Description, Password = hash }; // adiciona cliente à BD dbContext.User.Add(newUser); // guarda as alterações dbContext.SaveChanges(); return(RedirectToPage("./Index").WithSuccess("Utilizador", "registado com sucesso.", "3000")); }
// metodo chamado quando se carrega no botão de adicionar subscrição public IActionResult OnPostAddSubscription(int subid) { //if(UserSubscriptionList.Count > 1) { User userAux = dbContext.User.FirstOrDefault(u => u.Email.Equals(User.Identity.Name)); int id = userAux.UserID; UserSubscription us = new UserSubscription() { SubscriptionID = subid, UserID = id }; dbContext.UserSubscription.Add(us); dbContext.SaveChanges(); //return RedirectToPage("/AddSubscriptionUser", "ListOfSubscriptions").WithDanger("Subscrição", "já possui uma subcrição.", "2000"); //} return(RedirectToPage("/UserArea", "ClientLoggedIn").WithSuccess("Subscrição", "foi adicionada com sucesso.", "2000")); }
public IActionResult OnPostPutCredit() { TryUpdateModelAsync(this); User oldUser = dbContext.User.FirstOrDefault(u => u.Email.Equals(User.Identity.Name)); // muda os dados do profissional na BD oldUser.Balance += mount; dbContext.Entry(oldUser).State = EntityState.Modified; // guarda as alterações dbContext.SaveChanges(); return(RedirectToPage("/UserArea", "UserLoggedIn").WithSuccess("Carregamento", "efectuado com sucesso.", "3000")); }
public IActionResult OnPostCreateSubscription() { TryUpdateModelAsync(this); //ModelState.Remove("User.Avatar"); // retorna erros se os campos foram incorretamente preenchidos ou não preenchidos if (!ModelState.IsValid) { return(Page()); } if (ModelState.IsValid) { // verifica se o email já existe bool subAlreadyExists = dbContext.Subscription.Any(s => s.Name == Subscription.Name); // retorna erro em caso de já existir if (subAlreadyExists) { ModelState.AddModelError(string.Empty, "Esta subscrição ja existe no sistema."); return(Page()); } } // cria a subscrição Subscription newSub = new Subscription() { Name = Subscription.Name, Price = Subscription.Price }; // adiciona cliente à BD dbContext.Subscription.Add(newSub); // guarda as alterações dbContext.SaveChanges(); return(RedirectToPage("./AdminArea").WithSuccess("Subscrição", "registado com sucesso.", "3000")); }
public IActionResult OnPostCreateRecipe() { TryUpdateModelAsync(this); // retorna erros se os campos foram incorretamente preenchidos ou não preenchidos if (!ModelState.IsValid) { return(Page()); } User us = dbContext.User.FirstOrDefault(u => u.Email.Equals(User.Identity.Name)); var now = DateTime.Now; DateTime date = new DateTime(now.Year, now.Month, now.Day, now.Hour, now.Minute, 0); // cria o cliente Recipe newRecipe = new Recipe() { Title = Recipe.Title, Description = Recipe.Description, Rank = 0, Classifications = 0, Time = 0, Date = date, Price = Recipe.Price, ImgRecipe = getImage(ImgRecipe).ToArray(), UserID = us.UserID }; // adiciona a receita à BD dbContext.Recipe.Add(newRecipe); foreach (Tag t in Tags) { Tag newTag = new Tag() { Name = t.Name }; dbContext.Tag.Add(newTag); RecipeTag rt = new RecipeTag() { RecipeID = newRecipe.RecipeID, TagID = newTag.TagID, }; dbContext.RecipeTag.Add(rt); } foreach (Ingredient i in Ingredientes) { Ingredient newIng = new Ingredient() { Name = i.Name }; dbContext.Ingredient.Add(newIng); RecipeIngredient ri = new RecipeIngredient() { RecipeID = newRecipe.RecipeID, IngredientID = newIng.IngredientID, }; dbContext.RecipeIngredient.Add(ri); } foreach (Utensil u in Utensils) { Utensil newUten = new Utensil() { Name = u.Name }; dbContext.Utensil.Add(newUten); RecipeUtensils ru = new RecipeUtensils() { RecipeID = newRecipe.RecipeID, UtensilID = newUten.UtensilID, }; dbContext.RecipeUtensils.Add(ru); } // guarda as alterações dbContext.SaveChanges(); var rid = newRecipe.RecipeID; return(RedirectToPage("./RecipeAddStep", "GetRecipe", new { Recipeid = rid, StepPos = 1 }).WithSuccess("Sucesso", "Receita criada com sucesso, adicionar passos", "3000")); }