Пример #1
0
        public List <News> GetByCategory(int[] categoriesId)
        {
            CategoryManager newscategoryManager = new CategoryManager();
            NewsMapper      newsMapper          = new NewsMapper();
            List <News>     newsList            = new List <News>();

            //Rever como pasar un listado a la base para evitar realizar tantas llamadas.
            for (int i = 0; i < categoriesId.Length; ++i)
            {
                List <News> news = newsMapper.GetByCategory(categoriesId[i]);

                if (news != null)
                {
                    newsList.AddRange(newsMapper.GetByCategory(categoriesId[i]));
                }
            }

            Dictionary <int, Category> newsCategories = newscategoryManager.GetDictinoray();

            if (newsList != null)
            {
                foreach (News news in newsList)
                {
                    news.Category = newsCategories[news.Category.Id];
                }
            }
            return(newsList);
        }
Пример #2
0
        public ActionResult Edit(NewsViewModel model)
        {
            if (!ModelState.IsValid)
            {
                //notify!
                return(RedirectToAction("Edit"));
            }
            HttpPostedFileBase[] previewPics = model.PreviewPics;

            var article = NewsMapper.ToEntity(model);

            var entry = newsSrv.Edit(article, model.TagIds);

            model = NewsMapper.ToViewModel(entry);

            if (model == null)
            {
                //notify!
                return(RedirectToAction("Edit"));
            }

            if (model.ArticleId != 0 && previewPics != null && previewPics.Count() > 0)
            {
                SavePreviewPictrures(previewPics, model.ArticleId, model.Name, true);
            }

            return(RedirectToAction("Edit", new { id = model.ArticleId }));
        }
Пример #3
0
        public async Task <ActionResult <int> > AddNewsForAll([FromBody] NewsInputModel model)
        {
            var newsId = 0;

            if (model == null)
            {
                return(BadRequest("Model is empty"));
            }
            if (model.RecipientID != null)
            {
                model.RecipientID = null;
            }
            if (model.GroupID != null)
            {
                model.GroupID = null;
            }

            newsId = await newsStorage.NewsAddOrUpdate(NewsMapper.ToDataModel(model));

            if (newsId.Equals(null))
            {
                return(BadRequest("Failed to add object"));
            }
            return(Ok(newsId));
        }
Пример #4
0
        public async Task <ActionResult <int> > AddNewsForGpoup([FromBody] NewsInputModel model)
        {
            if (model == null)
            {
                return(BadRequest("Model is empty"));
            }
            if (model.RecipientID != null)
            {
                model.RecipientID = null;
            }
            if (model.GroupID == null)
            {
                return(BadRequest("The inputModel doesn't contain GroupID"));
            }

            var  newsId = 0;
            bool isCreationAllowed;

            isCreationAllowed = await groupStorage.GetBelongnessOfGroupToTheTeacher((int)model.GroupID,
                                                                                    model.AuthorId);

            if (isCreationAllowed && await CanUserPost(model.AuthorId))
            {
                newsId = await newsStorage.NewsAddOrUpdate(NewsMapper.ToDataModel(model));
            }
            if (newsId.Equals(null))
            {
                return(BadRequest("Failed to add object"));
            }
            return(Ok(newsId));
        }
Пример #5
0
        public async Task <ActionResult <List <int> > > AddNewsForTeachers([FromBody] NewsInputModel model)
        {
            List <int> newsIds = new List <int>();

            if (model == null)
            {
                return(BadRequest("Model is empty"));
            }
            if (model.GroupID != null)
            {
                model.GroupID = null;
            }

            List <User> teachers = await userStorage.GetUserByRoleId(teacherRoleId);

            foreach (var user in teachers)
            {
                model.RecipientID = user.Id;
                newsIds.Add(await newsStorage.NewsAddOrUpdate(NewsMapper.ToDataModel(model)));
            }
            if (newsIds.Equals(null))
            {
                return(BadRequest("Failed to add object"));
            }
            return(Ok(newsIds));
        }
