Пример #1
0
        //internal static DataTable LoadMerchantFormats( int MerchantId )
        //{
        //  throw new NotImplementedException();
        //}

        internal static int SaveResponse(int requestId, ResponseInfo responseInfo)
        {
            DataTable dt   = null;
            int       nRet = 0;

            try
            {
                GenDS  ds  = new GenDS(SettingsProvider.SqlConnectionString);
                string sql = string.Format("exec [dbo].[aggregator_SaveResponse] {0}, '{1}','{2}','{3}',{4},'{5}'",
                                           requestId,
                                           responseInfo.MerchantCode,
                                           responseInfo.MerchantData.Replace("'", "''"),
                                           responseInfo.ResponseCode,
                                           responseInfo.PaymentSum.Replace(",", "."),
                                           responseInfo.ToString().Replace("'", "''")
                                           );

                dt = ds.Select(sql);
                if (G.ValidateDT(dt))
                {
                    nRet = G._I(dt.Rows[0][0]);
                }
            }
            catch (Exception ex)
            {
                dt   = null;
                nRet = 0;
                throw new InternalException(LogLevel.DATA_ERROR,
                                            string.Format("DP.SaveResponse(RequestId = {0}, Response = {1})", requestId, responseInfo),
                                            ex.Message);
                //LogProvider.Log(LogLevel.DATA_ERROR, LogTarget.TO_SQL, "DP.SaveResponse(requestId, response)", ex.Message);
            }

            return(nRet);
        }
Пример #2
0
        public static bool GetProvidersRequest()
        {
            try
            {
                var       ds     = new GenDS(SettingsProvider.SqlConnectionString);
                DataTable dt     = ds.Select("Select * from dbo.dc_Settings where Name = 'IsProvidersRequested'");
                bool      result = false;

                if (G.ValidateDT(dt) && dt.Rows.Count == 1)
                {
                    var row = dt.Rows[0];
                    result = (G._S(row["Value"]) == "1" || G._S(row["Value"]) == "true");
                }
                else
                {
                    LogProvider.Log(LogLevel.DATA_ERROR, LogTarget.TO_SQL, "ElecsnetService::QIWI::GetProvidersRequest",
                                    "Settings not found in DB or key name is not unique.");
                }

                return(result);
            }
            catch (Exception ex)
            {
                LogProvider.Log(LogLevel.APP_ERROR, LogTarget.TO_FILE,
                                "ElecsnetService::QIWI::GetProvidersRequest", ex.Message);

                return(false);
            }
        }
        public QiwiGetProvidersTask()
        {
            var       ds = new GenDS(OneBill.SettingsProvider.SqlConnectionString);
            DataTable dt = ds.Select("dbo.GetAppSettingByName '{0}'", AppSettingsFieldNames.QiwiTaskIntervalInSeconds);

            TaskName  = ServiceUpdateTaskName;
            TaskOwner = TaskOwnerName;
            Routine   = ImportRoutine;
            Schedule  = G.ValidateDT(dt)
                ? new SecondSchedule(G._I(dt.Rows[0]["FieldValue"]))
                : new SecondSchedule(defaultInterval);
        }
Пример #4
0
 public static void SetServicePingTimePoint()
 {
     try
     {
         var ds = new GenDS(SettingsProvider.SqlConnectionString);
         ds.exec(@"exec [dbo].[SetServicePingTimePoint]");
     }
     catch (Exception ex)
     {
         throw new InternalException(
                   LogLevel.DATA_ERROR
                   , @"DP.SetServicePingTimePoint"
                   , ex.Message
                   );
     }
 }
Пример #5
0
        internal static void FinalizeRequest(int requestId, string ErrorCode, string ErrorMessage)
        {
            try
            {
                GenDS  ds  = new GenDS(SettingsProvider.SqlConnectionString);
                string sql = string.Format("exec [dbo].[aggregator_FinalizeRequest] {0}, '{1}','{2}'",
                                           requestId, ErrorCode, ErrorMessage.Replace("'", "''")
                                           );

                ds.exec(sql);
            }
            catch (Exception ex)
            {
                LogProvider.Log(LogLevel.APP_ERROR, LogTarget.TO_SQL,
                                string.Format("DP.FinalizeRequest(RequestId = {0}, ErrorCode = {1}, ErrorMessage = {2})", requestId, ErrorCode, ErrorMessage),
                                ex.Message);
            }
        }
Пример #6
0
        internal static DataTable LoadRequestData(int requestId)
        {
            DataTable dt = null;

            try
            {
                GenDS  ds  = new GenDS(SettingsProvider.SqlConnectionString);
                string sql = string.Format("exec dbo.aggregator_LoadRequestData {0}", requestId);

                dt = ds.Select(sql);
            }
            catch (Exception ex)
            {
                dt = null;

                throw new InternalException(LogLevel.DATA_ERROR,
                                            string.Format("DP.LoadRequestData(RequestId = {0})", requestId),
                                            ex.Message);
            }
            return(dt);
        }
