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;
            }
        }
Example #2
0
 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;
     }
 }
Example #3
0
        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;
     }
 }
Example #6
0
 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;
     }
 }
Example #7
0
 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;
     }
 }