Exemplo n.º 1
0
        public void Put(int id, [FromBody] MiriotConfiguration config)
        {
            var existing = _context.Configurations
                           .Include(u => u.Widgets)
                           .Single(c => c.Id == config.Id);

            existing.Widgets.Clear();
            _context.SaveChanges();
            existing.Widgets.AddRange(config.Widgets);

            _context.Entry(existing).State = Microsoft.EntityFrameworkCore.EntityState.Modified;
            _context.Entry(existing).CurrentValues.SetValues(config);

            _context.SaveChanges();
        }
Exemplo n.º 2
0
        public void Put(int id, [FromBody] User user)
        {
            var existingUser = _context.Users.AsNoTracking()
                               .FirstOrDefault(u => u.Id == user.Id);

            if (existingUser == null)
            {
                _context.Users.Add(user);
            }
            else
            {
                //foreach (var d in user.Devices)
                //{
                //    d.UserId = user.Id;
                //    _context.Configurations.Update(d);

                //    foreach (var w in d.Widgets)
                //    {
                //        _context.Widgets.Update(w);
                //    }
                //}
                //existingUser.Devices = user.Devices;

                //foreach(var d in user.Devices)
                //{
                //    var config = _context.Configurations.Find(d.Id);

                //    if(config != null)
                //    {
                //        config.Widgets = d.Widgets;
                //        _context.Configurations.Update(config);
                //    }
                //}

                //existingUser.ToothbrushingHistory = user.ToothbrushingHistory;

                //_context.Users.Update(existingUser);
                //_context.Update(user);
                //existingUser.Devices = user.Devices;
                //existingUser.ToothbrushingHistory = user.ToothbrushingHistory;
                _context.Entry(existingUser).State = Microsoft.EntityFrameworkCore.EntityState.Modified;
                _context.Entry(existingUser).CurrentValues.SetValues(user);
                //_context.Users.Update(existingUser);
            }
            _context.SaveChanges();
        }