Exemplo n.º 1
0
        public void RegisterPayment(JObject data)
        {
            Exception innerEx = null;

            try
            {
                RegisterNotification(data);

                DataSet dsData1 = get_price_data();
                service_id    = DataUtil.AsInteger(dsData1.Tables[0].Rows[0], "service_id", false);
                subservice_id = DataUtil.AsInteger(dsData1.Tables[0].Rows[0], "subservice_id", false);

                DataSet dsDispatch = get_dispatch_data();

                created_on            = DataUtil.AsDateTime(dsDispatch.Tables[0].Rows[0], "created_on");
                short_number          = DataUtil.AsString(dsDispatch.Tables[0].Rows[0], "short_number");
                msg_content_id        = DataUtil.AsInteger(dsDispatch.Tables[0].Rows[0], "msg_content_id", false);
                msg_text              = DataUtil.AsString(dsDispatch.Tables[0].Rows[0], "msg_text");
                package_id            = DataUtil.AsInteger(dsDispatch.Tables[0].Rows[0], "package_id", false);
                suscription_id        = DataUtil.AsInteger64(dsDispatch.Tables[0].Rows[0], "suscription_id", false);
                operator_service_id   = DataUtil.AsInteger(dsDispatch.Tables[0].Rows[0], "operator_service_id", false);
                service_identifier_id = DataUtil.AsInteger(dsDispatch.Tables[0].Rows[0], "service_identifier_id", false);

                Int16 status = -1;
                Registerdebit(data);
                PriorityTime();
                RegisterMobiera_Dispatch(data, short_number);
                RegisterMobiera_Out(status, plannedOn);
            }
            catch (Exception ex)
            {
                innerEx = ex;

                if (errorCode == ERROR_CODE.OK)
                {
                    //ErrorAssignation(ERROR_CODE.GENR_Unidentified, ex.Message, ex.StackTrace, data.ToString());
                    ErrorAssignation(ERROR_CODE.Mobiera_NoSubscription, " No se ha registrado suscripción para el payment  ", ex.StackTrace, data.ToString());
                }
            }
            finally
            {
                if (errorCode != ERROR_CODE.OK)
                {
                    Insert_Error_log();
                }
            }
        }
