public async Task <ActionResult> ViewDetails(int IDpage, string username, PageDetailModel model) { using (ZavrsniEFentities db = new ZavrsniEFentities()) { var currentUser = User.Identity.GetUserName(); var user = db.User.FirstOrDefault(u => u.Username.Equals(username)); var current = db.User.FirstOrDefault(u => u.Username.Equals(currentUser)); var reviewExists = (from p in db.PageReview where p.IDpage == IDpage && p.IDreviewer == current.IDuser select p).ToList(); if (reviewExists.Any()) { var selReview = db.PageReview.Find(IDpage, current.IDuser); selReview.Mark = model.Grade; db.Entry(selReview).State = EntityState.Modified; db.SaveChanges(); } if (!reviewExists.Any()) { var selReview = db.PageReview.Create(); selReview.IDpage = IDpage; selReview.IDreviewer = current.IDuser; selReview.Mark = model.Grade; db.PageReview.Add(selReview); db.SaveChanges(); } } return(RedirectToAction("Details", new { IDpage = IDpage, Username = username })); }
public async Task <ActionResult> Edit(UserEditModel model) { using (ZavrsniEFentities db = new ZavrsniEFentities()) { if (ModelState.IsValid) { string username = User.Identity.GetUserName(); // Get the userprofile User user = db.User.FirstOrDefault(u => u.Username.Equals(username)); // Update fields user.FirstName = model.FirstName; user.LastName = model.LastName; user.Email = model.Email; if (Request["CityDropDown"].Any()) { var citySel = Request["CityDropDown"]; user.IDcityFrom = Convert.ToInt32(citySel); } db.Entry(user).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index", "Home")); // or whatever } return(View(model)); } }
public ActionResult UpdateLayout(string Values, int IDpage) { var array = JArray.Parse(Values); IList <Serialized> objectsList = new List <Serialized>(); foreach (var item in array) { objectsList.Add(item.ToObject <Serialized>()); } var numberObjects = objectsList.Count(); using (ZavrsniEFentities db = new ZavrsniEFentities()) { var query = (from c in db.LocationContent join p in db.ContentPage on c.IDcontent equals p.IDcontent where p.IDpage == IDpage select c).Include(c => c.Content).Include(c => c.Location).Include(c => c.City).GroupBy(c => c.IDlocation).ToList(); int brojac = 0; foreach (var el in query) { if (el.Count() != numberObjects) { continue; } foreach (var element in el) { var currentContent = db.Content.Find(element.Content.IDcontent); currentContent.DataSizeX = objectsList[brojac].size_x; currentContent.DataSizeY = objectsList[brojac].size_y; currentContent.DataCol = objectsList[brojac].col; currentContent.DataRow = objectsList[brojac].row; db.Entry(currentContent).State = EntityState.Modified; db.SaveChanges(); brojac++; } } } return(RedirectToAction("Details", new { IDpage = IDpage, Username = "******" })); }
public async Task <ActionResult> Edit(int IDgroup, GroupEditDetailsModel model) { using (ZavrsniEFentities db = new ZavrsniEFentities()) { if (ModelState.IsValid) { var group = db.Group.Find(IDgroup); group.Name = model.Name; if (Request["GroupTypeDropDown"].Any()) { var groupTypeSel = Request["GroupTypeDropDown"]; var gt = Convert.ToInt32(groupTypeSel); group.IDgroupType = gt; } db.Entry(group).State = EntityState.Modified; db.SaveChanges(); } } return(Content("Changes are successfully saved!", "text/html")); //return RedirectToAction("Edit", new { IDgroup = IDgroup }); }
public async Task <ActionResult> Edit(int IDcontent, string username, Contents model) { using (ZavrsniEFentities db = new ZavrsniEFentities()) { var query = db.Content.FirstOrDefault(u => u.IDcontent.Equals(IDcontent)); var currentUser = User.Identity.GetUserName(); var usernameCurrent = db.User.FirstOrDefault(u => u.Username.Equals(currentUser)); if (ModelState.IsValid) { var user = db.User.FirstOrDefault(u => u.Username.Equals(username)); // Get the userprofile model.Username = username; if (model.Title != null) { query.Title = model.Title; } else { query.Title = "(no title)"; } query.Text = model.Text; query.IDeditor = user.IDuser; query.TimeChanged = DateTime.Now; /*if (Request["PageDropDown"].Any()) * { * var pageSel = Request["PageDropDown"]; * var page = Convert.ToInt32(pageSel); * * var exists = from cp in db.ContentPage * where cp.IDpage == page * && cp.IDcontent == IDcontent * select cp; * if (!exists.Any()) * { * var newPage = db.ContentPage.Create(); * newPage.IDcontent = IDcontent; * newPage.IDpage = Convert.ToInt32(pageSel); * newPage.IDuser = user.IDuser; * db.ContentPage.Add(newPage); * db.SaveChanges(); * } * else * { * return Content("The selected page already contains this content.", "text/html"); * } * }*/ if (Request["PageDropDown"].Any()) { var contCopy = db.Content.Create(); contCopy.IDcontentType = query.IDcontentType; contCopy.IDauthor = usernameCurrent.IDuser; contCopy.Text = query.Text; contCopy.Title = query.Title; contCopy.IsCopied = true; db.Content.Add(contCopy); db.SaveChanges(); var contCopyLoc = (from l in db.LocationContent where l.IDcontent == query.IDcontent select l.IDlocation).ToList(); foreach (var a in contCopyLoc) { var contLoc = db.LocationContent.Create(); contLoc.IDlocation = a; contLoc.IDcontent = contCopy.IDcontent; contLoc.TimeChanged = DateTime.Now; db.LocationContent.Add(contLoc); db.SaveChanges(); } var contPage = db.ContentPage.Create(); contPage.IDcontent = contCopy.IDcontent; contPage.IDuser = usernameCurrent.IDuser; var pageSel = Request["PageDropDown"]; contPage.IDpage = Convert.ToInt32(pageSel); db.ContentPage.Add(contPage); db.SaveChanges(); } if (Request["ContentTypeDropDown"].Any()) { var contSel = Request["ContentTypeDropDown"]; query.IDcontentType = Convert.ToInt32(contSel); } /*if (Request["LocationEdit"].Any())// && queryLocation != null) * { * var locationSel = Request["LocationEdit"]; * queryLocation.IDlocation = Convert.ToInt32(locationSel); * //db.Entry(queryLocation).State = EntityState.Modified; * }*/ if (Request["LocationEdit"].Any()) { var locationSel = Request["LocationEdit"]; var loc = Convert.ToInt32(locationSel); var exists = from lc in db.LocationContent where lc.IDlocation == loc && lc.IDcontent == IDcontent select lc; if (!exists.Any()) { var location = db.LocationContent.Create(); location.IDlocation = Convert.ToInt32(locationSel); location.IDcontent = IDcontent; location.TimeChanged = DateTime.Now; db.LocationContent.Add(location); db.SaveChanges(); } else { //return RedirectToAction("Edit", new { IDcontent = IDcontent }); return(Content("The selected location already contains this content.", "text/html")); } } db.Entry(query).State = EntityState.Modified; //db.Entry(queryPage).State = EntityState.Modified; db.SaveChanges(); //return RedirectToAction("Edit", new { IDcontent = IDcontent, Username = username }); return(Content("Changes are successfully saved!", "text/html")); } } return(View(model)); }
public ActionResult Details(int IDpage, string username) { PageDetailModel model = new PageDetailModel(); using (ZavrsniEFentities db = new ZavrsniEFentities()) { List <LocationContent> query = (from c in db.LocationContent join p in db.ContentPage on c.IDcontent equals p.IDcontent where p.IDpage == IDpage select c).Include(c => c.Content).Include(c => c.Location).Include(c => c.City).Include("Content.User").ToList(); model.PageContents = query; var contributors = (from c in db.Contributor join u in db.User on c.IDuser equals u.IDuser where c.IDpage == IDpage && c.IsAuthor == false select u).ToList(); model.Contributors = contributors; var PageInfo = (from p in db.Page where p.IDpage == IDpage select p); model.PageName = PageInfo.First().name; model.IDpage = PageInfo.First().IDpage; var selPage = db.Page.FirstOrDefault(u => u.IDpage.Equals(IDpage)); var pageAuthor = (from p in db.Contributor join u in db.User on p.IDuser equals u.IDuser where p.IDpage == IDpage && p.IsAuthor == true select u); model.PageAuthor = pageAuthor.FirstOrDefault().Username; var views = selPage.PageView; views++; selPage.PageView = views; db.Entry(selPage).State = EntityState.Modified; db.SaveChanges(); var marksExist = (from p in db.PageReview where p.IDpage == IDpage select p).ToList(); if (marksExist.Any()) { var average = (from p in db.PageReview where p.IDpage == IDpage select p).Average(p => p.Mark); if (!Request.IsAuthenticated) { model.AverageGrade = average; return(View(model)); } else { model.Username = username; model.AverageGrade = average; return(View(model)); } } else { double average = 0; if (!Request.IsAuthenticated) { model.AverageGrade = average; return(View(model)); } else { model.Username = username; model.AverageGrade = average; return(View(model)); } } } }
public async Task <ActionResult> EditPage(int IDpage, string username, EditPageModel model) { using (ZavrsniEFentities db = new ZavrsniEFentities()) { var selPage = db.Page.FirstOrDefault(u => u.IDpage.Equals(IDpage)); if (ModelState.IsValid) { var user = db.User.FirstOrDefault(u => u.Username.Equals(username)); selPage.name = model.PageTitle; if (model.PageTitle == null) { return(Content("Page title cannot be empty!", "text/html")); } if (Request["PrivacyDropDown"].Any()) { var privSel = Request["PrivacyDropDown"]; var privacy = Convert.ToInt32(privSel); selPage.IDprivacy = privacy; } selPage.IDeditor = user.IDuser; selPage.TimeChanged = DateTime.Now; if (model.Tag != null) { var tagModel = model.Tag.ToLower(); var existsInPage = from p in db.PageTag join t in db.Tag on p.IDtag equals t.ID where t.name == tagModel select t; var existsTag = from t in db.Tag where t.name == tagModel select t; if (!existsTag.Any()) { var newTag = db.Tag.Create(); newTag.name = tagModel; db.Tag.Add(newTag); db.SaveChanges(); } if (!existsInPage.Any()) { var newPageTag = db.PageTag.Create(); newPageTag.IDtag = existsTag.First().ID; newPageTag.IDpage = IDpage; db.PageTag.Add(newPageTag); db.SaveChanges(); } } if (model.Contributor != null) { var userExists = from u in db.User where u.Username == model.Contributor select u; if (!userExists.Any()) { //return RedirectToAction("Edit", new { IDpage = IDpage, Username = username }); return(Content("User does not exist, please try again!", "text/html")); } var exists = from t in db.Contributor join u in db.User on t.IDuser equals u.IDuser where u.Username == model.Contributor && t.IDpage == IDpage select t; if (!exists.Any()) { var contribUser = db.User.FirstOrDefault(u => u.Username.Equals(model.Contributor)); var newContributor = db.Contributor.Create(); newContributor.IDpage = IDpage; newContributor.IDuser = contribUser.IDuser; newContributor.IsAuthor = false; db.Contributor.Add(newContributor); db.SaveChanges(); } } db.Entry(selPage).State = EntityState.Modified; db.SaveChanges(); //return RedirectToAction("Edit", new { IDpage = IDpage, Username = username }); return(Content("Changes were successfully saved!", "text/html")); } } return(Content("Edit failed, please try again!", "text/html")); //return RedirectToAction("Edit", new { IDpage = IDpage, Username = username }); }