static HardwareMapperInitialise() { Mapper.AddMap <HardwareSettings, HardwareSettingsDto>(x => { var settings = new HardwareSettingsDto(); settings.NetworkMonitoring.InjectFrom(x.NetworkMonitoring); settings.CpuMonitoring.InjectFrom(x.CpuMonitoring); settings.EmailAlertSettings.InjectFrom(x.EmailAlertSettings); settings.Drives = x.Drives .Select(c => new DriveSettingsDto().InjectFrom(c)).Cast <DriveSettingsDto>() .ToList(); return(settings); }); Mapper.AddMap <HardwareSettingsDto, HardwareSettings>(x => { var settings = new HardwareSettings(); settings.NetworkMonitoring.InjectFrom(x.NetworkMonitoring); settings.CpuMonitoring.InjectFrom(x.CpuMonitoring); settings.EmailAlertSettings.InjectFrom(x.EmailAlertSettings); settings.Drives = x.Drives .Select(c => new DriveSettings().InjectFrom(c)).Cast <DriveSettings>() .ToList(); return(settings); }); Mapper.AddMap <HardwareSettingsViewModel, HardwareSettingsDto>(x => { var settings = new HardwareSettingsDto(); settings.NetworkMonitoring.InjectFrom(x.NetworkMonitoring); settings.CpuMonitoring.InjectFrom(x.CpuMonitoring); settings.EmailAlertSettings.InjectFrom(x.EmailAlertSettings); settings.Drives = x.Drives .Select(c => new DriveSettingsDto().InjectFrom(c)).Cast <DriveSettingsDto>() .ToList(); return(settings); }); Mapper.AddMap <HardwareSettingsDto, HardwareSettingsViewModel>(x => { var settings = new HardwareSettingsViewModel(); settings.NetworkMonitoring.InjectFrom(x.NetworkMonitoring); settings.CpuMonitoring.InjectFrom(x.CpuMonitoring); settings.EmailAlertSettings.InjectFrom(x.EmailAlertSettings); settings.Drives = x.Drives .Select(c => new DriveSettingsViewModel().InjectFrom(c)).Cast <DriveSettingsViewModel>() .ToList(); return(settings); }); }
public ActionResult HardwareSettings(HardwareSettingsViewModel viewModel) { if (!ModelState.IsValid) { return(View(viewModel)); } var dto = new HardwareSettingsDto(); dto.InjectFrom(viewModel); var result = HardwareSettingsService.SaveSettings(dto); if (result) { return(RedirectToAction("HardwareSettings")); } return(View("Error")); }