public async Task <IActionResult> PutCategoriesDetails([FromRoute] int id, [FromBody] CategoriesDetails categoriesDetails) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (id != categoriesDetails.id) { return(BadRequest()); } _context.Entry(categoriesDetails).State = EntityState.Modified; try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!CategoriesDetailsExists(id)) { return(NotFound()); } else { throw; } } return(NoContent()); }
public IEnumerable <CategoriesDetails> GetCategoryDetails(int page, int pageSize) { var category = _context.Categories.OrderBy(x => x.PriorityId) .Skip((page - 1) * pageSize) .Take(pageSize) .ToList();; var categoryResultList = new List <CategoriesDetails>(); category.ForEach(cat => { var res = new CategoriesDetails { CategoryId = cat.CategoryId, CategoryName = cat.CategoryName, PriorityId = cat.PriorityId }; var resIt = _context.Priorities.FirstOrDefault(x => x.PriorityId == cat.PriorityId); res.PriorityValue = resIt.PriorityValue; categoryResultList.Add(res); }); return(categoryResultList); }
public async Task <IActionResult> PostCategoriesDetails([FromBody] CategoriesDetails categoriesDetails) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } _context.categories.Add(categoriesDetails); await _context.SaveChangesAsync(); return(CreatedAtAction("GetCategoriesDetails", new { id = categoriesDetails.id }, categoriesDetails)); }
//[Authorize(Roles = "Administrator")] public ActionResult <IEnumerable <CategoriesDetails> > GetCategoriesDetails() { var category = _context.Categories.OrderBy(x => x.CategoryName) .OrderBy(x => x.PriorityId).ToList(); var categoryResultList = new List <CategoriesDetails>(); category.ForEach(cat => { var res = new CategoriesDetails { CategoryId = cat.CategoryId, CategoryName = cat.CategoryName, PriorityId = cat.PriorityId }; var resIt = _context.Priorities.FirstOrDefault(x => x.PriorityId == cat.PriorityId); res.PriorityValue = resIt.PriorityValue; categoryResultList.Add(res); }); return(categoryResultList); }
//[Authorize(Roles = "Administrator")] public ActionResult <IEnumerable <CategoriesDetails> > GetCategoriesWithAnnouncements(int numberOfAnnouncement) { var categoryResultList = new List <CategoriesDetails>(); var category = _context.Categories.OrderBy(x => x.CategoryName) .OrderBy(x => x.PriorityId).ToList(); category.ForEach(cat => { var res = new CategoriesDetails { CategoryId = cat.CategoryId, CategoryName = cat.CategoryName, PriorityId = cat.PriorityId }; var priority = _context.Priorities.FirstOrDefault(x => x.PriorityId == cat.PriorityId); res.PriorityValue = priority.PriorityValue; var announcementDetailsList = _context.Announcements.Where(x => (x.CategoryId == cat.CategoryId && x.AnnouncementShow == true)) .ToList(); var filteredAnnouncementDetailsList = announcementDetailsList.OrderByDescending(x => (x.AnnouncementDateModified > x.AnnouncementDateCreated) ? x.AnnouncementDateModified : x.AnnouncementDateCreated) .OrderByDescending(x => x.AnnouncementImportantIndicator) .Take(numberOfAnnouncement) .ToList(); filteredAnnouncementDetailsList.ForEach(ann => { var resultItem = new AnnouncementDetails { //Obavjestenje AnnouncementId = ann.AnnouncementId, AnnouncementTitle = ann.AnnouncementTitle, AnnouncementDescription = ann.AnnouncementDescription, //Datum kreiranja AnnouncementDateCreated = ann.AnnouncementDateCreated, //Datum modifikovanja AnnouncementDateModified = ann.AnnouncementDateModified, //Datum vazenja AnnouncementExpiryDate = ann.AnnouncementExpiryDate, //Indikator vaznosti ImportantIndicator = ann.AnnouncementImportantIndicator, //Kategorija CategoryId = ann.CategoryId, CategoryName = cat.CategoryName, //Prioritet PriorityId = cat.PriorityId, PriorityValue = priority.PriorityValue, //Korisnik koji je kreirao obavjestenje UserCreatedId = ann.UserCreatedId }; var userCreated = _userManager.Users.FirstOrDefault(user => user.Id == ann.UserCreatedId); resultItem.UserCreatedFirstName = userCreated.FirstName; resultItem.UserCreatedLastName = userCreated.LastName; ////Korisnik koji je modifikovao obavjestenje if (ann.UserModifiedId != null) { resultItem.UserModifiedId = ann.UserModifiedId; var userModified = _userManager.Users.FirstOrDefault(user => user.Id == ann.UserModifiedId); resultItem.UserModifiedFirstName = userModified.FirstName; resultItem.UserModifiedLastName = userModified.LastName; } var files = _context.Files.Where(x => x.AnnouncementId == ann.AnnouncementId) .ToList(); files.ForEach(file => { resultItem.Files.Add(file); }); res.Announcements.Add(resultItem); }); categoryResultList.Add(res); }); return(categoryResultList); }