public virtual void OnControllerChanged(ControlledItem item) { if (this.ControllerChanged != null) { this.ControllerChanged(this, new ControllerEventArgs(item)); } }
/// <summary> /// Fill viewModel properties from item properties /// </summary> /// <param name="viewModel">viewModel, which properties to fill</param> /// <param name="item">source - item's properties</param> private void SetDialogViewModelField(ControlledItemViewModel viewModel, ControlledItem item) { viewModel.SelectedSection = viewModel.Sections.FirstOrDefault(section => section == item.ControlledSection); viewModel.SelectedSubdivision = viewModel.Subdivisions.FirstOrDefault(subdiv => subdiv == item.Subdiv); viewModel.SelectedToken = viewModel.Tokens.FirstOrDefault(token => token == item.Token); viewModel.ControlledItemInfo = item.ControlledItemInfo; viewModel.Params = item.Params; viewModel.ControlType = item.ControlType; viewModel.MeasurementTools = item.MeasurementTools; viewModel.Technique = item.Technique; viewModel.Label = item.Label; viewModel.StorageTime = item.StorageTime; viewModel.Responsible = item.Responsible; viewModel.VpNeed = item.VpNeed; viewModel.SupportDocument = item.SupportDocument; viewModel.FileName = ""; //TODO: add file name filling }
/// <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 }
public ControllerEventArgs(ControlledItem item) { this.Item = item; }
private void NotifyChange(ControlledItem item, [CallerMemberName] string propertyName = "") { this.OnControllerChanged(item); this.OnPropertyChanged(propertyName); }