private void RefreshData()
        {
            IRefundToCustomersListRepository purchaseRepository = new RefundToCustomersListRepository();

            this.DateFormat   = purchaseRepository.GetDateFormat();
            this.ShowAllCount = purchaseRepository.GetAllPurInvoice().Count();
            GetOptionsandTaxValues();
            this.JsonData = purchaseRepository.GetLastSelectionData(Convert.ToInt32(ScreenId.RefundToCustomersList));
            this.RefundToCustomersList         = purchaseRepository.GetAllPurInvoiceJson(this.JsonData).OrderBy(x => x.CustomerName).ToList();
            this.RefundToCustomersListcmb      = purchaseRepository.GetAllPurInvoice().OrderBy(x => x.CustomerName).ToList();
            this.ShowSelectedCount             = this.RefundToCustomersList.Count();
            this.RefundToCustomersListcmbDebit = this.RefundToCustomersListcmb.GroupBy(x => x.CashChequeNo).Select(g => g.First()).Where(y => y.CashChequeNo != null).OrderBy(x => x.CashChequeNo).ToList();
            this.RefundToCustomersListcmbSup   = this.RefundToCustomersList.GroupBy(x => x.CustomerName).Select(y => y.First()).Distinct().OrderBy(x => x.CustomerName).ToList();

            this.RefundToCustomersListcmbInv = this.RefundToCustomersList.GroupBy(x => x.InvoiceNo).Select(y => y.First()).Distinct().OrderBy(x => x.InvoiceNo).ToList();
            this.YearRange = purchaseRepository.GetYearRange().ToList();
            changedateformat(this.RefundToCustomersList);
            changedateformat(this.RefundToCustomersListcmb);
            changeNumberformat(this.RefundToCustomersList);
            changeNumberformat(this.RefundToCustomersListcmb);
            DefaultList = this.RefundToCustomersList;
            FullPQList  = this.RefundToCustomersListcmb;
            //this.ShowAllCount = this.PurchaseInvoiceListcmb.Count();
            SetDefaultSearchSelection(this.JsonData);
            var    Updateddate = this.RefundToCustomersListcmb.Max(x => x.CreatedDate);
            string date        = this.DateFormat as string;

            this.LastUpdateDate = Convert.ToDateTime(Updateddate).ToString(date);

            TotalCashChequeAmount = Convert.ToString(RefundToCustomersList.Sum(e => e.CashChequeAmount));
            TotalPOPIAmount       = Convert.ToString(RefundToCustomersList.Sum(e => e.InvoiceAmountValue));
            //this.GetData(this.SelectedSearchSupplier);
        }
        void Search(object param)
        {
            if (Count != 0)
            {
                SearchValues = new List <SearchEntity>();
                //this.ShowSelectedTrue = true;
                //this.ShowAllTrue = false;
                if (this.SelectedSearchYear != null || this.SelectedSearchYear == string.Empty)
                {
                    SearchEntity value = new SearchEntity();
                    value.FieldName  = "Year";
                    value.FieldValue = this.SelectedSearchYear;
                    SearchValues.Add(value);
                    var year = Convert.ToInt32(this.SelectedSearchYear);
                    DefaultList = FullPQList.Where(x => x.CreatedDate.Value.Year == year).ToList();
                    //if (this.IncludingGSTTrue == true)
                    //    this.PurchaseInvoiceListInternal = DefaultList.Where(x => x.ExcIncGST == true).ToList();
                    //else
                    //    this.PurchaseInvoiceListInternal = DefaultList.Where(x => x.ExcIncGST == false).ToList();
                    this.RefundToCustomersList = DefaultList.OrderBy(x => x.CustomerName).ToList();
                }
                if (this.SelectedSearchQuarter != null || this.SelectedSearchQuarter == string.Empty)
                {
                    SearchEntity value = new SearchEntity();
                    value.FieldName  = "Quarter";
                    value.FieldValue = this.SelectedSearchQuarter;
                    int month1;
                    int month2;
                    int month3;
                    if (Convert.ToInt32(this.SelectedSearchQuarter) == 1)
                    {
                        month1 = 1;
                        month2 = 2;
                        month3 = 3;
                    }
                    else if (Convert.ToInt32(this.SelectedSearchQuarter) == 2)
                    {
                        month1 = 4;
                        month2 = 5;
                        month3 = 6;
                    }
                    else if (Convert.ToInt32(this.SelectedSearchQuarter) == 3)
                    {
                        month1 = 7;
                        month2 = 8;
                        month3 = 9;
                    }
                    else
                    {
                        month1 = 10;
                        month2 = 11;
                        month3 = 12;
                    }
                    DefaultList = FullPQList.Where(x => x.CreatedDate.Value.Month == month1 || x.CreatedDate.Value.Month == month2 || x.CreatedDate.Value.Month == month3).ToList();
                    //if (this.IncludingGSTTrue == true)
                    //    this.PurchaseInvoiceListInternal = DefaultList.Where(x => x.ExcIncGST == true).ToList();
                    //else
                    //    this.PurchaseInvoiceListInternal = DefaultList.Where(x => x.ExcIncGST == false).ToList();
                    this.RefundToCustomersList = DefaultList.OrderBy(x => x.CustomerName).ToList();
                    SearchValues.Add(value);
                }
                if (this.SelectedSearchMonth != null || this.SelectedSearchMonth == string.Empty)
                {
                    SearchEntity value = new SearchEntity();
                    value.FieldName  = "Month";
                    value.FieldValue = this.SelectedSearchMonth;
                    SearchValues.Add(value);
                    var month = Convert.ToInt32(this.SelectedSearchMonth);
                    DefaultList = FullPQList.Where(x => x.CreatedDate.Value.Month == month).ToList();
                    //if (this.IncludingGSTTrue == true)
                    //    this.PurchaseInvoiceListInternal = DefaultList.Where(x => x.ExcIncGST == true).ToList();
                    //else
                    //    this.PurchaseInvoiceListInternal = DefaultList.Where(x => x.ExcIncGST == false).ToList();
                    this.RefundToCustomersList = DefaultList.OrderBy(x => x.CustomerName).ToList();
                }
                if (this.SelectedSearchStartDate != null && this.SelectedSearchEndDate != null)
                {
                    SearchEntity value = new SearchEntity();
                    value.FieldName = "StartDate";
                    //value.FieldValue = this.SelectedSearchStartDate.ToString();
                    value.FieldValue = string.Format("{0:MMM/dd/yyyy}", this.SelectedSearchStartDate);

                    SearchValues.Add(value);
                    //string[] value = new string[2];
                    SearchEntity value1 = new SearchEntity();
                    value1.FieldName = "EndDate";
                    //value1.FieldValue = this.SelectedSearchEndDate.ToString();
                    value1.FieldValue = string.Format("{0:MMM/dd/yyyy}", this.SelectedSearchEndDate);

                    DefaultList = FullPQList.Where(x => x.CreatedDate > this.SelectedSearchStartDate && x.CreatedDate < this.SelectedSearchEndDate).ToList();
                    //if (this.IncludingGSTTrue == true)
                    //    this.PurchaseInvoiceListInternal = DefaultList.Where(x => x.ExcIncGST == true).ToList();
                    //else
                    //    this.PurchaseInvoiceListInternal = DefaultList.Where(x => x.ExcIncGST == false).ToList();
                    this.RefundToCustomersList = DefaultList.OrderBy(x => x.CustomerName).ToList();
                    SearchValues.Add(value);
                    SearchValues.Add(value1);
                }
                //if (this.SelectedSearchEndDate != null || this.SelectedSearchEndDate == string.Empty)
                //{
                //    string[] value = new string[2];
                //    value[0] = "EndDate";
                //    value[1] = this.SelectedSearchEndDate;
                //    SearchValues.Add(value);
                //}

                //this.PurchaseInvoiceList = this.PurchaseInvoiceListInternal;
                jsonSearch    = JsonConvert.SerializeObject(SearchValues);
                this.JsonData = jsonSearch;

                IRefundToCustomersListRepository purchaseRepository = new RefundToCustomersListRepository();
                var results = purchaseRepository.SaveSearchJson(jsonSearch, Convert.ToInt32(ScreenId.RefundToCustomersList), "Payments_To_Suppliers_List");
                if (Count != 0)
                {
                    this.RefundToCustomersList = purchaseRepository.GetAllPurInvoiceJson(jsonSearch).OrderBy(x => x.CustomerName).ToList();
                }
                this.RefundToCustomersListcmb      = this.RefundToCustomersList;
                this.RefundToCustomersListcmbDebit = this.RefundToCustomersListcmb.GroupBy(x => x.CashChequeNo).Select(g => g.First()).Where(y => y.CashChequeNo != null).OrderBy(x => x.CashChequeNo).ToList();
                this.RefundToCustomersListcmbSup   = this.RefundToCustomersList.GroupBy(x => x.CustomerName).Select(y => y.First()).Distinct().ToList();
                this.RefundToCustomersListcmbInv   = this.RefundToCustomersList.GroupBy(x => x.InvoiceNo).Select(y => y.First()).Distinct().OrderBy(x => x.InvoiceNo).ToList();
                if (this.ShowAllTrue == true)
                {
                    this.ShowSelectedCount = 0;
                }
                else
                {
                    this.ShowSelectedCount = this.RefundToCustomersList.Count();
                }
                DefaultList = this.RefundToCustomersListcmb;
                changedateformat(this.RefundToCustomersList);
                changedateformat(this.RefundToCustomersListcmb);
                changeNumberformat(this.RefundToCustomersList);
                changeNumberformat(this.RefundToCustomersListcmb);
            }
            TotalCashChequeAmount = Convert.ToString(RefundToCustomersList.Sum(e => e.CashChequeAmount));
            TotalPOPIAmount       = Convert.ToString(RefundToCustomersList.Sum(e => e.InvoiceAmountValue));
        }