/// <summary> /// Add site banner /// </summary> /// <param name="imageStream"></param> /// <param name="fileName"></param> /// <param name="alternateText"></param> /// <param name="targetUrl"></param> /// <param name="active"></param> /// <returns></returns> public async Task <RServiceResult <GanjoorSiteBannerViewModel> > AddSiteBanner(Stream imageStream, string fileName, string alternateText, string targetUrl, bool active) { RServiceResult <RImage> image = await _imageFileService.Add(null, imageStream, fileName, "SiteBanners"); if (!string.IsNullOrEmpty(image.ExceptionString)) { return(new RServiceResult <GanjoorSiteBannerViewModel>(null, image.ExceptionString)); } GanjoorSiteBanner banner = new GanjoorSiteBanner() { RImage = image.Result, AlternateText = alternateText, TargetUrl = targetUrl, Active = active }; _context.GanjoorSiteBanners.Add(banner); await _context.SaveChangesAsync(); await CleanBannersCache(); return(new RServiceResult <GanjoorSiteBannerViewModel> ( new GanjoorSiteBannerViewModel() { Id = banner.Id, ImageUrl = $"api/rimages/{banner.RImageId}.jpg", AlternateText = banner.AlternateText, TargetUrl = banner.TargetUrl, Active = banner.Active } )); }
/// <summary> /// delete site banner /// </summary> /// <param name="id"></param> /// <returns></returns> public async Task <RServiceResult <bool> > DeleteSiteBanner(int id) { GanjoorSiteBanner target = await _context.GanjoorSiteBanners.Where(b => b.Id == id).SingleOrDefaultAsync(); if (target == null) { return(new RServiceResult <bool>(false));//not found } _context.GanjoorSiteBanners.Remove(target); await _context.SaveChangesAsync(); await CleanBannersCache(); return(new RServiceResult <bool>(true)); }
/// <summary> /// modify site banner /// </summary> /// <param name="id"></param> /// <param name="alternateText"></param> /// <param name="targetUrl"></param> /// <param name="active"></param> /// <returns></returns> public async Task <RServiceResult <bool> > ModifySiteBanner(int id, string alternateText, string targetUrl, bool active) { GanjoorSiteBanner target = await _context.GanjoorSiteBanners.Where(b => b.Id == id).SingleOrDefaultAsync(); if (target == null) { return(new RServiceResult <bool>(false));//not found } target.AlternateText = alternateText; target.TargetUrl = targetUrl; target.Active = active; _context.GanjoorSiteBanners.Update(target); await _context.SaveChangesAsync(); await CleanBannersCache(); return(new RServiceResult <bool>(true)); }