/*Section="CustomCodeRegion"*/
        #region Customized
        private BankPosTransactions readRow(BankPosTransactions rec, int MikroStatusCode, IDAL dal)
        {
            IUniParameter       prmStoreRef        = dal.CreateParameter("StoreRef", rec.StoreRef);
            IUniParameter       prmPosRef          = dal.CreateParameter("PosRef", rec.PosRef);
            IUniParameter       prmBlockedDate     = dal.CreateParameter("BlockedDate", rec.BlockedDate);
            IUniParameter       prmValueDate       = dal.CreateParameter("ValueDate", rec.ValueDate);
            IUniParameter       prmMikroStatusCode = dal.CreateParameter("MikroStatusCode", MikroStatusCode);
            BankPosTransactions checkrec           = dal.Read <BankPosTransactions>("ACC_SEL_POSMIKROTRANSFERCONTROL_SP", prmStoreRef, prmPosRef, prmBlockedDate, prmValueDate, prmMikroStatusCode);

            return(checkrec);
        }
        private int checkIfMikroTransferred(IList <BankPosTransactions> trans, IDAL dal)
        {
            int result = 0;

            foreach (BankPosTransactions rec in trans)
            {
                BankPosTransactions checkrec = readRow(rec, 1, dal);
                if (checkrec != null)
                {
                    result++;
                }
            }
            return(result);
        }
        private string insertDataTabletoPOSTable(DataTable dt, IDAL dal, int bankNumber)
        {
            long   eventId                = _parameterReader.ReadEventId("System");
            long   organizationId         = OTApplication.Context.Organization.Id;
            string result                 = "";
            IList <BankPosTransactions> t = new List <BankPosTransactions>();

            foreach (DataRow dr in dt.Rows)
            {
                BankPosTransactions pt = new BankPosTransactions();
                bool found             = false;
                foreach (BankPosTransactions rec in t)
                {
                    if (rec.StoreRef == dr["UYENO"].ToString() &&
                        rec.PosRef == dr["TERMID"].ToString() &&
                        rec.BlockedDate == (DateTime)dr["BLOKETARIHI"] &&
                        rec.ValueDate == (DateTime)dr["BLOKEVALORU"])
                    {
                        found = true;
                        pt    = rec;
                    }
                }

                if (found)
                {
                    pt.Quantity         += int.Parse(Math.Round((decimal)dr["ADET"], 0).ToString());
                    pt.DebitAmount      += (decimal)dr["ALACAKTUTARI"];
                    pt.CreditAmount     += (decimal)dr["BORCTUTARI"];
                    pt.CommissionAmount += (decimal)dr["KOMISYON"];
                }
                else
                {
                    pt.Bank             = bankNumber;
                    pt.MikroStatusCode  = 0;
                    pt.Organization     = organizationId;
                    pt.Event            = eventId;
                    pt.StoreRef         = dr["UYENO"].ToString();
                    pt.PosRef           = dr["TERMID"].ToString();
                    pt.BlockedDate      = (DateTime)dr["BLOKETARIHI"];
                    pt.ValueDate        = (DateTime)dr["BLOKEVALORU"];
                    pt.Quantity         = int.Parse(Math.Round((decimal)dr["ADET"], 0).ToString());
                    pt.DebitAmount      = (decimal)dr["ALACAKTUTARI"];
                    pt.CreditAmount     = (decimal)dr["BORCTUTARI"];
                    pt.CommissionAmount = (decimal)dr["KOMISYON"];
                    t.Add(pt);
                }
            }
            _logger.Debug($"File read to dataobject array : {DateTime.Now.ToLongTimeString()}");
            int mikroTransferredCount = checkIfMikroTransferred(t, dal);

            if (mikroTransferredCount == 0)
            {
                _logger.Debug($"Data checked if transferred to Mikro no error : {DateTime.Now.ToLongTimeString()}");

                foreach (BankPosTransactions rec in t)
                {
                    BankPosTransactions oldrec = readRow(rec, 0, dal);
                    if (oldrec == null)
                    {
                        dal.Create <BankPosTransactions>(rec);
                    }
                    else
                    {
                        oldrec.Quantity         = rec.Quantity;
                        oldrec.DebitAmount      = rec.DebitAmount;
                        oldrec.CreditAmount     = rec.CreditAmount;
                        oldrec.CommissionAmount = rec.CommissionAmount;
                        dal.Update <BankPosTransactions>(oldrec);
                    }
                }
                _logger.Debug($"Pos Transfer operation completed : {DateTime.Now.ToLongTimeString()}");
            }
            else
            {
                _logger.Debug($"Data checked if transferred to Mikro with error : {DateTime.Now.ToLongTimeString()}");
                result = $"{t.Count} kaydın {mikroTransferredCount} adedi Mikro'ya aktarılmış. Tekrar yükleme yapamazsınız.";
            }
            return(result);
        }