public ActionResult Create()
        {
            ViewBag.PageGroupId = new SelectList(db.PageGroups.Where(current => current.IsDelete == false), "Id", "Title");

            PagePositionCrudViewModel page = new PagePositionCrudViewModel();

            page.Positions = GetPosition(null);
            return(View(page));
        }
        public ActionResult Create(PagePositionCrudViewModel pagePosition, HttpPostedFileBase fileupload)
        {
            if (ModelState.IsValid)
            {
                #region Upload and resize image if needed
                string newFilenameUrl = string.Empty;
                if (fileupload != null)
                {
                    string filename    = Path.GetFileName(fileupload.FileName);
                    string newFilename = Guid.NewGuid().ToString().Replace("-", string.Empty)
                                         + Path.GetExtension(filename);

                    newFilenameUrl = "/Uploads/Page/" + newFilename;
                    string physicalFilename = Server.MapPath(newFilenameUrl);

                    fileupload.SaveAs(physicalFilename);

                    pagePosition.Page.ImageUrl = newFilenameUrl;
                }
                #endregion
                pagePosition.Page.IsDelete             = false;
                pagePosition.Page.CreationDate         = DateTime.Now;
                pagePosition.Page.LastModificationDate = DateTime.Now;

                pagePosition.Page.Id          = Guid.NewGuid();
                pagePosition.Page.PageGroupId = pagePosition.PageGroupId;
                pagePosition.Page.AverageRate = 5;
                db.Pages.Add(pagePosition.Page);

                InsertInotPagePosition(pagePosition.Positions, pagePosition.Page.Id);

                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            ViewBag.PageGroupId = new SelectList(db.PageGroups.Where(current => current.IsDelete == false), "Id", "Title", pagePosition.Page.PageGroupId);
            //ViewBag.PositionId = new SelectList(db.Positions.Where(current => current.IsDelete == false), "Id", "Title", page.PositionId);
            pagePosition.Positions = GetPosition(null);
            return(View(pagePosition));
        }
        public ActionResult Edit(Guid?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Page page = db.Pages.Find(id);

            if (page == null)
            {
                return(HttpNotFound());
            }
            ViewBag.PageGroupId = new SelectList(db.PageGroups.Where(current => current.IsDelete == false), "Id", "Title", page.PageGroupId);

            PagePositionCrudViewModel pagePosition = new PagePositionCrudViewModel
            {
                Positions   = GetPosition(id),
                Page        = page,
                PageGroupId = page.PageGroupId.Value
            };

            return(View(pagePosition));
        }