public MainViewModel(IDialogService dialogService, IUserService userService) { _dialogService = dialogService; _userService = userService; _context = new DataContext(); FreeItemListViewModel = new FreeItemListViewModel(_context, ShowAddFreeItemsDialog); ControlledItemListViewModel = new ControlledItemListViewModel(_context); }
/// <summary> /// Saves info from ControlledItemViewModel to db /// </summary> /// <param name="viewModel"></param> private void ConvertFreeItemsToControlled(ControlledItemViewModel viewModel) { IList <ControlledItem> newItems = new List <ControlledItem>(); foreach (var item in viewModel.Items) { var newItem = new ControlledItem() { Designation = item.Designation, Name = item.Name, ControlledItemInfo = viewModel.ControlledItemInfo, ControlledSection = viewModel.SelectedSection, ControlType = viewModel.ControlType, Date = DateTime.Now, EditUserLogin = _userService.Login, Label = viewModel.Label, MeasurementTools = viewModel.MeasurementTools, Id = 0, Params = viewModel.Params, Responsible = viewModel.Responsible, StorageTime = viewModel.StorageTime, Subdiv = viewModel.SelectedSubdivision, SupportDocument = viewModel.SupportDocument, Technique = viewModel.Technique, Token = viewModel.SelectedToken, VpNeed = viewModel.VpNeed }; _context.Set <ControlledItem>().Add(newItem); //TODO: Add file saving newItems.Add(newItem); } _context.SaveChanges(); FreeItemListViewModel.RemoveItems(viewModel.Items.OfType <FreeItem>()); // delete from free items ControlledItemListViewModel.AddControlledItems(newItems); // add to controlled without refreshing from db }