private void OnReturn(ObservableCollection <object> selectedAccDocumentItems)
        {
            var count = selectedAccDocumentItems.Count;

            if (count != 0)
            {
                for (int i = 0; i < count; i++)
                {
                    //if (!AccDocumentItems1.Any(x => SelectedAccDocumentItems[i].PublicInstancePropertiesEqual(x)))
                    AccDocumentItems.Add(selectedAccDocumentItems[i] as AccDocumentItemGroupedDTO);
                    //AccDocumentItems.Remove(selectedAccDocumentItems[i] as AccDocumentItemGroupedDTO);
                }
            }
            //AccDocumentItems1.ToList().AddRange(selectedAccDocumentItems.Cast<AccDocumentItemGroupedDTO>());

            AccDocumentItems1 = new ObservableCollection <AccDocumentItemGroupedDTO>(AccDocumentItems1.Except(selectedAccDocumentItems.Cast <AccDocumentItemGroupedDTO>()));
        }
        // public long lastAccDocumentHeaderCode { get; set; }
        private async void OnExport()
        {
            if (_accessUtility.HasAccess(68))
            {
                var errorMessage         = "";
                var getDocumentNumbering = await _accDocumentHeadersService.GetDocumentNumberingAsync();

                var dateDocument = _appContextService.CurrentFinancialYear;
                EndNumber = getDocumentNumbering.EndNumber;
                var lastAccDocumentHeaderCode = _accDocumentHeadersService.GetLastAccDocumentHeaderCode(_appContextService.CurrentFinancialYear);
                if (lastAccDocumentHeaderCode > EndNumber)
                {
                    Error("شماره گذاری اسناد به پایان رسیده،لطفا شماره گذاری اسناد را بررسی نمایید");
                }
                else
                {
                    if (AccDocumentItems1.Count == 0)
                    {
                        Error("سندی برای سود زیانی وجود ندارد");
                    }
                    else
                    {
                        var startYear = _currencyExchangesService.GetStartFinancialYear(dateDocument);

                        PersianCalendar persianCalendar = new PersianCalendar();
                        if (AccHeaderDate == null)
                        {
                            Error("تاریخ سند خالی می باشد");
                        }
                        else
                        {
                            var x = persianCalendar.GetYear(AccHeaderDate.Value);

                            if (x != dateDocument)
                            {
                                Error("تاریخ را درست وارد نمایید");
                            }
                            else
                            {
                                if (SL == null)
                                {
                                    errorMessage += $"لطفا معین خود را انتخاب کنید {Environment.NewLine}";

                                    // Error("معین خود را انتخاب کنید.");
                                }
                                else if (SL != null)
                                {
                                    if (SL.DLType1 != 0 && DLs1 == null)
                                    {
                                        errorMessage += $"تفصیل اول نمی تواند خالی باشد {Environment.NewLine}";
                                    }
                                    if (SL.DLType2 != 0 && DLs2 == null)
                                    {
                                        errorMessage += $" تفصیل دوم نمی تواند خالی باشد {Environment.NewLine}";
                                    }
                                    if (Description1 == "" || Description1 == null)
                                    {
                                        errorMessage += $" شرح آرتیکل 1  نباید خالی باشد {Environment.NewLine}";
                                    }
                                }
                                if (errorMessage.Length > 0)
                                {
                                    Error(errorMessage);
                                }
                                else
                                {
                                    var startNumber = getDocumentNumbering.StartNumber;

                                    if (lastAccDocumentHeaderCode == 0)
                                    {
                                        lastAccDocumentHeaderCode = startNumber;
                                    }
                                    else
                                    {
                                        lastAccDocumentHeaderCode++;
                                    }
                                    AccDocumentHeader = new AccDocumentHeader();
                                    var lastDailyNumberCode = await _accDocumentHeadersService.GetLastDailyNumberCode();

                                    var stringLastAccDocumentHeaderCode = lastAccDocumentHeaderCode.ToString();
                                    var stringlastDailyNumberCode       = lastDailyNumberCode.ToString();
                                    var lastAccDocumentHeadersCode      = stringLastAccDocumentHeaderCode;
                                    var lastDayAccDocumentHeadersCode   = stringLastAccDocumentHeaderCode;
                                    AccDocumentHeader.DailyNumber          = int.Parse($"{stringlastDailyNumberCode}");
                                    AccDocumentHeader.DocumentNumber       = int.Parse($"{lastAccDocumentHeadersCode}");
                                    AccDocumentHeader.ManualDocumentNumber = int.Parse($"{lastAccDocumentHeadersCode}");
                                    AccDocumentHeader.SystemFixNumber      = int.Parse($"{lastAccDocumentHeadersCode}");
                                    AccDocumentHeader.HeaderDescription    = "هدر سند سود و زیانی";
                                    AccDocumentHeader.Status         = StatusEnum.Temporary;
                                    AccDocumentHeader.DocumentDate   = AccHeaderDate.Value;
                                    AccDocumentHeader.Exporter       = _appContextService.CurrentUser.FriendlyName;
                                    AccDocumentHeader.SystemName     = System.Environment.MachineName;
                                    AccDocumentHeader.TypeDocumentId = 1;
                                    AccRow = 1;
                                    //  string AccRowCode = AccRow.ToString();
                                    //  var editingAccDocumentHeader = Mapper.Map<EditableAccDocumentHeader, AccDocumentHeader>(AccDocumentHeader);
                                    // Mapper.Map( AccDocumentItemListViewModel.AccDocumentItems.ToList(), editingAccDocumentHeader.AccDocumentItems);
                                    await _accDocumentHeadersService.AddAccDocumentHeaderAsync(AccDocumentHeader);

                                    if (DocumentDate == null)
                                    {
                                        DocumentDate = await _currencyExchangesService.GetEndFinancialYear(dateDocument);
                                    }
                                    var accItems = new ObservableCollection <AccDocumentItemGroupedDTO>(_closeProfitLossAccountsService.GetGroupedAccDocumentItems(_appContextService.CurrentFinancialYear));
                                    var accList  = AccDocumentItems1.Select((xd, i) => new AccDocumentItem {
                                        AccDocumentHeaderId = AccDocumentHeader.AccDocumentHeaderId, SLId = (xd.SLId), DL1Id = (xd.DL1Id), DL2Id = (xd.DL2Id), Description1 = Description1, Description2 = Description2, Credit = (xd.SumDebit - xd.SumCredit) < 0 ? Math.Abs(xd.SumDebit - xd.SumCredit) : 0, Debit = (xd.SumDebit - xd.SumCredit) > 0 ? Math.Abs(xd.SumDebit - xd.SumCredit) : 0
                                    });
                                    _accDocumentItemsService.AddAccDocumentItemsAsync(accList);
                                    var remainSum = accList.Sum(di => di.Debit - di.Credit);
                                    if (remainSum > 0)
                                    {
                                        Credit = remainSum;
                                        Debit  = 0;
                                    }
                                    else
                                    {
                                        Debit  = Math.Abs(remainSum);
                                        Credit = 0;
                                    }
                                    if (remainSum != 0)
                                    {
                                        var accItem = new AccDocumentItem {
                                            AccDocumentHeaderId = AccDocumentHeader.AccDocumentHeaderId, SLId = (SL.SLId), DL1Id = AccDocumentItem.DL1Id, DL2Id = AccDocumentItem.DL2Id, Description1 = Description1, Description2 = Description2, Credit = Credit, Debit = Debit
                                        };
                                        _accDocumentItemsService.AddAccDocumentItemAsync(accItem);
                                    }
                                    EndFinancialYear = await _currencyExchangesService.GetEndFinancialYear(dateDocument);

                                    AccDocumentItems  = new ObservableCollection <AccDocumentItemGroupedDTO>(_closeProfitLossAccountsService.GetGroupedAccDocumentItems(_appContextService.CurrentFinancialYear));
                                    AccDocumentItems1 = null;
                                    AccDocumentItems1 = new ObservableCollection <AccDocumentItemGroupedDTO>();
                                    //  AccDocumentItems1 = new ObservableCollection<AccDocumentItemGroupedDTO>(AccDocumentItems1.Except(selectedAccDocumentItems.Cast<AccDocumentItemGroupedDTO>()));

                                    Information("سند با موفقیت ثبت شد");
                                }
                            }
                        }
                    }
                }
            }
        }