public async Task <GenericPaginationResponse <TransactionsInquiry> > GetTransactionInquiryCardNoResults(int terminalnbr, string cardno, int customerid, string startdate, string enddate, int?searchId, int cardtype, int skiprecords, int pagesize)
        {
            var response = new GenericPaginationResponse <TransactionsInquiry>
            {
                SkipRecords = skiprecords,
                PageSize    = pagesize
            };

            return(await this._connectionFactory.GetConnection(async c =>
            {
                TransactionsInquiry dbinfo = new TransactionsInquiry();

                var p = new DynamicParameters();

                p.Add("LID", terminalnbr, DbType.Int32);
                p.Add("PAN", cardno.ToString(), DbType.Int32);
                p.Add("CustomerID", customerid, DbType.Int32);
                p.Add("BeginDate", startdate, DbType.DateTime);
                p.Add("EndDate", enddate, DbType.DateTime);
                p.Add("SearchId", searchId, DbType.Int32);
                p.Add("CardType", cardtype, DbType.Int32);
                p.Add("SkipRecords", skiprecords, DbType.Int32);
                p.Add("PageSize", pagesize, DbType.Int32);
                p.Add("TotalRecords", DbType.Int32, direction: ParameterDirection.Output);
                response.ReturnedRecords = await c.QueryAsync <Wp.CIS.LynkSystems.Model.TransactionsInquiry>(sql: "CISNOW_HistoryViewerTransactionsByPan", param: p, commandType: CommandType.StoredProcedure);
                response.TotalNumberOfRecords = p.Get <int>("TotalRecords");
                return response;
            }));
        }
        public async Task <IActionResult> Get(TransactionsInquiryGeneralInfo terminalgeneralinfo, int TerminalNbr, int?SearchId, string startDate, string endDate, int?BatchNo, string CardNo, int SkipRecords, int PageSize)
        {
            bool _IsTopTier = terminalgeneralinfo.istoptier;

            var response = new GenericPaginationResponse <TransactionsInquiry>
            {
                SkipRecords = 0,
                PageSize    = 0
            };

            //_IsTopTier = true;

            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            try
            {
                string cachekey = TerminalNbr + "|" + SearchId + "|" + startDate + "|" + endDate + "|" + BatchNo + "|" + CardNo + "|" + _IsTopTier;

                var data = new Operation(_cache).RetrieveCache(cachekey.ToString(), new TransactionsInquiry());

                if (data == null)
                {
                    if (!(_IsTopTier))
                    {
                        response = await _transinqApi.GetTransactionInquiryResults(terminalgeneralinfo, TerminalNbr, SearchId, startDate, endDate, BatchNo, CardNo, SkipRecords, PageSize);
                    }
                    else
                    {
                        response = await _transinqTierApi.GetTransactionInquiryResults(terminalgeneralinfo, TerminalNbr, SearchId, startDate, endDate, BatchNo, CardNo, SkipRecords, PageSize);
                    }

                    if (response != null)
                    {
                        //Now add data to cache..
                        await new Operation(_cache).AddCacheAsync(cachekey.ToString(), response);
                    }
                }

                return(Ok(response));

                //if (!(_IsTopTier))
                //{
                //    return Ok(await _transinqApi.GetTransactionInquiryResults(terminalgeneralinfo, TerminalNbr, SearchId, startDate, endDate, BatchNo, CardNo, SkipRecords, PageSize));
                //}
                //else
                //{
                //    return Ok(await _transinqTierApi.GetTransactionInquiryResults(terminalgeneralinfo, TerminalNbr, SearchId, startDate, endDate, BatchNo, CardNo, SkipRecords, PageSize));
                //}
            }
            catch (Exception)
            {
                var msg = this._localizer?["TransactionSearchErrorMsg"]?.Value;
                return(this.StatusCode((int)System.Net.HttpStatusCode.InternalServerError, msg));
            }
        }
