private void CalculateCustomText(CustomTextViewModel viewmodel) { var vm = viewmodel; if (viewmodel.CustomRtfText.Length > 2500) { vm.CustomText = Properties.Resources.ParsingText; Task.Factory.StartNew(() => CalculateCustomTextCore(vm)); } else { CalculateCustomTextCore(vm); } }
private void LoadData() { // načtení kolekce uživatelských textů _textsVM = new List <CustomTextViewModel>(); var customTexts = _repository.GetTexts(); foreach (var customText in customTexts) { var customTextVM = new CustomTextViewModel(customText); _textsVM.Add(customTextVM); CalculateCustomText(customTextVM); } // nabindování do gridu BindAllTexts(); }
private void CalculateCustomTextCore(CustomTextViewModel viewmodel) { string rawText = RichTextStripper.StripRichTextFormat(viewmodel.CustomRtfText); if (InvokeRequired) { Invoke(new Action(() => { viewmodel.CustomText = rawText; dgvTexts.Invalidate(); })); } else { viewmodel.CustomText = rawText; } }
private void EditText(int index) { CustomTextViewModel vm = (CustomTextViewModel)bsTexts[index]; var frm = new CustomTextEditor(_repository); frm.CustomText = vm.Model; if (frm.ShowDialog() == DialogResult.OK) { var sorting = GetSortInfo(dgvTexts); _repository.UpdateCustomText(frm.CustomText); bsTexts.ResetBindings(false); CalculateCustomText(vm); TrySetSortInfo(dgvTexts, sorting); } }
private void cmdNew_Click(object sender, EventArgs e) { var frm = new CustomTextEditor(_repository); frm.CustomText = new CustomText { is_header = true }; if (frm.ShowDialog() == DialogResult.OK) { var sorting = GetSortInfo(dgvTexts); _repository.CreateCustomText(frm.CustomText); var vm = new CustomTextViewModel(frm.CustomText); CalculateCustomText(vm); bsTexts.Add(vm); bsTexts.ResetBindings(false); TrySetSortInfo(dgvTexts, sorting); } }
private void cmdDelete_Click(object sender, EventArgs e) { if (dgvTexts.SelectedRows.Count == 0) { return; } if (MessageBox.Show(Resources.ReallyDeleteText, this.Text, MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) { var sorting = GetSortInfo(dgvTexts); int index = dgvTexts.SelectedRows[0].Index; CustomTextViewModel vm = (CustomTextViewModel)bsTexts[index]; _repository.DeleteCustomText(vm.Model); _textsVM.Remove(vm); bsTexts.RemoveAt(index); bsTexts.ResetBindings(false); TrySetSortInfo(dgvTexts, sorting); } }