public async Task <Boolean> DeleteAsync(int id) { ContextFactory contextFactory = new ContextFactory(); DatabaseContext db = contextFactory.CreateDbContext(null); try { using (DatabaseContext context = db) { RadioFavModel curEntry = await context.RadioFavs.SingleOrDefaultAsync(x => x.Id == id); if (curEntry == null) { return(false); } context.RadioFavs.Remove(curEntry); await context.SaveChangesAsync(); return(true); } } catch (Exception ex) { Log.Error("ReadById RadioFav: " + ex.ToString()); return(false); } }
/// <summary> /// Aktualisiert einen Eintrag /// </summary> /// <param name="id">Id des Eintrags</param> /// <param name="RadioFav">Eintrag</param> /// <returns>aktualisierten Eintrag</returns> public async Task <RadioFavModel> UpdateAsync(int id, RadioFavModel RadioFav) { ContextFactory contextFactory = new ContextFactory(); DatabaseContext db = contextFactory.CreateDbContext(null); RadioFavModel result = new RadioFavModel(); try { using (DatabaseContext context = db) { RadioFavModel curEntry = await context.RadioFavs.SingleOrDefaultAsync(x => x.Id == id); if (curEntry == null) { return(new RadioFavModel()); } curEntry = RadioFav; curEntry.UpdatedDate = DateTime.Now; context.RadioFavs.Attach(curEntry); await context.SaveChangesAsync(); result = await ReadByIdAsync(curEntry.Id); } } catch (Exception ex) { Log.Error("ReadById RadioFav: " + ex.ToString()); } db.Dispose(); return(result); }
/// <summary> /// /// </summary> /// <param name="id"></param> /// <returns></returns> public async Task <RadioFavModel> ReadByIdAsync(int id) { ContextFactory contextFactory = new ContextFactory(); DatabaseContext db = contextFactory.CreateDbContext(null); RadioFavModel result = new RadioFavModel(); try { using (DatabaseContext context = db) { result = await context.RadioFavs.FindAsync(id); } } catch (Exception ex) { Log.Error("ReadById RadioFav: " + ex.ToString()); } db.Dispose(); return(result); }
/// <summary> /// Liest einen Eintrag aus /// </summary> /// <param name="source">Suchparameter</param> /// <returns>Den gefundenen Eintrag</returns> /// <remarks></remarks> public async Task <RadioFavModel> ReadBySourceAsync(string source) { ContextFactory contextFactory = new ContextFactory(); DatabaseContext db = contextFactory.CreateDbContext(null); RadioFavModel result = new RadioFavModel(); try { using (DatabaseContext context = db) { result = await context.RadioFavs.AsNoTracking().Where(x => x.Source == source).FirstOrDefaultAsync <RadioFavModel>(); } } catch (Exception ex) { Log.Error("ReadBySource RadioFav: " + ex.ToString()); } db.Dispose(); return(result); }
/// <summary> /// Erzeugt einen neuen Eintrag /// </summary> /// <param name="RadioFav">Neuer Eintrag</param> /// <returns>Id des Eintrags</returns> /// <remarks>Aktualisiert, wenn Eintrag bereits vorhanden ist</remarks> public async Task <Int32> CreateAsync(RadioFavModel RadioFav) { ContextFactory ContextFactory = new ContextFactory(); DatabaseContext db = ContextFactory.CreateDbContext(null); if (RadioFav == null) { return(0); } int result = 0; //Prüfen, ob bereits ein Eintrag besteht RadioFavModel RadioFavTest = await ReadBySourceAsync(RadioFav.Source); if (RadioFavTest.Id != 0) { await UpdateAsync(RadioFavTest.Id, RadioFav); } try { using (DatabaseContext context = db) { RadioFav.CreatedDate = DateTime.Now; RadioFav.UpdatedDate = DateTime.Now; await context.RadioFavs.AddAsync(RadioFav); await context.SaveChangesAsync(); result = RadioFav.Id; } } catch (Exception ex) { Log.Error("Create RadioFav: " + ex.ToString()); } db.Dispose(); return(result); }