Exemplo n.º 2
0
        public long RegisterSubscriptionNotification(JObject data)
        {
            PROC_NOTIFY     = "spu_insert_mobiera_subscription_notification";
            fullDateFormat  = "yyyy-MM-dd HH:mm:ss";
            shortDateFormat = "yyyy-MM-dd HH:mm";

            JObject subscription = JsonUtil.AsJObject(data, "subscription");

            operator_service_id   = JsonUtil.AsString(subscription, "serviceId", "");
            service_identifier_id = JsonUtil.AsString(subscription, "serviceIdentifierId", "");
            msisdn = JsonUtil.AsString(subscription, "endUserId", "");
            msisdn = msisdn.Substring(8, msisdn.Length - 8);

            endUserId        = JsonUtil.AsString(subscription, "endUserId", "");
            identifier_id    = JsonUtil.AsString(subscription, "identifierId", "");
            identifier_label = JsonUtil.AsString(subscription, "identifierLabel", "");
            identifier_class = JsonUtil.AsString(subscription, "identifierClass", "");

            landing_id     = JsonUtil.AsString(subscription, "landingId", "");
            reference_code = JsonUtil.AsString(subscription, "referenceCode", "");
            tracking_param = JsonUtil.AsString(subscription, "trackingParam", "");
            periodicity    = JsonUtil.AsString(subscription, "subscriptionPeriodicity", "");

            string str_start_on = JsonUtil.AsString(subscription, "subscriptionStartDateTime");

            str_start_on = str_start_on.Substring(0, 19);
            str_start_on = str_start_on.Replace("T", " ");
            start_on     = DataUtil.AsDateTime(str_start_on, fullDateFormat,
                                               DataUtil.AsDateTime(str_start_on, shortDateFormat, DateTime.MinValue, false), false);

            string str_expire_on = JsonUtil.AsString(subscription, "subscriptionValidUntilDateTime");

            str_expire_on = str_expire_on.Substring(0, 19);
            str_expire_on = str_expire_on.Replace("T", " ");
            expire_on     = DataUtil.AsDateTime(str_expire_on, fullDateFormat,
                                                DataUtil.AsDateTime(str_expire_on, shortDateFormat, DateTime.MinValue, false), false);

            operator_subscription_id = JsonUtil.AsString(subscription, "subscriptionId", "");
            resource_url             = JsonUtil.AsString(subscription, "resourceURL", "");

            string str_created_on = JsonUtil.AsString(subscription, "subscriptionStartDateTime");

            str_created_on = str_created_on.Substring(0, 19);
            str_created_on = str_created_on.Replace("T", " ");
            created_on     = DataUtil.AsDateTime(str_created_on, fullDateFormat,
                                                 DataUtil.AsDateTime(str_created_on, shortDateFormat, DateTime.MinValue, false), false);

            subscription_operation_status = JsonUtil.AsString(subscription, "subscriptionOperationStatus", "");

            campaign_id = JsonUtil.AsString(subscription, "campaignId", "");


            try
            {
                SqlParameter[] parameters = new SqlParameter[19];

                parameters[0]        = new SqlParameter("@mobiera_subscription_notification_id", DbType.Int64);
                parameters[0].Value  = mobiera_subscription_notification_id;
                parameters[1]        = new SqlParameter("@operator_service_id", DbType.String);
                parameters[1].Value  = operator_service_id;
                parameters[2]        = new SqlParameter("@service_identifier_id", DbType.String);
                parameters[2].Value  = service_identifier_id;
                parameters[3]        = new SqlParameter("@msisdn", DbType.String);
                parameters[3].Value  = msisdn;
                parameters[4]        = new SqlParameter("@endUserId", DbType.String);
                parameters[4].Value  = endUserId;
                parameters[5]        = new SqlParameter("@identifier_id", DbType.String);
                parameters[5].Value  = identifier_id;
                parameters[6]        = new SqlParameter("@identifier_label", DbType.String);
                parameters[6].Value  = identifier_label;
                parameters[7]        = new SqlParameter("@identifier_class", DbType.String);
                parameters[7].Value  = identifier_class;
                parameters[8]        = new SqlParameter("@landing_id", DbType.String);
                parameters[8].Value  = landing_id;
                parameters[9]        = new SqlParameter("@reference_code", DbType.String);
                parameters[9].Value  = reference_code;
                parameters[10]       = new SqlParameter("@tracking_param", DbType.String);
                parameters[10].Value = tracking_param;
                parameters[11]       = new SqlParameter("@periodicity", DbType.String);
                parameters[11].Value = periodicity;
                parameters[12]       = new SqlParameter("@start_on", DbType.DateTime);
                parameters[12].Value = start_on;
                parameters[13]       = new SqlParameter("@expire_on", DbType.DateTime);
                parameters[13].Value = expire_on;
                parameters[14]       = new SqlParameter("@operator_subscription_id", DbType.Int64);
                parameters[14].Value = operator_subscription_id;
                parameters[15]       = new SqlParameter("@resource_url", DbType.String);
                parameters[15].Value = resource_url;
                parameters[16]       = new SqlParameter("@created_by", DbType.Int32);
                parameters[16].Value = 1;
                parameters[17]       = new SqlParameter("@created_on", DbType.DateTime);
                parameters[17].Value = created_on;
                parameters[18]       = new SqlParameter("@campaign_id", DbType.String);
                parameters[18].Value = campaign_id;

                ExecuteNonQuery(InstanceName, CommandType.StoredProcedure, PROC_NOTIFY, parameters);
            }
            catch (Exception ex)
            {
                ErrorAssignation(ERROR_CODE.GENR_ServerConnectionError, ex.Message, ex.StackTrace, data.ToString());

                throw ex;
            }
            return(mobiera_subscription_notification_id);
        }