示例#1
0
        // 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"));
        }
示例#2
0
        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"));
        }
示例#3
0
        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"));
        }
示例#5
0
        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"));
        }
示例#6
0
        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"));
        }