Beispiel #3
0
        /// <summary>
        /// Model - Merchant
        /// </summary>
        /// <param name="custId"></param>
        /// <returns></returns>

        public async Task <GenericPaginationResponse <Wp.CIS.LynkSystems.Model.Demographics> > GetContactListAsync(LidTypeEnum LIDType, string LID, PaginationDemographics page)
        {
            try
            {
                await _loggingFacade.LogAsync(new LogEntry(LogLevels.Info, "Starting Contact List Repository GetContactListAsync for " + LIDType.ToString() + " Value - " + LID,
                                                           "ContactListRepository.cs", "GetContactListAsync"), CancellationToken.None);

                var response = new GenericPaginationResponse <Demographics>
                {
                    SkipRecords = page.SkipRecordNumber,
                    PageSize    = page.PageSize
                };
                return(await this._connectionFactory.GetConnection(async c => {
                    await _loggingFacade.LogAsync(new LogEntry(LogLevels.Info, "Open Dapper Connection of SQL server for Contact List Repository  for " + LIDType.ToString() + " Value - " + LID,
                                                               "ContactListRepository.cs", "GetContactListAsync"), CancellationToken.None);

                    var p = new DynamicParameters();
                    p.Add("iLIDType", LIDType, DbType.Int32);
                    p.Add("iLID", LID, DbType.String);
                    if (page.SortField != null)
                    {
                        p.Add("SortField", page.SortField, DbType.String);
                        p.Add("@SortByAsc", page.SortFieldByAsc, DbType.Boolean);
                    }


                    if (page.FilterContact != null)
                    {
                        p.Add("FilterByValueForContact", page.FilterContact, DbType.String);
                    }
                    if (page.FilterLast4 != null)
                    {
                        p.Add("FilterByValueForSSN", page.FilterLast4, DbType.String);
                    }
                    if (page.FilterRole != null)
                    {
                        p.Add("FilterByValueForTitle", page.FilterRole, DbType.String);
                    }

                    if (page.PageSize != 0)
                    {
                        p.Add("PageSize", page.PageSize, DbType.Int16);
                    }
                    if (page.SkipRecordNumber != 0)
                    {
                        p.Add("SkipRecordNumber", page.SkipRecordNumber, DbType.Int16);
                    }

                    p.Add("MaximumRecsLimit", maxRecordCount, DbType.Int16);
                    p.Add("TotalRecordsCount", DbType.Int32, direction: ParameterDirection.Output);

                    await _loggingFacade.LogAsync(new LogEntry(LogLevels.Info, "Dapper Connection parameterized Query for Contact List Repository for " + LIDType.ToString() + " Value - " + LID,
                                                               "ContactListRepository.cs", "GetContactListAsync"), CancellationToken.None);

                    response.ReturnedRecords = await c.QueryAsync <Wp.CIS.LynkSystems.Model.Demographics>(sql: "[CISPlus].[uspCISPlusGetDemographicsByLIdType]", param: p, commandType: CommandType.StoredProcedure);
                    response.TotalNumberOfRecords = p.Get <int>("TotalRecordsCount");

                    await _loggingFacade.LogAsync(new LogEntry(LogLevels.Info, "Successful DB call for Contact List Repository Query result for " + LIDType.ToString() + " Value - " + LID,
                                                               "ContactListRepository.cs", "GetContactListAsync"), CancellationToken.None);

                    return response;
                }));
            }
            catch (Exception ex)
            {
                var msg = String.Format("{0}.GetContactListAsync() experienced an exception (not a timeout)", GetType().FullName);
                await _loggingFacade.LogAsync(new LogEntry(LogLevels.Error, "Error Occurred  for " + LIDType.ToString() + " Value - " + LID + " " + msg + ex.ToString() + ex.Message, "ContactListRepository.cs",
                                                           "GetContactListAsync"), CancellationToken.None);

                throw;
            }
        }
