/* * Instantiate a StudentRead Object and then finds the currentuser in that Instances, we * then assign that User to the Object and then perform a LINQ command to find the Users who * have read that page, once done return that list to get Distinct.Count to find the total of * people who have viewed that page and display who haven't read it. */ private IEnumerable <string> HowMany(Anouncement Anouncement) { StudentRead Read1 = new StudentRead(); string CurrentUser = User.Identity.GetUserId(); ApplicationUser Users = db.Users.FirstOrDefault(x => x.Id == CurrentUser); var UsersInRole = db.Roles.SingleOrDefault(r => r.Name == "Student").Users; var LectId = db.Roles.SingleOrDefault(l => l.Name == "Lecturer"); var Students = UsersInRole.Count; if (User.IsInRole("Student")) { Read1.AnnounceId = Anouncement; Read1.UserId = Users; db.StudentRead.Add(Read1); db.SaveChanges(); } var Count = (from db in db.StudentRead where db.AnnounceId.Id == Anouncement.Id select db.UserId.Id).AsEnumerable(); var Seen = (from db in db.StudentRead where db.AnnounceId.Id == Anouncement.Id select db.UserId).ToList(); var AllUsers = db.Users.ToList(); var Lecturer = db.Users.Where(Lec => Lec.Roles.Select(Rol => Rol.RoleId).Contains(LectId.Id)); var RemovedNots = AllUsers.Except(Seen); ViewBag.NotRead = RemovedNots.Except(Lecturer); ViewBag.Seen = Math.Round(100f * ((float)Seen.Distinct().Count() / (float)Students)); return(Count); }
public async Task <bool> registerAnouncement([FromBody] Anouncement anouncement)//ActionResult<Anouncement> { bool flag = await context.insert(anouncement); return(flag); }
public async Task <IActionResult> OnPost() { if (!ModelState.IsValid) { return(RedirectToPage()); } var newAnouncement = new Anouncement { Title = ViewModel.Title, DateAdded = DateTime.Now }; // process file upload if (ViewModel.Banner != null) { using (var memoryStream = new MemoryStream()) { await ViewModel.Banner.CopyToAsync(memoryStream); newAnouncement.Banner = memoryStream.ToArray(); } } _ = await _data.AddAnouncementAsync(newAnouncement); return(RedirectToPage()); }
public async Task <IActionResult> Edit(int id, [Bind("IdAnouncement,Title,Description,CreationDate,ExpirationDate,Category,User")] Anouncement anouncement) { if (id != anouncement.IdAnouncement) { return(NotFound()); } if (ModelState.IsValid) { try { _context.Update(anouncement); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!AnouncementExists(anouncement.IdAnouncement)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } ViewData["Category"] = new SelectList(_context.Category, "IdCategory", "IdCategory", anouncement.Category); ViewData["User"] = new SelectList(_context.User, "IdUser", "IdUser", anouncement.User); return(View(anouncement)); }
public async Task <Anouncement> AddAnouncementAsync(Anouncement anouncement) { await _data.Anouncements.AddAsync(anouncement); await _data.SaveChangesAsync(); return(anouncement); }
public ActionResult DeleteConfirmed(int id) { Anouncement anouncement = db.Anouncements.Find(id); db.Anouncements.Remove(anouncement); db.SaveChanges(); return(RedirectToAction("Index")); }
public ActionResult Edit([Bind(Include = "Id,Title,Description")] Anouncement anouncement) { if (ModelState.IsValid) { db.Entry(anouncement).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index")); } return(View(anouncement)); }
public IHttpActionResult GetAnouncement(int id) { Anouncement anouncement = db.Anouncements.Find(id); if (anouncement == null) { return(NotFound()); } return(Ok(anouncement)); }
public async Task <bool> insert(object obj) { try{ Anouncement anouncement = (Anouncement)obj; await collection.InsertOneAsync((Anouncement)anouncement); return(true); }catch (Exception ex) { return(false); } }
public IHttpActionResult PostAnouncement(Anouncement anouncement) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } db.Anouncements.Add(anouncement); db.SaveChanges(); return(CreatedAtRoute("DefaultApi", new { id = anouncement.AnouncementID }, anouncement)); }
public async Task <IActionResult> Create([Bind("IdAnouncement,Title,Description,CreationDate,ExpirationDate,Category,User")] Anouncement anouncement) { if (ModelState.IsValid) { _context.Add(anouncement); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } ViewData["Category"] = new SelectList(_context.Category, "IdCategory", "IdCategory", anouncement.Category); ViewData["User"] = new SelectList(_context.User, "IdUser", "IdUser", anouncement.User); return(View(anouncement)); }
// GET: Anouncements/Edit/5 public ActionResult Edit(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } Anouncement anouncement = db.Anouncements.Find(id); if (anouncement == null) { return(HttpNotFound()); } return(View(anouncement)); }
public IHttpActionResult DeleteAnouncement(int id) { Anouncement anouncement = db.Anouncements.Find(id); if (anouncement == null) { return(NotFound()); } db.Anouncements.Remove(anouncement); db.SaveChanges(); return(Ok(anouncement)); }
public ActionResult Create([Bind(Include = "Id,Title,Description")] Anouncement anouncement) { if (ModelState.IsValid) { string currentUser = User.Identity.GetUserId(); ApplicationUser user = db.Users.FirstOrDefault( x => x.Id == currentUser); anouncement.Lecture = user; db.Anouncements.Add(anouncement); db.SaveChanges(); return(RedirectToAction("Index")); } return(View(anouncement)); }
public HttpResponseMessage PutAnouncement(Anouncement anouncement) { int result = 0; try { db.Anouncements.Attach(anouncement); db.Entry(anouncement).State = EntityState.Modified; db.SaveChanges(); } catch (Exception e) { result = 0; } return(Request.CreateResponse(HttpStatusCode.OK, result)); }
public ActionResult Edit([Bind(Include = "AnnouncementId,UserName,Title,Description,TimeMade")] Anouncement anouncement) { if (ModelState.IsValid) { var userName = User.Identity.GetUserName(); if (User.IsInRole("Admin")) { anouncement.UserName = "******"; } else { anouncement.UserName = userName; } anouncement.TimeMade = DateTime.Now; db.Entry(anouncement).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index")); } return(View(anouncement)); }
/* * A ActionResults that will Display the page that contains the Announcement at the top and Display all the * comments at the Bottom. It takes in a int as a parameter but performs a check to see if there is a int in the * URL. Then uses the HowMany() method to find how many uniqe views there are for this announcement and then using a * AnounceDetailView model to display it all on the page */ public ActionResult Details(int?id) { AnouncementDetailView vm = new AnouncementDetailView(); Anouncement anouncement = db.Anouncements.Find(id); if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } if (anouncement == null) { return(HttpNotFound()); } //return PartialView("_StudentCounter", HowMany(anouncement)); var Output = HowMany(anouncement).Distinct().Count(); anouncement.CountRe = Output; vm.Announcement = anouncement; return(View(vm)); }
public async Task <ActionResult> updateAnouncementProfile([FromBody] Anouncement anouncement) { await context.update(anouncement.anouncementId, anouncement); return(Ok(anouncement)); }
public async Task <IActionResult> OnGet() { ViewModel = await _storyData.GetAnouncementAsync(Id); return(Page()); }