Exemple #1
0
        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);
        }
Exemple #3
0
        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);
        }