async Task GetposSetting()
        {
            possettingModel = await possettingModel.GetByposId((int)MainWindow.posID);

            possettingModel = await GetdefaultposSetting(possettingModel);

            //  papersizeList = await papersizeModel.GetAll();

            if (possettingModel is null || possettingModel.posSettingId <= 0)
            {
                //possettingModel = new PosSetting();
                //possettingModel =await GetdefaultposSetting(possettingModel);
            }
        //public string getdefaultPrinters()
        //{

        //    PrinterSettings settings = new PrinterSettings();
        //    string defaultPrinterName = settings.PrinterName;


        //    return defaultPrinterName;
        //}

        //public async Task<PosSetting> GetdefaultposSetting(PosSetting oldsetting)
        //{

        //    PosSetting defpossetting = new PosSetting();
        //    defpossetting.posId = oldsetting.posId;
        //    defpossetting.posSettingId = oldsetting.posSettingId;

        //    defpossetting.posSerial = oldsetting.posSerial;


        //    defpossetting.posSettingId = oldsetting.posSettingId;

        //    string printname = getdefaultPrinters();

        //    Printers defpr = new Printers();

        //    defpr.name = Convert.ToBase64String(System.Text.Encoding.UTF8.GetBytes(printname));
        //    if (oldsetting.saleInvPrinterId == null)
        //    {

        //        defpr.printFor = "sal";
        //        int saleInvPrinterId = await printerModel.Save(defpr);
        //        defpossetting.saleInvPrinterId = saleInvPrinterId;

        //    }
        //    if (oldsetting.reportPrinterId==null)
        //    {
        //        defpr.printFor = "doc";//"doc"
        //        int reportPrinterId = await printerModel.Save(defpr);
        //        defpossetting.reportPrinterId = reportPrinterId;

        //    }



        //    papersizeList = await papersizeModel.GetAll();
        //    int salsizeid = papersizeList.Where(x => x.printfor.Contains("sal") && x.sizeValue == "A4").FirstOrDefault().sizeId;
        //    int docsizeid = papersizeList.Where(x => x.printfor.Contains("doc") && x.sizeValue == "A5").FirstOrDefault().sizeId;
        //    if (oldsetting.saleInvPapersizeId==null)
        //    {

        //        defpossetting.saleInvPapersizeId = salsizeid;
        //    }

        //    if (oldsetting.docPapersizeId == null)
        //    {
        //        defpossetting.docPapersizeId = docsizeid;

        //    }

        //    //   defpossetting.saleInvPrinterId=
        //    //  defpossetting.reportPrinterId

        //    return defpossetting;

        //}

        public async Task <PosSetting> GetdefaultposSetting(PosSetting oldsetting)
        {
            Papersize papersizeModel = new Papersize();
            Printers  printerModel   = new Printers();


            PosSetting defpossetting = new PosSetting();

            defpossetting = oldsetting;
            //defpossetting.posId = oldsetting.posId;
            //defpossetting.posSettingId = oldsetting.posSettingId;

            //defpossetting.posSerial = oldsetting.posSerial;


            //defpossetting.posSettingId = oldsetting.posSettingId;

            //defpossetting.salprinterId = oldsetting.salprinterId;


            string printname = possettingModel.getdefaultPrinters();

            Printers defpr = new Printers();

            defpr.name = Convert.ToBase64String(System.Text.Encoding.UTF8.GetBytes(printname));
            if (oldsetting.saleInvPrinterId == null)
            {
                defpr.printFor = "sal";
                int saleInvPrinterId = await printerModel.Save(defpr);

                defpossetting.saleInvPrinterId = saleInvPrinterId;
                defpossetting.salname          = defpr.name;
                defpossetting.salprintFor      = "sal";
                defpossetting.salprinterId     = saleInvPrinterId;
            }
            if (oldsetting.reportPrinterId == null)
            {
                defpr.printFor = "doc";//"doc"
                int reportPrinterId = await printerModel.Save(defpr);

                defpossetting.reportPrinterId = reportPrinterId;
                defpossetting.repname         = defpr.name;
            }



            papersizeList = await papersizeModel.GetAll();


            if (oldsetting.saleInvPapersizeId == null)
            {
                int salsizeid = papersizeList.Where(x => x.printfor.Contains("sal") && x.sizeValue == "A4").FirstOrDefault().sizeId;
                defpossetting.saleInvPapersizeId = salsizeid;
                defpossetting.saleSizeValue      = "A4";
            }

            if (oldsetting.docPapersizeId == null)
            {
                int docsizeid = papersizeList.Where(x => x.printfor.Contains("doc") && x.sizeValue == "A5").FirstOrDefault().sizeId;
                defpossetting.docPapersizeId = docsizeid;
                defpossetting.docPapersize   = "A5";
            }

            //   defpossetting.saleInvPrinterId=
            //  defpossetting.reportPrinterId

            return(defpossetting);
        }