public async Task <ActionResult> Update(int id, ManufacturerViewModel model) { try { var manufacturer = await _makeRepo.GetManufacturerById(id); if (manufacturer == null) { return(NotFound($"Kunde inte hitta någon tillverkare med id: {id}")); } manufacturer.Name = model.Name; _makeRepo.Update(manufacturer); if (await _makeRepo.SaveAllAsync()) { return(NoContent()); } return(StatusCode(500, "Det gick inte att uppdatera tillverkaren")); } catch (Exception ex) { return(StatusCode(500, ex.Message)); } }
public IActionResult Delete(int id) { var device = _deviceRepository.GetDeviceById(id); var manufacturer = _manufacturerRepository.GetManufacturerById(device.Manufacturer.ManufacturerId); var operatingSystem = _operatingSystemRepository.GetOperatingSystemById(device.OperatingSystem.Id); var osVersion = _osVersionRepository.GetOSversionById(device.OSversion.Id); var processor = _processorRepository.GetProcessorById(device.Processor.Id); var ramAmount = _ramAmountRepository.GetRAMamountById(device.RAMamount.Id); _deviceRepository.DeleteDevice(id); if (manufacturer.Devices.Count == 0) { _manufacturerRepository.DeleteManufacturer(manufacturer.ManufacturerId); } if (operatingSystem.Devices.Count == 0) { _operatingSystemRepository.DeleteOperatingSystem(operatingSystem.Id); } if (osVersion.Devices.Count == 0) { _osVersionRepository.DeleteOSversion(osVersion.Id); } if (processor.Devices.Count == 0) { _processorRepository.DeleteProcessor(processor.Id); } if (ramAmount.Devices.Count == 0) { _ramAmountRepository.DeleteRAMamount(ramAmount.Id); } return(RedirectToAction("Devices")); }