Пример #6
0
        public ViewResult Edit(int id = 0)
        {
            NewsViewModel model    = new NewsViewModel();
            string        userId   = User.Identity.GetUserId();
            UserProfile   userProf = userSrv.Get(userId);

            if (id > 0)
            {
                var article = newsSrv.Get(id);

                if (article == null)
                {
                    ModelState.AddModelError("", "Указанная статья не найдена!");
                }

                model = NewsMapper.ToViewModel(article);

                model.TagIds = model.Tags?.Select(x => x.Id).ToArray();
            }
            else
            {
                //newsSrv.Edit()
            }

            model.Tags     = newsSrv.Tags;
            model.IsInRole = User.IsInRole;
            model.OwnerId  = userProf.Id;

            return(View(model));
        }
Пример #7
0
        public async Task <List <NewsModel> > ListNewsRequestAsync(string endPoint, string token)
        {
            var apiRequestModel = AuthenticationMapper.MapToApiRequestModel(endPoint, token);

            var result = await _newsClient.ListNewsRequestAsync(apiRequestModel, new ListNewsRequestModel());

            return(NewsMapper.Map(result));
        }
Пример #8
0
        public NewDTO FindById(int newsId)
        {
            var news   = _context.News.Find(newsId);
            var newDTO = NewsMapper.toDTO(news);

            newDTO.baseImages = new List <string>();
            return(newDTO);
        }
Пример #9
0
        public async Task <NewsModel> ReadNewsRequestAsync(ReadNewsModel model, string endPoint, string token)
        {
            var apiRequestModel = AuthenticationMapper.MapToApiRequestModel(endPoint, token);

            var requestModel = NewsMapper.MapReadNewsModel(model);

            var result = await _newsClient.ReadNewsRequestAsync(apiRequestModel, requestModel);

            return(NewsMapper.MapNewsEntity(result.News));
        }
Пример #10
0
        public async Task <ActionResult <IEnumerable <NewsOutputModel> > > GetAllNews()
        {
            var news = NewsMapper.ToOutputModels(await newsStorage.NewsGetAll());

            if (news == null)
            {
                return(NotFound("Objects not fount"));
            }

            return(Ok(news));
        }
Пример #11
0
        [HttpGet("for-user/{userId}")]  //1220
        public async Task <ActionResult <IEnumerable <NewsOutputModel> > > GetAllNewsForUser(int userId)
        {
            var news = NewsMapper.ToOutputModels(await newsStorage.NewsGetAllByUserRegistrationDate(userId));

            if (news == null)
            {
                return(NotFound("Objects not fount"));
            }

            return(Ok(news));
        }
Пример #12
0
        public bool Delete(int id)
        {
            NewsMapper newsMapper = new NewsMapper();

            if (!newsMapper.Delete(id))
            {
                string errorDescription = "No se ha podido eliminar la noticia con id " + id + ".";
                log.AddLogCritical("Delete", errorDescription, this);
                AddError(new ResultBE(ResultBE.Type.FAIL, errorDescription));
                return(false);
            }

            return(true);
        }
Пример #13
0
        public News Get(int id)
        {
            NewsMapper newsMapper = new NewsMapper();
            News       news       = newsMapper.Get(id);

            if (news == null)
            {
                string errorDescription = "No se ha encontrado la noticia con id " + id + ".";
                log.AddLogCritical("Get", errorDescription, this);
                AddError(new ResultBE(ResultBE.Type.NULL, errorDescription));
            }

            return(news);
        }
Пример #14
0
        /// <summary>
        /// Devuelve el listado de novedades de la base.
        /// </summary>
        /// <returns></returns>
        public List <News> Get()
        {
            NewsMapper  newsMapper = new NewsMapper();
            List <News> newsList   = newsMapper.Get();

            CategoryManager            newscategoryManager = new CategoryManager();
            Dictionary <int, Category> newsCategories      = newscategoryManager.GetDictinoray();

            foreach (News news in newsList)
            {
                news.Category = newsCategories[news.Category.Id];
            }

            return(newsList);
        }
