示例#1
0
 public static News ToEntity(this NewsCreateDto source)
 {
     return(new News
     {
         Description = source.Description,
         PrimaryPicture = source.PrimaryPicture,
         Title = source.Title,
         Type = source.Type.Value
     });
 }
示例#2
0
        public async Task AddNews(NewsCreateDto newsDto)
        {
            var user = await _authenticateService.GetAuthUser();

            var mapper = new MapperConfiguration(cfg => cfg.CreateMap <NewsCreateDto, News>()
                                                 .ForMember(m => m.CreatedById, opt => opt.MapFrom(sm => user.Id)))
                         .CreateMapper();

            var news = mapper.Map <NewsCreateDto, News>(newsDto);

            news.MainImageUrl          = (await UploadImage(newsDto.MainImage)).Url;
            news.UploadedContentImages = new List <UploadedNewsContentImage>();
            foreach (var image in newsDto.ContentImages)
            {
                news.UploadedContentImages.Add(await UploadImage(image));
            }

            _unitOfWork.Repository <News>().Add(news);
            await _unitOfWork.SaveChangesAsync();
        }
示例#3
0
        public ServiceResult CreateNews(NewsCreateDto model)
        {
            var serviceResult = new ServiceResult(true);

            #region validation
            if (string.IsNullOrEmpty(model.Title))
            {
                serviceResult.AddError("عنوان خبر نمی تواند فاقد مقدار باشد");
            }
            if (!string.IsNullOrEmpty(model.Title) && model.Title.Length > 128)
            {
                serviceResult.AddError("تعداد کاراکترهای عنوان خبر نمی تواند بیش از 128 کاراکتر باشد".ToPersianNumbers());
            }
            if (string.IsNullOrEmpty(model.PrimaryPicture))
            {
                serviceResult.AddError("عکس اصلی خبر نمی تواند فاقد مقدار باشد");
            }
            if (!model.Type.HasValue)
            {
                serviceResult.AddError("نوع خبر نمی تواند فاقد مقدار باشد");
            }
            #endregion

            if (serviceResult.IsSuccess)
            {
                var entity = model.ToEntity();
                entity.CreateDate = DateTime.Now;

                _context.News.Add(entity);

                if (_context.SaveChanges() == 0)
                {
                    serviceResult.AddError("در انجام عملیات خطایی رخ داد");
                }
            }

            return(serviceResult);
        }