public static News ToEntity(this NewsCreateDto source) { return(new News { Description = source.Description, PrimaryPicture = source.PrimaryPicture, Title = source.Title, Type = source.Type.Value }); }
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(); }
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); }