Пример #15
0
        public async Task <ActionResult <int> > AddOrUpdateNews([FromBody] NewsInputModel model)
        {
            if (model == null)
            {
                return(BadRequest("Model is empty"));
            }
            var newsId = await newsStorage.NewsAddOrUpdate(NewsMapper.ToDataModel(model));

            if (newsId.Equals(null))
            {
                return(BadRequest("Failed to add object"));
            }

            return(Ok(newsId));
        }
Пример #16
0
        public async Task <ActionResult <NewsOutputModel> > GetNewsById(int id)
        {
            if (id.Equals(null))
            {
                return(BadRequest("Id is empty"));
            }

            var news = NewsMapper.ToOutputModel(await newsStorage.NewsGetById(id));

            if (news == null)
            {
                return(NotFound("Object not found"));
            }
            return(Ok(news));
        }
Пример #17
0
        public async Task <bool> UpdateNewsRequestAsync(UpdateNewsModel model, string endPoint, string token)
        {
            var apiRequestModel = AuthenticationMapper.MapToApiRequestModel(endPoint, token);

            var requestModel = NewsMapper.MapUpdateNewsModel(model);

            var result = await _newsClient.UpdateNewsRequestAsync(apiRequestModel, requestModel);

            if (result == null)
            {
                return(false);
            }

            return(true);
        }
Пример #18
0
        public async Task <ActionResult <IEnumerable <NewsOutputModel> > > GetNewsByTeacherId(int id)
        {
            if (id.Equals(null))
            {
                return(BadRequest("Id is empty"));
            }

            var news = NewsMapper.ToOutputModels(await newsStorage.GetNewsForTeacherFromHR(id));

            if (news == null)
            {
                return(NotFound("Object not found"));
            }
            return(Ok(news));
        }
Пример #19
0
        public int AddNew(NewDTO newDTO)
        {
            News news = new News();

            news = NewsMapper.toNews(news, newDTO);
            try
            {
                _context.News.Add(news);
                _context.SaveChanges();
                var newsId = (_context.News.FirstOrDefault(x => x.Title == newDTO.title)).NewsId;
                AddImages(newsId, newDTO.baseImages);
                return(1);
            }
            catch
            {
                return(0);
            }
        }
Пример #20
0
        public int UpdateNew(NewDTO newDTO)
        {
            News news = _context.News.Find(newDTO.newId);

            news            = NewsMapper.toNews(news, newDTO);
            news.ActiveFlag = 0;
            try
            {
                _context.SaveChanges();
                var newsId = (_context.News.FirstOrDefault(x => x.Title == newDTO.title)).NewsId;
                AddImages(newsId, newDTO.baseImages);
                return(1);
            }
            catch
            {
                return(0);
            }
        }
Пример #21
0
        public bool Save(News news)
        {
            if (!IsValid(news))
            {
                return(false);
            }

            NewsMapper newsMapper = new NewsMapper();

            if (!newsMapper.Save(news))
            {
                string errorDescription = "No se ha podido guardar la novedad.";
                log.AddLogCritical("Save", errorDescription, this);
                AddError(new ResultBE(ResultBE.Type.FAIL, errorDescription));
                return(false);
            }

            return(true);
        }
Пример #22
0
        public bool Edit(News news)
        {
            if (!IsValid(news))
            {
                return(false);
            }

            NewsMapper newsMapper = new NewsMapper();

            if (!newsMapper.Edit(news))
            {
                string errorDescription = "No se ha podido modificar la noticia.";
                log.AddLogCritical("Edit", errorDescription, this);
                AddError(new ResultBE(ResultBE.Type.FAIL, errorDescription));
                return(false);
            }

            return(true);
        }