예제 #1
0
        public async Task <int> DeleteData(int idx)
        {
            await m_lock.WaitAsync();

            try
            {
                using (var db = new DbWorkerContext())
                {
                    db.Model.Remove(new DbWorkerModel()
                    {
                        Id = idx
                    });
                    await db.SaveChangesAsync();
                }
                dbCollection.RemoveAt(idx - 1);
            }
            catch (InvalidOperationException)
            {
                Console.WriteLine("Elemnt is not defined in db");
            }
            finally
            {
                m_lock.Release();
            }

            return(0);
        }
예제 #2
0
        public async Task <int> UpdateData(int idx, string data)
        {
            await m_lock.WaitAsync();

            try
            {
                using (var db = new DbWorkerContext())
                {
                    db.Model.Update(new DbWorkerModel()
                    {
                        Id = idx, Text = data
                    });
                    await db.SaveChangesAsync();
                }
                dbCollection[idx - 1] = data;
            }
            catch (InvalidDataException)
            {
                if (dbCollection.Count > 0)
                {
                    await SetData(data);
                }
                else
                {
                    dbCollection.Add(data);
                }
            }
            finally
            {
                m_lock.Release();
            }


            return(0);
        }
예제 #3
0
        public async Task <List <string> > GetData()
        {
            if (dbCollection.Count > 0)
            {
                return(dbCollection);
            }

            var data = new List <string>();
            await m_lock.WaitAsync();

            try
            {
                DbWorkerModel bbData = new DbWorkerModel();

                using (var db = new DbWorkerContext())
                {
                    data = await db.Model.Select(item => item.Text).ToListAsync();
                }
            }
            finally
            {
                m_lock.Release();
            }



            return(data);
        }
예제 #4
0
        public async Task <int> SetData(string data)
        {
            await m_lock.WaitAsync();

            try
            {
                using (var db = new DbWorkerContext())
                {
                    await db.AddAsync(new DbWorkerModel()
                    {
                        Text = data
                    });

                    await db.SaveChangesAsync();
                }
                dbCollection.Add(data);
            }
            finally
            {
                m_lock.Release();
            }


            return(0);
        }
예제 #5
0
        public async Task <int> DeleteData()
        {
            await m_lock.WaitAsync();

            try
            {
                using (var db = new DbWorkerContext())
                {
                    var data = await db.Model.ToListAsync();

                    db.Model.RemoveRange(data);
                    await db.SaveChangesAsync();
                }

                dbCollection.Clear();
            }
            finally
            {
                m_lock.Release();
            }
            return(0);
        }