Esempio n. 1
0
        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);
            }
        }
Esempio n. 2
0
        /// <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);
        }
Esempio n. 3
0
        /// <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);
        }
Esempio n. 4
0
        /// <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);
        }
Esempio n. 5
0
        /// <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);
        }