public void SaveModel(SlideShowWidget model) { using (var db = new SlideShowDbContext(_db)) { db.Widgets.Add(model); db.SaveChanges(); } }
public SlideDocumentService(SlideShowDbContext readDb, DbContextOptions <SlideShowDbContext> writeDb) { Ensure.NotNull(readDb); Ensure.NotNull(writeDb); this._readDb = readDb; this._writeDb = writeDb; }
public SlideShowWidget GetModel(string widgetId) { using (var db = new SlideShowDbContext(_db)) { return(db.Widgets //.Include(x => x.SlideShow) .FirstOrDefault(x => x.Id == widgetId)); } }
public async Task <Slide> GetAsync(string documentId) { Ensure.NotNullOrEmpty(documentId); using (var db = new SlideShowDbContext(_writeDb)) { return(await db.Slides.SingleOrDefaultAsync(x => x.DocumentId == documentId)); } }
public void UpdateModel(SlideShowWidget model) { using (var db = new SlideShowDbContext(_db)) { db.Attach <SlideShowWidget>(model); db.Entry(model).State = Microsoft.EntityFrameworkCore.EntityState.Modified; db.SaveChanges(); } }
public async Task DeleteAsync(string documentId) { using (var db = new SlideShowDbContext(_writeDb)) { var document = await db.Slides.FirstOrDefaultAsync(x => x.DocumentId == documentId); db.Slides.Remove(document); await db.SaveChangesAsync(); } }
public async Task <Slide> CreateAsync(Slide document) { using (var db = new SlideShowDbContext(_writeDb)) { db.Slides.Add(document); await db.SaveChangesAsync(); } return(document); }
public void DeleteModel(string widgetId) { using (var db = new SlideShowDbContext(_db)) { var model = db.Widgets.FirstOrDefault(x => x.Id == widgetId); if (model == null) { return; // Another view/session already deleted it (race condition) } db.Widgets.Remove(model); db.SaveChanges(); } }
public async Task <Slide> UpdateAsync(Slide document) { // TODO: How to handle non-Drive image URLs? Thumbnails handled how? using (var db = new SlideShowDbContext(_writeDb)) { db.Attach(document); db.Entry(document).State = EntityState.Modified; await db.SaveChangesAsync(); } return(document); }
public async Task DeleteByIdsAsync(IEnumerable <string> documentIds) { using (var db = new SlideShowDbContext(_writeDb)) { var delete = documentIds.Select(x => db.Slides.SingleOrDefault(y => y.DocumentId == x)).Where(x => x != null); foreach (var item in delete) { db.Slides.Remove(item); } await db.SaveChangesAsync(); } }
public SlideShowWidget CloneModel(SlideShowWidget model) { var clonedWidget = model.Clone(); // TODO: Update any child models, eg slides, etc. using (var db = new SlideShowDbContext(_db)) { var slides = db.Slides .Include(x => x.Layers) .Where(x => x.WidgetId == model.Id) .OrderBy(x => x.Position).ToList(); clonedWidget.Id = Guid.NewGuid().ToString("N"); var cloneSlides = slides.Select(x => new Slide { WidgetId = clonedWidget.Id, DocumentId = Guid.NewGuid().ToString("N"), Title = x.Title ?? "", Duration = x.Duration, ImageUrl = x.ImageUrl ?? "", Description = x.Description, Transition = x.Transition, Color = x.Color, Position = x.Position, Delay = x.Delay, UseVideoBackground = x.UseVideoBackground, VideoUrl = x.VideoUrl, EnableVideoSound = x.EnableVideoSound, VideoSource = x.VideoSource, Layers = x.Layers.Select(l => new SlideLayer { Id = Guid.NewGuid().ToString("N"), //SlideId = x.DocumentId, Title = l.Title, HorizontalAlignment = Alignment.Center, VerticalAlignment = Alignment.Center, Color = l.Color, SourceUrl = l.SourceUrl, FontFamily = l.FontFamily, FontSize = l.FontSize, X = l.X, Y = l.Y, Transition = l.Transition, Position = l.Position, LayerType = l.LayerType, Delay = l.Delay, Target = l.Target }).ToList() }); db.Widgets.Add(clonedWidget); db.Slides.AddRange(cloneSlides); db.SaveChanges(); } return(clonedWidget); }
public P610002_AddVideoBgToSlides(SlideShowDbContext dbContext) { _dbContext = dbContext; }
public P610001_AddStylingFieldsToLayers(SlideShowDbContext dbContext) { _dbContext = dbContext; }
public P610000_CreateInitialSlideShowTables(SlideShowDbContext dbContext) { _dbContext = dbContext; }
public SlideShowService(SlideShowDbContext readDb, DbContextOptions <SlideShowDbContext> writeDb, ConnectDbContext connectDb) { _readDb = readDb; _writeDb = writeDb; _connectDb = connectDb; }
public P610003_IncreaseTitleAndUrlColumnSize(SlideShowDbContext dbContext) { _dbContext = dbContext; }