public void AddNewMainRow(bool checkLastRow) { var currentRowIndex = (MainRowList.IndexOf(SelectedMainRow)); if (checkLastRow) { var valiationCollection = new List <ValidationResult>(); var isvalid = Validator.TryValidateObject(SelectedMainRow, new ValidationContext(SelectedMainRow, null, null), valiationCollection, true); if (!isvalid) { return; } } if (AllowAdd != true) { MessageBox.Show(strings.AllowAddMsg); return; } var newrow = new TblPeriodViewModel(); MainRowList.Insert(currentRowIndex + 1, newrow); SelectedMainRow = newrow; }
public PeriodGlViewModel() { if (!IsDesignTime) { GetItemPermissions(PermissionItemName.PeriodsGl.ToString()); MainRowList = new ObservableCollection <TblPeriodViewModel>(); SelectedMainRow = new TblPeriodViewModel(); Glclient.UpdateOrInsertCspPeriodLineCompleted += (s, sv) => { Loading = false; }; Glclient.GetTblPeriodCompleted += (s, sv) => { foreach (var row in sv.Result) { var newrow = new TblPeriodViewModel(); newrow.InjectFrom(row); if (row.TblAccount1 != null) { newrow.AccountPerRow = new TblAccount(); newrow.AccountPerRow = row.TblAccount1; } MainRowList.Add(newrow); } Loading = false; FullCount = sv.fullCount; if (FullCount == 0 && MainRowList.Count == 0) { AddNewMainRow(false); } }; Glclient.UpdateOrInsertTblperiodCompleted += (s, ev) => { if (ev.Error != null) { MessageBox.Show(ev.Error.Message); } MainRowList.ElementAt(ev.outindex).InjectFrom(ev.Result); }; Glclient.DeleteTblPeriodCompleted += (s, ev) => { if (ev.Error != null) { MessageBox.Show(ev.Error.Message); } var oldrow = MainRowList.FirstOrDefault(x => x.Iserial == ev.Result); if (oldrow != null) { MainRowList.Remove(oldrow); } }; Glclient.GetTblPeriodLineCompleted += (s, ev) => { if (ev.Error != null) { MessageBox.Show(ev.Error.Message); } SelectedMainRow.TblPeriodLineList = new ObservableCollection <TblPeriodLineViewModel>(); GenericMapper.InjectFromObCollection(SelectedMainRow.TblPeriodLineList, ev.Result); var childWindow = new PeriodLinesChildWindow(this); childWindow.Show(); }; Glclient.ClosePeriodCompleted += (s, ev) => { if (ev.Error != null) { MessageBox.Show(ev.Error.Message); } var Period = MainRowList.FirstOrDefault(w => w.Iserial == ev.Result.Iserial); Period.InjectFrom(ev.Result); MessageBox.Show("Post Completed"); //SelectedMainRow.TblPeriodLineList = new ObservableCollection<TblPeriodLineViewModel>(); //GenericMapper.InjectFromObCollection(SelectedMainRow.TblPeriodLineList, ev.Result); }; Glclient.ClosePeriodlineCompleted += (s, ev) => { if (ev.Error != null) { MessageBox.Show(ev.Error.Message); } var PeriodLine = SelectedMainRow.TblPeriodLineList.FirstOrDefault(w => w.Iserial == ev.Result.Iserial); PeriodLine.InjectFrom(ev.Result); MessageBox.Show("Post Completed"); //SelectedMainRow.TblPeriodLineList = new ObservableCollection<TblPeriodLineViewModel>(); //GenericMapper.InjectFromObCollection(SelectedMainRow.TblPeriodLineList, ev.Result); }; GetMaindata(); } }
internal void ClosePeriod(TblPeriodViewModel selectedrow) { Glclient.ClosePeriodAsync(selectedrow.Iserial, LoggedUserInfo.DatabasEname, LoggedUserInfo.Iserial); }