Beispiel #4
0
        /// <summary>
        /// Model - Merchant
        /// </summary>
        /// <param name="custId"></param>
        /// <returns></returns>

        public async Task <GenericPaginationResponse <Merchant> > GetMerchantListAsync(int custId, PaginationMerchant page)
        {
            try
            {
                var response = new GenericPaginationResponse <Merchant>
                {
                    SkipRecords = page.SkipRecordNumber,
                    PageSize    = page.PageSize
                };
                return(await this._connectionFactory.GetConnection(async c => {
                    //  await _loggingFacade.LogAsync(new LogEntry(LogLevels.Info, "Open Dapper Connection of SQL server for Merchant List Repository for CustomerID - " + custId,
                    //                  "MerchantListRepository.cs", "GetMerchantListAsync()"), CancellationToken.None);
                    var p = new DynamicParameters();
                    p.Add("CustomerID", custId, DbType.String);
                    if (page.SortField != null)
                    {
                        p.Add("SortField", page.SortField, DbType.String);
                        p.Add("@SortByAsc", page.SortFieldByAsc, DbType.Boolean);
                    }

                    if (page.FilterMID != null)
                    {
                        p.Add("FilterByMID", page.FilterMID, DbType.String);
                    }
                    if (page.FilterName != null)
                    {
                        p.Add("FilterByName", page.FilterName, DbType.String);
                    }
                    if (page.FilterState != null)
                    {
                        p.Add("FilterByState", page.FilterState, DbType.String);
                    }
                    if (page.FilterStatusIndicator != null)
                    {
                        p.Add("FilterByStatusIndicator", page.FilterStatusIndicator, DbType.String);
                    }
                    if (page.FilterZipCode != null)
                    {
                        p.Add("FilterByZipCode", page.FilterZipCode, DbType.String);
                    }

                    if (page.PageSize != 0)
                    {
                        p.Add("PageSize", page.PageSize, DbType.Int16);
                    }
                    if (page.SkipRecordNumber != 0)
                    {
                        p.Add("SkipRecordNumber", page.SkipRecordNumber, DbType.Int16);
                    }
                    p.Add("TotalRecordsCount", DbType.Int32, direction: ParameterDirection.Output);
                    p.Add("MaximumRecsLimit", maxRecordCount, DbType.Int16);


                    await _loggingFacade.LogAsync(new LogEntry(LogLevels.Info, "Dapper Connection parameterized Query for Merchant List Repository for CustomerID - " + custId,
                                                               "MerchantListRepository.cs", "GetMerchantListAsync()"), CancellationToken.None);

                    response.ReturnedRecords = await c.QueryAsync <Merchant>(sql: "[CISPlus].[uspCISPlusGetMerchantListByCustomer]", param: p, commandType: CommandType.StoredProcedure);
                    response.TotalNumberOfRecords = p.Get <int>("TotalRecordsCount");

                    await _loggingFacade.LogAsync(new LogEntry(LogLevels.Info, "Successful DB call for Merchant List Repository Query result for CustomerID - " + custId,
                                                               "MerchantListRepository.cs", "GetMerchantListAsync()"), CancellationToken.None);

                    return response;
                }));
            }

            catch (Exception ex)
            {
                var msg = String.Format("{0}.GetMerchantListAsync() experienced an exception (not a timeout) for CustomerId " + custId, GetType().FullName);
                await _loggingFacade.LogAsync(new LogEntry(LogLevels.Error, msg + ex.ToString() + ex.Message, "MerchantListRepository.cs",
                                                           "GetMerchantListAsync()"), CancellationToken.None);

                throw;
            }
        }