Пример #7
0
        public static DataTable LoadTransactionRequests(int count)
        {
            DataTable dt = null;

            try
            {
                GenDS  ds  = new GenDS(SettingsProvider.SqlConnectionString);
                string sql = string.Format("exec dbo.aggregator_GetTransactionRequests {0}, {1}", (int)RequestTypes.ALL, count);

                dt = ds.Select(sql);
            }
            catch (Exception ex)
            {
                dt = null;
                throw new InternalException(LogLevel.DATA_ERROR,
                                            string.Format("DP.LoadTransactionRequests(count = {0})", count),
                                            ex.Message);
                //LogProvider.Log( LogLevel.DATA_ERROR , LogTarget.TO_SQL , "DP.LoadTransactionRequests(count)" , ex.Message );
            }

            return(dt);
        }
Пример #8
0
        internal static DataTable LoadSubscriptionRequisites(int SubscriptionId)
        {
            DataTable dt = null;

            try
            {
                GenDS  ds  = new GenDS(SettingsProvider.SqlConnectionString);
                string sql = string.Format("exec [dbo].[aggregator_LoadSubscriptionRequisites] {0}", SubscriptionId);

                dt = ds.Select(sql);
            }
            catch (Exception ex)
            {
                dt = null;
                throw new InternalException(LogLevel.DATA_ERROR,
                                            string.Format("DP.LoadSubscriptionRequisites(SubscriptionId = {0})", SubscriptionId),
                                            ex.Message);
                //LogProvider.Log(LogLevel.DATA_ERROR, LogTarget.TO_SQL, "DP.LoadSubscriptionRequisites(subscriptionId)", ex.Message);
            }

            return(dt);
        }
Пример #9
0
        public static int PurgeTrace()
        {
            DataTable dt;

            try
            {
                GenDS ds = new GenDS(SettingsProvider.SqlConnectionString);
                dt = ds.Select("dbo.PurgeTrace");
            }
            catch (Exception ex)
            {
                throw new InternalException(LogLevel.DATA_ERROR, "DP.PurgeTrace", ex.Message);
            }

            int result = 0;

            if (dt.Rows.Count > 0)
            {
                result = (int)dt.Rows[0]["Count"];
            }

            return(result);
        }
        private async void ImportRoutine()
        {
            if (DP.GetProvidersRequest())
            {
                var       ds = new GenDS(OneBill.SettingsProvider.SqlConnectionString);
                DataTable dt = ds.Select("exec dbo.GetAppSettingByName '{0}'", AppSettingsFieldNames.QiwiApiUrl);

                if (!G.ValidateDT(dt))
                {
                    throw new InternalException(LogLevel.DATA_ERROR, TaskOwnerName,
                                                "Settings key QiwiApiUrl was not found in DB.");
                }

                HttpClient client     = new HttpClient();
                var        stringTask = client.GetStringAsync(G._S(dt.Rows[0]["FieldValue"]));
                var        msg        = await stringTask;

                var options = new JsonSerializerOptions
                {
                    PropertyNameCaseInsensitive = true
                };

                Provider        providerResponse = JsonSerializer.Deserialize <Provider>(msg, options);
                List <Provider> qiwiProviders    = providerResponse.ToList();

                DataTable providersFromDB = ds.Select("exec dbo._sp_Providers_GetAll");

                foreach (Provider qp in qiwiProviders)
                {
                    var result = ds.Select("exec dbo._sp_Providers_GetByCode '{0}'", qp.ProviderCode);
                    if (result.Rows.Count == 0)
                    {
                        ds.Select("exec dbo._sp_Providers_Insert '{0}', '{1}', {2}, {3}, '{4}', {5}, {6}",
                                  qp.ProviderCode, qp.Name, qp.Payable, qp.Form, qp.Parents[0], "NULL", (int)ProviderStatus.New);
                    }
                    else if (result.Rows.Count == 1)
                    {
                        DataRow row = result.Rows[0];

                        if (qp.Name != G._S(row["Name"]) ||
                            (qp.Form != bool.Parse(G._S(row["Form"]))) ||
                            qp.Payable != bool.Parse(G._S(row["Payable"])) ||
                            qp.Parents[0] != G._S(row["Parents"]))
                        {
                            ds.Select("exec dbo._sp_Providers_Insert '{0}', '{1}', {2}, {3}, '{4}', {5}, {6}",
                                      qp.ProviderCode, qp.Name, qp.Payable, qp.Form, qp.Parents[0], "NULL", (int)ProviderStatus.ToRewiew);
                        }
                    }
                    else
                    {
                        //ToDo if count > 1
                    }
                }

                var t = TTask.Run(() =>
                {
                    string time = DateTime.Now.Ticks.ToString();
                    string path = $@"d:\temp\json.{time}.txt";
                    using (FileStream fs = File.Create(path))
                    {
                        byte[] info = new UTF8Encoding(true).GetBytes(msg);
                        fs.Write(info, 0, info.Length);
                    };
                });

                ds.exec("exec SetIsProvidersRequested 0");
            }
        }