/*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); }