Exemple #1
0
        public void DeleteElement(TEntity obj)
        {
            var o = dbSet.Remove(obj);

            context.SaveChanges();
            context.Entry(obj).State = EntityState.Detached;
        }
Exemple #2
0
        public ActionResult Create(Version version)
        {
            version.AllArticles = GetArticles();

            if (version.UploadFile != null && version.UploadFile.ContentLength > 0)
            {
                string content = ReadStream(version.UploadFile.InputStream, version.UploadFile.ContentLength);
                version.ContentPath = WriteFile(content);
                ModelState.Remove("ContentPath");
            }
            else
            {
                version.ContentPath = null;
            }

            if (version.SelectedArticle != 0)
            {
                Article a = db.Articles.Find(version.SelectedArticle);
                version.Article = a;
            }

            version.LastEdit = DateTime.Now;
            if (TryValidateModel(version))
            {
                db.Versions.Add(version);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            if (version.ContentPath != null)
            {
                System.IO.File.Delete(version.ContentPath);
            }
            return(View(version));
        }
        public ActionResult Create([Bind(Include = "Id,Content")] Comment comment)
        {
            if (Request["articleId"] != null)
            {
                int     id      = Int16.Parse(Request["articleId"]);
                Article article = db.Articles.Find(id);
                if (article == null)
                {
                    return(HttpNotFound());
                }
                comment.LastEdit = DateTime.Now;
                comment.article  = article;
                ModelState.Remove("article");
                if (TryValidateModel(comment))
                {
                    db.Comments.Add(comment);

                    article.Comments.Add(comment);

                    db.SaveChanges();

                    return(RedirectToAction("Details", "Articles", new { id = article.ArticleId }));
                }
                else
                {
                    return(RedirectToAction("Details", "Articles", new { id = article.ArticleId }));
                }
            }


            return(RedirectToAction("Index", "Articles"));
        }
        public ActionResult Create([Bind(Include = "Id,Title,Description,LastEdit")] Domain domain)
        {
            domain.LastEdit = DateTime.Now;
            if (ModelState.IsValid)
            {
                db.Domains.Add(domain);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(domain));
        }
Exemple #5
0
        public async System.Threading.Tasks.Task <ActionResult> ChangeState(int id)
        {
            Order order = new Order();

            using (App_Context db = new App_Context())
            {
                order = db.Orders.SingleOrDefault(s => s.OrderId == id);
                if (order == null || order.OrderState != "Pending" && order.OrderState != "Read" && order.OrderState != "Completed")
                {
                    return(HttpNotFound());
                }
                if (order.OrderState == "Completed")
                {
                    order.OrderState = "Read";
                }
                else
                {
                    order.OrderState = "Completed";
                    EmailHandler e = new EmailHandler();
                    await e.CompletedEmail(order);
                }
                db.SaveChanges();
            }
            return(RedirectToAction("Order", "Order"));
        }
        [ValidateAntiForgeryToken] //Μην ξεχάσεις @Html.AntiForgeryToken() στο view
        public ActionResult EditSubmitProduct(Product product)
        {
            if (!ModelState.IsValid)
            {
                return(View("Edit", product));
            }
            Product dProduct = new Product();

            using (App_Context db = new App_Context())
            {
                dProduct = db.Products.Include("Category").SingleOrDefault(d => d.ProductId == product.ProductId);

                if (dProduct == null)
                {
                    return(HttpNotFound());
                }
                else
                {
                    dProduct.ProductName  = product.ProductName;
                    dProduct.ProductPrice = product.ProductPrice;
                    dProduct.ImagePath    = product.ImagePath;
                    dProduct.CategoryId   = product.CategoryId;

                    db.Entry(dProduct.Category).State = System.Data.Entity.EntityState.Unchanged;
                    db.SaveChanges();
                }
                return(RedirectToAction("Product", "Product"));
            }
        }
        public ActionResult EditAccountSubmit(User user)
        {
            if (!ModelState.IsValid)
            {
                return(View("EditAccount", user));
            }
            User _user = new User();

            using (var db = new App_Context())
            {
                _user = db.Users.SingleOrDefault(i => i.Username == user.Username);
                if (_user != null)
                {
                    _user.Username  = user.Username;
                    _user.Password  = user.Password;
                    _user.Salt      = user.Salt;
                    _user.Email     = user.Email;
                    _user.City      = user.City;
                    _user.Firstname = user.Firstname;
                    _user.Lastname  = user.Lastname;
                    _user.Phone     = user.Phone;
                    _user.RoleId    = user.RoleId;
                    _user.Address   = user.Address;
                    db.SaveChanges();
                }
            }
            return(RedirectToAction("Index", "Home"));
        }
Exemple #8
0
        public async System.Threading.Tasks.Task <ActionResult> AddressAndPayment(FormCollection values)
        {
            var order = new Order();

            TryUpdateModel(order);
            try
            {
                order.Username   = User.Identity.Name;
                order.OrderDate  = DateTime.Now;
                order.OrderState = "Pending";
                order.UserId     = storeDB.Users.Where(x => x.Username == System.Web.HttpContext.Current.User.Identity.Name).FirstOrDefault().UserId;
                order.Email      = storeDB.Users.Where(x => x.Username == System.Web.HttpContext.Current.User.Identity.Name).FirstOrDefault().Email;
                storeDB.Orders.Add(order);
                storeDB.SaveChanges();

                var cart = ShoppingCart.GetCart(this.HttpContext);
                cart.CreateOrder(order);
                EmailHandler email = new EmailHandler();
                await email.OrderEmail(order);

                return(RedirectToAction("Complete", "Checkout", new { id = order.OrderId }));
            }
            catch (Exception ex)
            {
                return(View(order));
            }
        }
        public ActionResult EditSubmitUser(User user)
        {
            if (!ModelState.IsValid)
            {
                return(View("EditUser", user));
            }
            User dUser = new User();

            using (App_Context db = new App_Context())
            {
                dUser = db.Users.SingleOrDefault(d => d.UserId == user.UserId);
                if (dUser == null)
                {
                    return(HttpNotFound());
                }
                else
                {
                    dUser.Password   = user.Password;
                    dUser.Firstname  = user.Firstname;
                    dUser.Lastname   = user.Lastname;
                    dUser.Address    = user.Address;
                    dUser.PostalCode = user.PostalCode;
                    dUser.City       = user.City;
                    dUser.Email      = user.Email;
                    dUser.Phone      = user.Phone;
                    dUser.Salt       = user.Salt;
                    db.SaveChanges();
                }
                return(RedirectToAction("Dashboard", "Admin"));
            }
        }
        public ActionResult ChangeRole(int id)
        {
            User assignedUser = new User();
            Role assignedRole = new Role();

            using (App_Context db = new App_Context())
            {
                assignedUser = db.Users.Include("Role").SingleOrDefault(b => b.UserId == id);
                if (assignedUser == null)
                {
                    return(HttpNotFound());
                }
                if (assignedUser.Role.Rolename == "Admin")
                {
                    assignedRole = db.Roles.Find(2);
                }
                if (assignedUser.Role.Rolename == "User")
                {
                    assignedRole = db.Roles.Find(1);
                }
                assignedUser.Role = assignedRole;
                db.SaveChanges();
            }
            return(RedirectToAction("Dashboard", "Admin"));
        }
 public void DeleteProduct(Product product)
 {
     using (App_Context db = new App_Context())
     {
         Product deletedProduct = db.Products.Find(product.ProductId);
         db.Products.Remove(deletedProduct);
         db.SaveChanges();
     }
 }
Exemple #12
0
        public int AddToCart(Product product)
        {
            var cartItem = db.Carts
                           .SingleOrDefault(c => c.CartId == ShoppingCartId && c.ProductId == product.ProductId);

            if (cartItem == null)
            {
                cartItem = new CartVM
                {
                    ProductId   = product.ProductId,
                    CartId      = ShoppingCartId,
                    Count       = 1,
                    DateCreated = DateTime.Now
                };
                db.Carts.Add(cartItem);
            }
            else
            {
                cartItem.Count++;
            }
            db.SaveChanges();
            return(cartItem.Count);
        }
        //Ban τον user με το id...
        public ActionResult Ban(int id)
        {
            User bannedUser = new User();
            Role bannedRole = new Role();

            using (App_Context db = new App_Context())
            {
                bannedUser = db.Users.Include("Role").SingleOrDefault(b => b.UserId == id);
                if (bannedUser == null)
                {
                    return(HttpNotFound());
                }
                bannedRole      = db.Roles.Find(3);
                bannedUser.Role = bannedRole;
                db.SaveChanges();
            }
            return(RedirectToAction("BannedUsers", "Admin"));
        }
Exemple #14
0
        //Zητάει το id της παραγγελίας και φέρνει πίσω όλα τα στοιχεία της λεπτομερώς
        //ενώ ταυτόχρονα την θέτει ως διαβασμένη στη βάση! (state=read)
        public ActionResult ReadOrderChange(int id)
        {
            Order readOrder = new Order();

            using (App_Context db = new App_Context())
            {
                readOrder = db.Orders.SingleOrDefault(r => r.OrderId == id);
                if (readOrder == null)
                {
                    return(HttpNotFound());
                }
                if (readOrder.OrderState == "Pending")
                {
                    readOrder.OrderState = "Read";
                    db.SaveChanges();
                }
            }
            return(View(readOrder));
        }
        public ActionResult LiftBan(int id)
        {
            User unBannedUser = new User();
            Role unBannedRole = new Role();

            using (App_Context db = new App_Context())
            {
                unBannedUser = db.Users.Include("Role").SingleOrDefault(u => u.UserId == id);
                if (unBannedUser == null)
                {
                    return(HttpNotFound());
                }
                unBannedRole                 = db.Roles.Find(2);
                unBannedUser.Role            = unBannedRole;
                db.Entry(unBannedRole).State = System.Data.Entity.EntityState.Unchanged;
                db.SaveChanges();
            }
            return(RedirectToAction("Dashboard", "Admin"));
        }
        public ActionResult CreateSubmitProduct(Product productNew)
        {
            if (!ModelState.IsValid)
            {
                return(View("Create", productNew));
            }
            Product  product  = new Product();
            Category category = new Category();

            using (App_Context db = new App_Context())
            {
                category             = db.Categories.Find(productNew.CategoryId);
                product.ProductName  = productNew.ProductName;
                product.ProductPrice = productNew.ProductPrice;
                product.Category     = category;
                product = productNew;
                db.Products.Add(productNew);
                db.Entry(category).State = System.Data.Entity.EntityState.Unchanged;
                db.SaveChanges();
            }
            return(RedirectToAction("Product", "Product"));
        }
Exemple #17
0
        public async Task <ActionResult> Register(User user)
        {
            if (!ModelState.IsValid)
            {
                return(View(user));
            }

            bool admincheck = false;


            using (App_Context db = new App_Context())
            {
                if (db.Users.ToList().Count == 0)
                {
                    admincheck = true;
                }

                var existUser = db.Users.Where(i => i.Username == user.Username).ToList();
                var count     = existUser.Count;
                if (count > 0)
                {
                    ViewData["UserExist"] = existUser;
                    return(View(user));
                }

                bool isValidPass = Regex.IsMatch(user.Password, passPattern);
                if (!isValidPass && user.Username != "god")
                {
                    ViewData["InvalidPass"] = existUser;
                    return(View(user));
                }

                if (count == 0)
                {
                    var  salt = Password.GetSalt();
                    var  hash = Password.Hash(user.Password, salt);
                    Role r    = new Role();
                    if (admincheck == true)
                    {
                        r = db.Roles.Find(1);
                    }
                    else
                    {
                        r = db.Roles.Find(2);
                    }

                    User u = new User
                    {
                        Username   = user.Username,
                        Password   = Convert.ToBase64String(hash),
                        Salt       = Convert.ToBase64String(salt),
                        Firstname  = user.Firstname,
                        Lastname   = user.Lastname,
                        Phone      = user.Phone,
                        Address    = user.Address,
                        City       = user.City,
                        Email      = user.Email,
                        PostalCode = user.PostalCode,
                        Role       = r
                    };
                    db.Users.Add(u);
                    db.Entry(r).State = System.Data.Entity.EntityState.Unchanged;
                    db.SaveChanges();
                    ViewData["Success"] = existUser;
                    await emailHandler.RegistrationEmail(user.Email, user.Firstname, user.Username, user.Password);
                }
            }
            return(View());
        }
Exemple #18
0
        public ActionResult Create(ArticleVersionViewModel avViewModel)
        {
            avViewModel.AllDomains = GetDomains();
            Article a = new Article();
            Version v = new Version();

            // domains
            var ds = db.Domains.Where(d => avViewModel.DomainIds.Contains(d.Id));

            if (avViewModel.DomainIds != null && avViewModel.DomainIds.Any())
            {
                if (ds != null && ds.Any())
                {
                    a.Domains = ds.ToList();
                }
                else
                {
                    ViewBag.Message = "Couldn't find selected domains.";
                    return(View(avViewModel));
                }
            }

            // write file contents
            if (avViewModel.ContentFile != null && avViewModel.ContentFile.ContentLength > 0)
            {
                string content = ReadStream(avViewModel.ContentFile.InputStream, avViewModel.ContentFile.ContentLength);
                try
                {
                    v.ContentPath = WriteFile(content);
                } catch (Exception e)
                {
                    ViewBag.Message = "Error saving the file.";
                    return(View(avViewModel));
                }
            }
            else if (avViewModel.Content != null && avViewModel.Content.Length > 0)
            {
                try
                {
                    v.ContentPath = WriteFile(avViewModel.Content);
                }
                catch (Exception e)
                {
                    ViewBag.Message = "Error saving the file.";
                    return(View(avViewModel));
                }
            }
            else
            {
                ModelState.AddModelError("OneOfTwoFieldsShouldBeFilled", "Either you upload a file or type your article in the box. You can't have an empty article.");
                return(View(avViewModel));
            }


            v.Title = avViewModel.Title;
            a.ProtectFromEditing = false;
            v.LastEdit           = DateTime.Now;
            a.DatePublished      = DateTime.Now;


            if (TryValidateModel(a))
            {
                db.Articles.Add(a);
                db.SaveChanges();

                v.Article = a;
                db.Versions.Add(v);
                db.SaveChanges();

                a.CurrentVersionId = v.Id;
                db.Entry(a).State  = EntityState.Modified;
                db.SaveChanges();

                return(RedirectToAction("Index"));
            }

            // if we're here, something failed
            System.IO.File.Delete(v.ContentPath); // cleanup unused files

            return(View(avViewModel));
        }