/// <summary> /// Add new record or Save update record /// </summary> /// <returns></returns> public async Task <bool> SaveRecord() { return(await Task.Factory.StartNew(() => { if (!Validate(hasErrors)) { MessageBox.Show("Ошибка валидации данных!"); return false; } bool cmd_res = false; if (DataList == null) { return false; } var ia = DataList.Where(i => i.Id == SelectedDataModel.Id).FirstOrDefault(); if (ia == null) { cmd_res = new InsertDataCommand(dataAPI, new DataRecord(SelectedDataModel.Name, SelectedDataModel.Surname, SelectedDataModel.Patronymic, SelectedDataModel.Email)).Execute(); } else { cmd_res = new UpdateDataCommand(dataAPI, new DataRecord(SelectedDataModel.Id, SelectedDataModel.Name, SelectedDataModel.Surname, SelectedDataModel.Patronymic, SelectedDataModel.Email)).Execute(); } if (cmd_res) { GetRecordList(); MessageBox.Show("Данные успешно обновлены"); } return cmd_res; })); }
private void FilterIsActive_PropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e) { if ((e.PropertyName != "IsActive") || (FileIsOpened == FileState.Closed) || (FileIsOpened == FileState.Opening)) { return; } UpdateDataCommand.Execute(); }
public async Task <IActionResult> UpdateRow([FromRoute] int id, [FromBody] UpdateDataCommand command) { if (command.TableId != id) { command.TableId = id; } await Mediator.Send(command); return(NoContent()); }
private void UpdateDataAndFilters_Execute() { try { var newFilters = new List <CanIdTraceFilter>(); foreach (var el in currentTraceProvider.CanHeaders.ToList()) { if (newFilters.Count(x => x.CanId == el.CanId && x.IsExtId == el.IsExtId) == 0) { CanIdTraceFilter entity = new CanIdTraceFilter(el.CanId, el.IsExtId); entity.PropertyChanged += FilterIsActive_PropertyChanged; newFilters.Add(entity); } } Filters = newFilters.OrderBy(x => x.CanId).ToList(); UpdateDataCommand.Execute(); } catch (Exception e) { MessageBox.Show(e.ToString(), (string)Manager <LanguageCultureInfo> .StaticInstance.GetResource("#ErrorMsgBoxTitle"), MessageBoxButton.OK, MessageBoxImage.Error); } }