public EditHistoryViewModel() { ErrorMessageViewModel = new MessageViewModel(); ItemChangedCommand = new ItemChangedCommand(this); History = LinkToEditCommand.History; EditCommand = new EditCommand(History, this); if (History?.Activity?.ActivityType?.Title == "Доходы") { IsEncomeChecked = true; } else { IsExpenseChecked = true; } if (History != null) { Amount = History.Amount.ToString(); SelectedActivity = History.Activity; if (IsExpenseChecked) { ItemChangedCommand.Execute(Expense); } else if (IsEncomeChecked) { ItemChangedCommand.Execute(Encome); } Activity activity = new Activity(); activity = activities.Find(x => x.Id == History.ActivityId); History.Activity = activity; } }
private void DataField_LostFocus(object sender, RoutedEventArgs e) { if ((TextField.Text.Length > 0) && (_textContentChanged)) { DataFieldEventArgs ev = new DataFieldEventArgs(DataFieldChangedEvent) { FieldData = TextField.Text }; IDictionary <string, object> valueDictionary = new Dictionary <string, object> { [TABLENAME] = TableName, [FIELD] = DataSourcePath, [DATATABLE] = ItemSource, [CHANGED_VALUE] = TextField.Text }; _filler.FillDataObject(TextField.Text, DataSourcePath, ref _dataObject); DataObject = _dataObject; valueDictionary[DATAOBJECT] = DataObject; ev.ChangedValuesObjects = valueDictionary; if (this.ItemChangedCommand != null) { if (ItemChangedCommand.CanExecute(valueDictionary)) { ItemChangedCommand.Execute(valueDictionary); } } else { RaiseEvent(ev); } _textContentChanged = false; } }
private void DataField_LostFocus(object sender, RoutedEventArgs e) { TextBox textField = GetTemplateChild("PART_TextField") as TextBox; // here we put the validation logic using data annotations just for data objects if (IsReadOnly) { return; } if (DataObject != null) { BaseViewObject baseViewObject = null; if (DataObject is BaseViewObject) { baseViewObject = DataObject as BaseViewObject; } else { var dto = ComponentUtils.GetPropValue(DataObject, "Value"); baseViewObject = dto as BaseViewObject; } if (baseViewObject != null) { var context = new ValidationContext(baseViewObject, serviceProvider: null, items: null); var results = new List <System.ComponentModel.DataAnnotations.ValidationResult>(); var isValid = Validator.TryValidateObject(baseViewObject, context, results); if (!isValid) { baseViewObject.IsValid = isValid; ErrorText = results[0].ErrorMessage; } } } if (textField?.Text.Length > 0 && (_textContentChanged)) { DataFieldEventArgs ev = new DataFieldEventArgs(DataFieldChangedEvent) { FieldData = textField.Text }; var valueDictionary = InitValueDictionary(textField.Text, DataObject); ev.ChangedValuesObjects = valueDictionary; if (ItemChangedCommand != null) { if (ItemChangedCommand.CanExecute(valueDictionary)) { ItemChangedCommand.Execute(valueDictionary); } } else { RaiseEvent(ev); } _textContentChanged = false; } }
public CreateHistoryViewModel() { ErrorMessageViewModel = new MessageViewModel(); History = new History(); ItemChangedCommand = new ItemChangedCommand(this); CreateCommand = new CreateCommand(History, this); ItemChangedCommand.Execute(Expense); }
private void Amount_LostFocus(object sender, RoutedEventArgs e) { if ((changedText) && (ItemChangedCommand != null)) { IDictionary <string, object> objectName = new Dictionary <string, object>(); objectName["DataObject"] = ControlExt.GetDataSource(this.Amount); objectName["DataSourcePath"] = ControlExt.GetDataSourcePath(this.Amount); objectName["ChangedValue"] = this.Amount.Text; ItemChangedCommand.Execute(objectName); changedText = false; } }
private void PhoneTextBox_LostFocus(object sender, RoutedEventArgs e) { if (textChanged) { ComponentUtils.SetPropValue(DataObject, Phone, _phoneTextBox.Text); IDictionary <string, object> valueDictionary = new Dictionary <string, object> { [DATAOBJECT] = DataObject, [CHANGED_VALUE] = _phoneTextBox.Text }; if (ItemChangedCommand != null) { if (ItemChangedCommand.CanExecute(valueDictionary)) { ItemChangedCommand.Execute(valueDictionary); } } textChanged = false; } }
private void ChangedValue(string path, string value) { if (textChanged) { ComponentUtils.SetPropValue(DataObject, path, value); IDictionary <string, object> valueDictionary = new Dictionary <string, object> { [DATAOBJECT] = DataObject, [CHANGED_VALUE] = value, ["Field"] = path }; if (ItemChangedCommand != null) { if (ItemChangedCommand.CanExecute(valueDictionary)) { ItemChangedCommand.Execute(valueDictionary); } } textChanged = false; } }