public static Computer ToModel(this ComputerResourceModel computer) { return(new Computer() { ComputerId = computer.ComputerId, Name = computer.Name, Cpu = computer.Cpu, Gpu = computer.Gpu, Ram = computer.Ram, OperatingSystem = computer.OperatingSystem, MacAddress = computer.MacAddress }); }
public IHttpActionResult UpdateComputer(ComputerResourceModel computer) { var account = _db.WebAccounts .FirstOrDefault(wa => wa.Email == User.Identity.Name); if (account == null) { return(NotFound()); } var exist = computer.ComputerId != 0 && _db.Computers.Any(c => c.ComputerId == computer.ComputerId); if (!exist) { var oldComputer = _db.Computers.AsNoTracking().FirstOrDefault(c => c.Name == computer.Name && c.WebAccount.Email == User.Identity.Name); if (oldComputer != null) { exist = true; computer.ComputerId = oldComputer.ComputerId; } } var computerModel = computer.ToModel(); computerModel.WebAccountId = account.WebAccountId; if (exist) { _db.Entry(computerModel).State = EntityState.Modified; } else { _db.Computers.Add(computerModel); } _db.SaveChanges(); return(Ok(computerModel.ComputerId)); }