示例#1
0
        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;
        }
示例#2
0
        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();
            }
        }
示例#3
0
 internal void ClosePeriod(TblPeriodViewModel selectedrow)
 {
     Glclient.ClosePeriodAsync(selectedrow.Iserial, LoggedUserInfo.DatabasEname, LoggedUserInfo.Iserial);
 }