Beispiel #5
0
        public async Task <GenericPaginationResponse <Wp.CIS.LynkSystems.Model.CaseHistory> > GetCaseHistoryInfo(LidTypeEnum lidtype, string lid, string extraId, PaginationCaseHistory page)
        {
            try
            {
                var response = new GenericPaginationResponse <Wp.CIS.LynkSystems.Model.CaseHistory>();


                return(await this._connectionFactory.GetConnection(async c =>
                {
                    var p = new DynamicParameters();

                    p.Add("LIDType", lidtype, DbType.Int32);
                    p.Add("LID", lid, DbType.String);
                    p.Add("MaximumRecsLimit", maxrecordslimit, DbType.String);

                    if (extraId != null)
                    {
                        p.Add("ExtraID", extraId, DbType.String);
                    }

                    p.Add("PageSize", page.PageSize, DbType.Int32);

                    p.Add("SkipRecords", page.SkipRecordNumber, DbType.Int32);

                    if (page.SortField != null)
                    {
                        p.Add("SortField", page.SortField, DbType.String);
                    }

                    p.Add("SortOrder", page.SortFieldByAsc, DbType.Boolean);

                    if (page.FilterCaseId != null)
                    {
                        p.Add("FilterCaseId", page.FilterCaseId, DbType.String);
                    }

                    if (page.FilterCaseDesc != null)
                    {
                        p.Add("FilterCaseDesc", page.FilterCaseDesc, DbType.String);
                    }

                    if (page.FilterOrgDeptName != null)
                    {
                        p.Add("FilterOrgDeptName", page.FilterOrgDeptName, DbType.String);
                    }

                    if (page.FilterCaseLevel != null)
                    {
                        p.Add("FilterCaseLevel", page.FilterCaseLevel, DbType.String);
                    }

                    if (true == page.FilterCreateDate.HasValue)
                    {
                        var beginCreateDate = new DateTime(page.FilterCreateDate.Value.Year, page.FilterCreateDate.Value.Month, page.FilterCreateDate.Value.Day);
                        var endCreateDate = new DateTime(page.FilterCreateDate.Value.Year, page.FilterCreateDate.Value.Month, page.FilterCreateDate.Value.Day, 23, 59, 59);
                        p.Add("FilterBeginCreateDate", beginCreateDate, DbType.Date);
                        p.Add("FilterEndCreateDate", endCreateDate, DbType.Date);
                    }

                    p.Add("TotalRecords", DbType.Int32, direction: ParameterDirection.Output);

                    response.ReturnedRecords = await c.QueryAsync <Wp.CIS.LynkSystems.Model.CaseHistory>(sql: "CISPlus.uspCISPlusGetCaseHistoryRecords", param: p,
                                                                                                         commandType: CommandType.StoredProcedure);

                    response.TotalNumberOfRecords = p.Get <int>("TotalRecords");


                    return response;
                }));
            }
            catch (System.Exception)
            {
                throw;
            }
        }
        /// <summary>
        /// Model - Terminal
        /// </summary>
        /// <param name="merchantId"></param>
        /// <returns></returns>

        public async Task <GenericPaginationResponse <Wp.CIS.LynkSystems.Model.TransactionHistory> > GetTransactionHistoryAsync(string terminalId, PaginationTransactionHistory page)
        {
            try
            {
                await _loggingFacade.LogAsync(new LogEntry(LogLevels.Info, "Starting Transaction History GetTransactionHistoryAsync for TerminalID " + terminalId,
                                                           "TransactionHistoryRepository.cs", "GetTransactionHistoryAsync()"), CancellationToken.None);

                var response = new GenericPaginationResponse <Wp.CIS.LynkSystems.Model.TransactionHistory>
                {
                    SkipRecords = page.SkipRecordNumber
                };
                return(await this._connectionFactory.GetConnection(async c =>
                {
                    await _loggingFacade.LogAsync(new LogEntry(LogLevels.Info, "Open Dapper Connection of SQL server for Transaction History Repository for TerminalID " + terminalId,
                                                               "TransactionHistoryRepository.cs", "GetTransactionHistoryAsync()"), CancellationToken.None);
                    var p = new DynamicParameters();
                    p.Add("TerminalID", terminalId, DbType.String);
                    if (!string.IsNullOrEmpty(page.SortField))
                    {
                        p.Add("SortField", page.SortField, DbType.String);
                        p.Add("SortOrder", page.SortFieldByAsc, DbType.Boolean);
                    }

                    if (!string.IsNullOrEmpty(page.FilterByDate))
                    {
                        p.Add("FilterByDate", page.FilterByDate, DbType.String);
                    }
                    if (!string.IsNullOrEmpty(page.FilterByAmount))
                    {
                        p.Add("FilterByAmount", page.FilterByAmount, DbType.String);
                    }
                    if (!string.IsNullOrEmpty(page.FilterByLast4))
                    {
                        p.Add("FilterByLast4", page.FilterByLast4, DbType.String);
                    }
                    if (!string.IsNullOrEmpty(page.FilterByTranType))
                    {
                        p.Add("FilterByTranType", page.FilterByTranType, DbType.String);
                    }

                    if (!string.IsNullOrEmpty(page.FilterByDesc))
                    {
                        p.Add("FilterByDesc", page.FilterByDesc, DbType.String);
                    }

                    if (!string.IsNullOrEmpty(page.FilterByNetworkCD))
                    {
                        p.Add("FilterByNetworkCD", page.FilterByNetworkCD, DbType.String);
                    }

                    if (page.PageSize > 0)
                    {
                        p.Add("PageSize", page.PageSize, DbType.Int16);
                    }
                    if (page.SkipRecordNumber > 0)
                    {
                        p.Add("SkipRecords", page.SkipRecordNumber, DbType.Int16);
                    }

                    p.Add("MaximumRecsLimit", maxRecordCount, DbType.Int16);
                    p.Add("TotalRecordsCount", DbType.Int32, direction: ParameterDirection.Output);

                    await _loggingFacade.LogAsync(new LogEntry(LogLevels.Info, "Dapper Connection parameterized Query for Transaction History Repository for TerminalID " + terminalId,
                                                               "TransactionHistoryRepository.cs", "GetTransactionHistoryAsync()"), CancellationToken.None);

                    if (page.TransactionType == TransactionTypeEnum.Settled)
                    {
                        response.ReturnedRecords = await c.QueryAsync <Wp.CIS.LynkSystems.Model.TransactionHistory>(sql: "[CISPlus].[uspCISPlusGetTerminalTransactionsSettled]", param: p, commandType: CommandType.StoredProcedure);
                        response.TotalNumberOfRecords = p.Get <int>("TotalRecordsCount");
                    }
                    else if (page.TransactionType == TransactionTypeEnum.Acquired)
                    {
                        response.ReturnedRecords = await c.QueryAsync <Wp.CIS.LynkSystems.Model.TransactionHistory>(sql: "[CISPlus].[uspCISPlusGetTerminalTransactionsAcquired]", param: p, commandType: CommandType.StoredProcedure);
                        response.TotalNumberOfRecords = p.Get <int>("TotalRecordsCount");
                    }

                    await _loggingFacade.LogAsync(new LogEntry(LogLevels.Info, "Successful DB call for Transaction History Repository Query result for TerminalID " + terminalId,
                                                               "TransactionHistoryRepository.cs", "GetTransactionHistoryAsync()"), CancellationToken.None);
                    return response;
                }));
            }
            catch (Exception ex)
            {
                var msg = String.Format("{0}.GetTransactionHistoryAsync() experienced an exception (not a timeout) for TerminalID " + terminalId, GetType().FullName);
                await _loggingFacade.LogAsync(new LogEntry(LogLevels.Error, msg + ex.ToString() + ex.Message, "GetTransactionHistoryAsync.cs",
                                                           "GetTransactionHistoryAsync()"), CancellationToken.None);

                throw;
            }
        }