예제 #1
0
        public ICategory Save(ICategory category)
        {
            using (var context = new NoteTakingContext(_connectionString))
            {
                context.Database.EnsureCreated();
                var mySqlCategory = _mapper.Map <MySqlCategory>(category);

                context.Category.Attach(mySqlCategory);

                foreach (var note in mySqlCategory.Notes)
                {
                    if (context.Note.Any(x => x.Id.Equals(note.Id)))
                    {
                        context.Note.Update(note);
                    }
                    else
                    {
                        context.Note.Add(note);
                    }
                }
                context.SaveChanges();

                return(category);
            }
        }
예제 #2
0
        public async Task <User> GetAsync(Guid id)
        {
            using (var context = new NoteTakingContext())
            {
                var userDao = await context.Users.Include(u => u.Notes).FirstOrDefaultAsync(u => u.Id == id);

                return(userDao == null ? null : _mappingService.Map <UserDao, User>(userDao));
            }
        }
예제 #3
0
        public async Task <List <User> > GetAllAsync()
        {
            using (var context = new NoteTakingContext())
            {
                var userDaos = await context.Users.ToListAsync();

                return(_mappingService.Map <List <UserDao>, List <User> >(userDaos));
            }
        }
예제 #4
0
 public IList <ICategory> GetAll()
 {
     using (var context = new NoteTakingContext(_connectionString))
     {
         context.Database.EnsureCreated();
         var categories = context.Category.Include(i => i.Notes).ToList();
         return((null == categories) ? null : _mapper.Map <IList <ICategory> >(categories));
     }
 }
예제 #5
0
 public ICategory GetByName(string name)
 {
     using (var context = new NoteTakingContext(_connectionString))
     {
         context.Database.EnsureCreated();
         var cat = context.Category.Include(i => i.Notes).FirstOrDefault(x => x.Name == name);
         return((null == cat) ? null : _mapper.Map <ICategory>(cat));
     }
 }
예제 #6
0
        /// <inheritdoc />
        public async Task CreateAsync(User user)
        {
            var userDao = _mappingService.Map <User, UserDao>(user);

            using (var context = new NoteTakingContext())
            {
                context.Users.Add(userDao);
                await context.SaveChangesAsync();
            }
        }
예제 #7
0
 public void Delete(Guid id)
 {
     using (var context = new NoteTakingContext(_connectionString))
     {
         context.Database.EnsureCreated();
         var toRemove = context.Category.FirstOrDefault(x => x.Id == id);
         context.Remove(toRemove);
         context.SaveChanges();
     }
 }
예제 #8
0
        public ICategory Add(ICategory category)
        {
            using (var context = new NoteTakingContext(_connectionString))
            {
                context.Database.EnsureCreated();
                var mySqlCategory = _mapper.Map <MySqlCategory>(category);
                context.Category.Add(mySqlCategory);
                context.SaveChanges();

                return(_mapper.Map <Category>(mySqlCategory));;
            }
        }
예제 #9
0
        public async Task DeleteAsync(Guid id)
        {
            using (var context = new NoteTakingContext())
            {
                var storedUserDao = await context.Users.FirstOrDefaultAsync(u => u.Id == id);

                if (storedUserDao == null)
                {
                    return;
                }

                context.Entry(storedUserDao).State = EntityState.Deleted;
                await context.SaveChangesAsync();
            }
        }
예제 #10
0
        public async Task UpdateAsync(User user)
        {
            using (var context = new NoteTakingContext())
            {
                var storedUserDao = await context.Users.FirstOrDefaultAsync(u => u.Id == user.Id);

                if (storedUserDao == null)
                {
                    return;
                }

                storedUserDao.UserName  = user.UserName;
                storedUserDao.FirstName = user.FirstName;
                storedUserDao.Lastname  = user.Lastname;
                await context.SaveChangesAsync();
            }
        }