private void LoadSettings()
        {
            var cmd = _db.GetCommand("usp1_AppSetting_get_all");

            (cmd as SqlCommand).Parameters.AddWithValue("@AppId", _appid);

            var dbr = _db.ExecuteReader(cmd, (reader) =>
            {
                var x = new AppSettingModel
                {
                    AppSettingCategoryID = SafeClrConvert.ToInt32(reader["AppSettingCategoryID"]),
                    AppSettingID         = SafeClrConvert.ToInt32(reader["AppSettingID"]),
                    Title          = SafeClrConvert.ToString(reader["Title"]),
                    Description    = SafeClrConvert.ToString(reader["Description"]),
                    Key            = SafeClrConvert.ToString(reader["Key"]),
                    Value          = SafeClrConvert.ToString(reader["Value"]),
                    Encrypted      = SafeClrConvert.ToBoolean(reader["Encrypted"]),
                    DecryptedValue = SafeClrConvert.ToString(reader["DecryptedValue"])
                };

                x.Category = _categories[x.AppSettingCategoryID];

                _settings.TryAdd(x.Key, x);

                return(x);
            });
        }
        public override Task <PaymentProviderBeginPaymentResponse> BeginPaymentAsync(BeginPaymentRequest request, System.Threading.CancellationToken cancellation)
        {
            var tcs = new TaskCompletionSource <PaymentProviderBeginPaymentResponse>();

            try
            {
                var pec = new ir.shaparak.pec.EShopService();

                pec.PinPaymentRequestCompleted += new PinPaymentRequestCompletedEventHandler((sender, args) =>
                {
                    if (args.Error != null)
                    {
                        tcs.TrySetException(args.Error);
                    }
                    else
                    if (!args.Cancelled)
                    {
                        try
                        {
                            var result = new PaymentProviderBeginPaymentResponse <AyandehBankTranStatus>(Now);

                            result.ProviderType = this.ProviderType;
                            result.Code         = args.authority;
                            result.SendData.Add(BankCodeArgName, args.authority.ToString());
                            result.Status     = args.status;
                            result.Succeeded  = (args.status == 0 && args.authority != -1);
                            result.GatewayUrl = Config.GatewayUrl + $"?{BankCodeArgName}={args.authority}";
                            result.SendMethod = Config.GatewayMethod;

                            tcs.SetResult(result);
                        }
                        catch (Exception ex)
                        {
                            tcs.TrySetException(ex);
                        }
                    }
                    else
                    {
                        tcs.SetCanceled();
                    }

                    pec.Dispose();
                });

                var  orderid   = SafeClrConvert.ToInt32(request.PaymentCode);
                var  pay       = SafeClrConvert.ToInt32(request.Amount);
                byte pecStatus = 0;
                long auth      = 0;

                cancellation.Register(() => pec.CancelAsync(request.PaymentCode));

                pec.PinPaymentRequestAsync(Config.Credentials.Pin, pay, orderid, (string.IsNullOrEmpty(request.ReturnUrl) ? Config.CallbackUrl : request.ReturnUrl), auth, pecStatus, request.PaymentCode);
            }
            catch (Exception e)
            {
                tcs.SetException(e);
            }

            return(tcs.Task);
        }
        public ICircuitBreaker CreateBreaker(object arg)
        {
            ICircuitBreaker result;

            var maxFailures = SafeClrConvert.ToInt32(ConfigurationManager.AppSettings["CircuitBreakerMaxFailures"]);

            if (maxFailures <= 0)
            {
                maxFailures = 5;
            }
            var invocationTimeout = SafeClrConvert.ToInt32(ConfigurationManager.AppSettings["CircuitBreakerInvocationTimeout"]);

            if (invocationTimeout <= 0)
            {
                invocationTimeout = 500;
            }
            var circuitResetTimeout = SafeClrConvert.ToInt32(ConfigurationManager.AppSettings["CircuitBreakerResetTimeout"]);

            if (circuitResetTimeout <= 0)
            {
                circuitResetTimeout = 5000;
            }

            result = new CB(
                TaskScheduler.Current,
                maxFailures: maxFailures,
                invocationTimeout: TimeSpan.FromMilliseconds(invocationTimeout),
                circuitResetTimeout: TimeSpan.FromMilliseconds(circuitResetTimeout));

            return(result);
        }
Beispiel #4
0
        private async Task <PaymentManagerReversalPaymentResponse> SaveReversalPaymentAsync(ReversalRequest request, PaymentProviderReversalPaymentResponse providerResponse, CancellationToken cancellation)
        {
            var result = new PaymentManagerReversalPaymentResponse();

            result.Request = request;

            var dbOk = false;

            Logger.LogCategory("SaveReversalPaymentAsync");

            if (providerResponse.Succeeded || !Config.SaveOnlySuccessfulOperations)
            {
                Logger.Log("Start saving in the database");

                var args = new
                {
                    Result        = CommandParameter.Output(SqlDbType.VarChar, 50),
                    PaymentCode   = request.PaymentCode,
                    BankType      = providerResponse.ProviderType,
                    StepStatus    = SafeClrConvert.ToString(providerResponse.Status),
                    StepDate      = providerResponse.Date,
                    StepSucceeded = providerResponse.Succeeded,
                    @StepData     = ""
                };
                var cmd = _db.GetCommand("usp1_Payment_save_reversal_step");

                result.DbResult = await _db.ExecuteNonQueryAsync(cmd, args, cancellation);

                if (result.DbResult.Success)
                {
                    result.Status = args.Result.Value.ToString();

                    Logger.Log("DbStatus = " + result.Status);

                    dbOk = result.Status == "Success";

                    if (!dbOk)
                    {
                        result.Status = "SaveError";
                    }
                }
                else
                {
                    Logger.Log("Failed: " + result.DbResult.Exception.ToString(","));

                    result.Failed(result.DbResult.Exception);
                }
            }
            else
            {
                dbOk = true;
            }

            if (providerResponse.Succeeded && dbOk)
            {
                result.Succeeded();
            }

            return(result);
        }
        private static int GC_THRESHOLD      = 30;         // if 30% of ip addresses are candidate to be removed
        // (i.e. their sessions have been timed out), try garbage collection
        // on the ip addresses list ("entries" variable).
        #endregion
        static DosAttackModule()
        {
            REQUEST_THRESHOLD = SafeClrConvert.ToInt32(WebConfigurationManager.AppSettings["DOS_REQUEST_THRESHOLD"]);
            if (REQUEST_THRESHOLD <= 0)
            {
                REQUEST_THRESHOLD = 15;
            }

            RELEASE_INTERVAL = SafeClrConvert.ToInt32(WebConfigurationManager.AppSettings["DOS_RELEASE_INTERVAL"]);
            if (RELEASE_INTERVAL <= 0)
            {
                RELEASE_INTERVAL = 10 * 60;
            }

            GC_CHECK_INTERVAL = SafeClrConvert.ToInt32(WebConfigurationManager.AppSettings["DOS_GC_CHECK_INTERVAL"]);
            if (GC_CHECK_INTERVAL <= 0)
            {
                GC_CHECK_INTERVAL = 30 * 60;
            }

            SESSION_TIMEOUT = SafeClrConvert.ToInt32(WebConfigurationManager.AppSettings["DOS_SESSION_TIMEOUT"]);
            if (SESSION_TIMEOUT <= 0)
            {
                SESSION_TIMEOUT = 8 * 60;
            }

            GC_THRESHOLD = SafeClrConvert.ToInt32(WebConfigurationManager.AppSettings["DOS_GC_THRESHOLD"]);
            if (GC_THRESHOLD <= 0)
            {
                GC_THRESHOLD = 30;
            }

            moduleEnabled = SafeClrConvert.ToBoolean(WebConfigurationManager.AppSettings["DOS_DEFENDER_ENABLED"] ?? "true");
            excludeIPs    = SafeClrConvert.ToString(WebConfigurationManager.AppSettings["DOS_DEFENDER_EXCLUDE_IPS"]).Split(',');
        }
Beispiel #6
0
        protected override PaymentProviderEndPaymentResponse endPayment(IDictionary <string, string> request, string code, string status)
        {
            var result  = new PaymentProviderEndPaymentResponse <ZarinPalBankTranStatus>(Now);
            var _status = SafeClrConvert.ToInt32(status);

            result.ProviderType = this.ProviderType;
            result.StrongStatus = _status.ToEnum <ZarinPalBankTranStatus>();

            string authority = code;

            if (!EndPaymentSucceeded(status))
            {
                result.Status = status;
            }
            else
            {
                var  service = new com.zarinpal.www.PaymentGatewayImplementationService();
                long refId   = 0;
                var  amount  = SafeClrConvert.ToInt32(request["Amount"]);
                _status = service.PaymentVerification(Config.Credentials.MerchantId, authority, amount, out refId);

                result.Query        = authority;
                result.Code         = refId;
                result.StrongStatus = _status.ToEnum <ZarinPalBankTranStatus>();
                result.Status       = _status.ToString();
                result.Succeeded    = _status == 100;
            }

            return(result);
        }
        public ActionResult Add()
        {
            try
            {
                var wcm  = GetCache();
                var key  = SafeClrConvert.ToString(Request.Form["txtKey"]);
                var f    = JsonConvert.DeserializeObject <Foo>(SafeClrConvert.ToString(Request.Form["txtData"]));
                var life = SafeClrConvert.ToInt32(Request.Form["txtLifeLength"]);

                if (life < 0)
                {
                    life = 0;
                }

                if (f != null && !string.IsNullOrEmpty(key))
                {
                    wcm.Add(key, f, life);

                    TempData["Message"] = "Item added";
                }
                else
                {
                    TempData["Message"] = "Item is not Foo or has no key";
                }
            }
            catch (Exception e)
            {
                TempData["Message"] = e.Message;
            }

            return(Redirect("/cache"));
        }
        public static object ToEnum(Type type, object value, object defaultValue, bool ignoreCase = true)
        {
            object result = null;

            if (value != null)
            {
                if (value is string)
                {
                    try
                    {
                        result = Enum.Parse(type, (string)value, ignoreCase);

                        return(result);
                    }
                    catch
                    {
                        result = defaultValue;
                    }
                }

                result = SafeClrConvert.ToInt(value).ToEnum(type, defaultValue);
            }

            return(result);
        }
Beispiel #9
0
        public bool IsPrivate()
        {
            // http://en.wikipedia.org/wiki/Private_network
            // Private IP Addresses are:
            //  24-bit block: 10.0.0.0 through 10.255.255.255
            //  20-bit block: 172.16.0.0 through 172.31.255.255
            //  16-bit block: 192.168.0.0 through 192.168.255.255
            //  Link-local addresses: 169.254.0.0 through 169.254.255.255 (http://en.wikipedia.org/wiki/Link-local_address)

            var is24BitBlock = A == "10";

            if (is24BitBlock)
            {
                return(true);              // Return to prevent further processing
            }
            var b            = SafeClrConvert.ToByte(B);
            var is20BitBlock = A == "172" && B != "*" && b >= 16 && b <= 31;

            if (is20BitBlock)
            {
                return(true);              // Return to prevent further processing
            }
            var is16BitBlock = A == "192" && B == "168";

            if (is16BitBlock)
            {
                return(true);              // Return to prevent further processing
            }
            var isLinkLocalAddress = A == "169" && B == "254";

            return(isLinkLocalAddress);
        }
Beispiel #10
0
        public IEnumerable <BasicData> GetAll()
        {
            var result = new BasicData[] {};

            var dt = Cache.Get <DataTable>(CACHE_KEY);

            if (dt == null)
            {
                Load();
            }

            dt = Cache.Get <DataTable>(CACHE_KEY);

            if (dt != null && dt.Rows.Count > 0)
            {
                result = new BasicData[dt.Rows.Count];
                var i = 0;
                foreach (DataRow row in dt.Rows)
                {
                    result[i++] = new BasicData
                    {
                        Category    = SafeClrConvert.ToString(row["Category"]),
                        Id          = SafeClrConvert.ToInt32(row["Id"]),
                        Name        = SafeClrConvert.ToString(row["Name"]),
                        Title       = SafeClrConvert.ToString(row["Title"]),
                        Description = SafeClrConvert.ToString(row["Description"]),
                        Code        = SafeClrConvert.ToString(row["Code"]),
                        Parent      = SafeClrConvert.ToInt32(row["Parent"])
                    };
                }
            }

            return(result);
        }
Beispiel #11
0
        public override bool TryGetIndex(GetIndexBinder binder, object[] indexes, out object result)
        {
            if (indexes.Length > 0)
            {
                var key = SafeClrConvert.ToString(indexes[0]);

                if (_keys != null)
                {
                    result = _keys[key];
                }
                else
                {
                    result = "";
                }
            }
            else
            {
                result = "";
            }

            if (result == null)
            {
                result = "";
            }

            return(true);
        }
 protected override void OnBasicPropertyDetected(string propertyName, string propertyValue, JsonValueType propertyType)
 {
     if (string.Compare(propertyName, "count", StringComparison.OrdinalIgnoreCase) == 0)
     {
         Count = SafeClrConvert.ToInt32(propertyValue);
     }
 }
        public override Task <ShetabPaymentStep1> BeginPaymentAsync(string paymentcode, decimal amount, string returnUrl, System.Threading.CancellationToken cancellation)
        {
            var tcs = new TaskCompletionSource <ShetabPaymentStep1>();

            try
            {
                var pec = new ir.shaparak.pec.EShopService();

                pec.PinPaymentRequestCompleted += new PinPaymentRequestCompletedEventHandler((sender, args) =>
                {
                    if (args.Error != null)
                    {
                        tcs.TrySetException(args.Error);
                    }
                    else
                    if (!args.Cancelled)
                    {
                        try
                        {
                            var result      = new ShetabPaymentStep1 <ParsianBankTranStatus>();
                            result.BankType = this.BankType;
                            result.Code     = args.authority;
                            result.SendData.Add("au", args.authority.ToString());
                            result.Status     = args.status;
                            result.Succeeded  = (args.status == 0 && args.authority != -1);
                            result.GatewayUrl = Config.GatewayUrl + "?au=" + args.authority.ToString();
                            result.SendMethod = Config.GatewayMethod;

                            tcs.SetResult(result);
                        }
                        catch (Exception ex)
                        {
                            tcs.TrySetException(ex);
                        }
                    }
                    else
                    {
                        tcs.SetCanceled();
                    }

                    pec.Dispose();
                });

                var  orderid   = SafeClrConvert.ToInt32(paymentcode);
                var  pay       = SafeClrConvert.ToInt32(amount);
                byte pecStatus = 0;
                long auth      = 0;

                cancellation.Register(() => pec.CancelAsync(paymentcode));

                pec.PinPaymentRequestAsync(Config.Credentials.Pin, pay, orderid, returnUrl, auth, pecStatus, paymentcode);
            }
            catch (Exception e)
            {
                tcs.SetException(e);
            }

            return(tcs.Task);
        }
        private string compressResult(string result)
        {
            var buffer_length = SafeClrConvert.ToInt(CallContext?.EngineService?.Settings["Stream_Buffer_Length"]);

            return(compressor.Base64Compress(result, new ZlibCompressionOptions {
                CompressBufferSize = buffer_length
            }));
        }
Beispiel #15
0
        public override Task <PaymentProviderBeginPaymentResponse> BeginPaymentAsync(BeginPaymentRequest request, System.Threading.CancellationToken cancellation)
        {
            var tcs = new TaskCompletionSource <PaymentProviderBeginPaymentResponse>();

            try
            {
                var service = new com.zarinpal.www.PaymentGatewayImplementationService();

                service.PaymentRequestCompleted += new PaymentRequestCompletedEventHandler((object sender, PaymentRequestCompletedEventArgs args) =>
                {
                    if (args.Error != null)
                    {
                        tcs.TrySetException(args.Error);
                    }
                    else
                    if (!args.Cancelled)
                    {
                        try
                        {
                            var result          = new PaymentProviderBeginPaymentResponse <ZarinPalBankTranStatus>(Now);
                            result.ProviderType = this.ProviderType;
                            result.Code         = SafeClrConvert.ToLong(args.Authority);
                            result.Status       = args.Result;
                            result.Succeeded    = (args.Result == 100);
                            result.GatewayUrl   = Config.GatewayUrl + $"/{result.Code}";
                            result.SendMethod   = Config.GatewayMethod;
                            result.StrongStatus = args.Result.ToEnum <ZarinPalBankTranStatus>();

                            tcs.SetResult(result);
                        }
                        catch (Exception ex)
                        {
                            tcs.TrySetException(ex);
                        }
                    }
                    else
                    {
                        tcs.SetCanceled();
                    }

                    service.Dispose();
                });

                var amount = SafeClrConvert.ToInt32(request.Amount);

                cancellation.Register(() => service.CancelAsync(request.PaymentCode));

                service.PaymentRequestAsync(Config.Credentials.MerchantId, amount, request.Info, "", "", (string.IsNullOrEmpty(request.ReturnUrl) ? Config.CallbackUrl : request.ReturnUrl));
            }
            catch (Exception e)
            {
                tcs.SetException(e);
            }

            return(tcs.Task);
        }
Beispiel #16
0
        public virtual LoggerPurgeResponse Purge(LoggerPurgeRequest request)
        {
            var response = new LoggerPurgeResponse();

            if (ConnectionStringProvider != null)
            {
                try
                {
                    var query = GetPurgeSql();

                    var constr = ConnectionStringProvider.GetConnectionString();

                    if (!string.IsNullOrEmpty(constr))
                    {
                        using (var con = new SqlConnection(constr))
                        {
                            using (var cmd = new SqlCommand(query, con))
                            {
                                cmd.CommandType = CommandType.StoredProcedure;

                                cmd.Parameters.AddOutput("@Result", SqlDbType.NVarChar, 100);
                                cmd.Parameters.AddOutput("@Info", SqlDbType.NVarChar);
                                cmd.Parameters.AddInput("@FromDate", request.FromDate);
                                cmd.Parameters.AddInput("@ToDate", request.ToDate);

                                FinalizePurgeCommand(cmd);

                                con.Open();
                                cmd.ExecuteNonQuery();

                                response.SetStatus(cmd.Parameters[0].Value);
                                response.Info = SafeClrConvert.ToString(cmd.Parameters[1].Value);
                            }
                        }
                    }
                    else
                    {
                        response.Message = "ConnectionStringProvider has no connection string";
                        response.Info    = $"Provider = {ConnectionStringProvider.GetType().Name}";
                        response.SetStatus("NoConStr");
                    }
                }
                catch (Exception e)
                {
                    response.Failed(e);
                }
            }
            else
            {
                response.Message = "No ConnectionStringProvider is specified";
                response.SetStatus("NoConStrProvider");
            }

            return(response);
        }
        private bool IsCompressedResponseRequested()
        {
            if (CallContext != null && CallContext.HttpContext != null && CallContext.HttpContext.Request != null)
            {
                var Request = CallContext.HttpContext.Request;

                return(CallContext.Api?.CompressedResponse || SafeClrConvert.ToBoolean(Request.Headers["x-request-compressed-response"]));
            }

            return(false);
        }
        public static IEnumerable <SelectListItem> GetSelectList(this HtmlHelper helper, object value)
        {
            IEnumerable <SelectListItem> result = null;

            var enumType = helper.ViewData["EnumType"] as Type ?? helper.ViewData.ModelMetadata.ModelType;

            if (enumType != null && enumType.IsEnum)
            {
                var itemTexts = helper.ViewData["ItemTexts"] as IEnumerable <string>;
                if (itemTexts == null)
                {
                    itemTexts = helper.ViewContext.HttpContext.Cache["EditorTemplate." + enumType.Name + ".ItemTexts"] as IEnumerable <string>;
                    if (itemTexts == null)
                    {
                        itemTexts = new List <string>();
                        var arr = Enum.GetValues(enumType);

                        foreach (var item in arr)
                        {
                            var name    = null as string;
                            var display = enumType
                                          .GetMember(item.ToString()).First()
                                          .GetCustomAttributes(false)
                                          .OfType <DisplayAttribute>()
                                          .LastOrDefault();

                            if (display != null)
                            {
                                name = display.GetName();
                            }
                            else
                            {
                                name = item.ToString();
                            }

                            (itemTexts as List <string>).Add(name);
                        }

                        helper.ViewContext.HttpContext.Cache["EditorTemplate." + enumType.Name + ".ItemTexts"] = itemTexts;
                    }
                }

                result = WebHelper.CreateSelectList(enumType, SafeClrConvert.ToInt32(value), itemTexts);
            }

            if (result == null)
            {
                result = helper.ViewData["Items"] as IEnumerable <SelectListItem> ?? new List <SelectListItem>();
            }

            return(result);
        }
        private double Harness(ICacheManager cm, int TaskCount, int MaxItems, int GetCount)
        {
            var srg = new SimpleRandomGenerator();

            for (var i = 0; i < MaxItems; i++)
            {
                var f = new Foo();

                f.Name   = srg.Generate(new RandomGeneratorSetting(RandomCodeType.Alpha, 300));
                f.Size   = SafeClrConvert.ToInt32(new RandomGeneratorSetting(RandomCodeType.Num, 3));
                f.Price  = SafeClrConvert.ToInt32(new RandomGeneratorSetting(RandomCodeType.Num, 5));
                f.Exists = SafeClrConvert.ToInt32(new RandomGeneratorSetting(RandomCodeType.Num, 2)) % 2 == 0;

                cm.Add("item" + i, f);
            }

            var tasks = new Task[TaskCount];
            var rnd   = new Random();

            for (var i = 0; i < TaskCount; i++)
            {
                tasks[i] = new Task((c) =>
                {
                    var _c = c as ICacheManager;

                    if (_c != null)
                    {
                        for (var j = 0; j < GetCount; j++)
                        {
                            var x = _c.Get("item" + rnd.Next(0, MaxItems));

                            consume(x);

                            Thread.Yield();
                        }
                    }
                }, cm);
            }
            var sw = new Stopwatch();

            sw.Start();
            for (var i = 0; i < TaskCount; i++)
            {
                tasks[i].Start();
            }

            Task.WaitAll(tasks);
            sw.Stop();

            return(sw.ElapsedMilliseconds);
        }
Beispiel #20
0
        public override void Test()
        {
            var connstr = ConfigurationManager.ConnectionStrings["ConStr"].ConnectionString;
            var conn    = new SqlConnection(connstr);

            try
            {
                conn.Open();
                using (SqlCommand command = new SqlCommand("select * from dbo.FilmTbl where filmcode=42690", conn))
                    using (SqlDataReader reader = command.ExecuteReader())
                    {
                        while (reader.Read())
                        {
                            var f = new Film();

                            f.FilmCode            = SafeClrConvert.ToInt32(reader["FilmCode"]);
                            f.FilmDesc            = SafeClrConvert.ToString(reader["FilmDesc"]);
                            f.Iranian             = SafeClrConvert.ToBoolean(reader["Iranian"]);
                            f.Director            = SafeClrConvert.ToString(reader["Director"]);
                            f.Summary             = SafeClrConvert.ToString(reader["Summary"]);
                            f.ReleaseDate         = SafeClrConvert.ToString(reader["ReleaseDate"]);
                            f.RunningTime         = SafeClrConvert.ToString(reader["RunningTime"]);
                            f.Genre               = SafeClrConvert.ToString(reader["Genre"]);
                            f.Trailer             = SafeClrConvert.ToString(reader["Trailer"]);
                            f.Year                = SafeClrConvert.ToString(reader["Year"]);
                            f.Producer            = SafeClrConvert.ToString(reader["Producer"]);
                            f.Casting             = SafeClrConvert.ToString(reader["Casting"]);
                            f.Credits             = SafeClrConvert.ToString(reader["Credits"]);
                            f.Filmimage           = SafeClrConvert.ToString(reader["Filmimage"]);
                            f.Film_id             = SafeClrConvert.ToInt32(reader["Film_id"]);
                            f.Category_Id         = SafeClrConvert.ToInt32(reader["Category_Id"]);
                            f.date                = SafeClrConvert.ToDateTime(reader["date"]);
                            f.FilmHorizontalImage = SafeClrConvert.ToString(reader["FilmHorizontalImage"]);
                            f.distribution        = SafeClrConvert.ToString(reader["distribution"]);
                            f.ShowSale            = SafeClrConvert.ToBoolean(reader["ShowSale"]);
                            f.Film_Field1         = SafeClrConvert.ToString(reader["Film_Field1"]);
                            f.Film_Field2         = SafeClrConvert.ToString(reader["Film_Field2"]);
                            f.Film_Order          = SafeClrConvert.ToInt32(reader["Film_Order"]);
                            f.Rating              = SafeClrConvert.ToInt32(reader["Rating"]);
                            f.Rating_Users        = SafeClrConvert.ToInt32(reader["Rating_Users"]);
                            f.Film_Field3         = SafeClrConvert.ToString(reader["Film_Field3"]);

                            System.Console.WriteLine(JsonConvert.SerializeObject(f));
                        }
                    }
            }
            catch (Exception e)
            {
                System.Console.WriteLine(e);
            }
        }
Beispiel #21
0
        protected BasicData read(string category, DataRow row)
        {
            var result = new BasicData
            {
                Id          = SafeClrConvert.ToInt32(row["ID"]),
                Category    = category,
                Name        = SafeClrConvert.ToString(row["Name"]),
                Title       = SafeClrConvert.ToString(row["Title"]),
                Code        = SafeClrConvert.ToString(row["Code"]),
                Description = SafeClrConvert.ToString(row["Description"])
            };

            return(result);
        }
        protected internal virtual string GetResourceBasePath(string key, string defaultValue)
        {
            var basePath = SafeClrConvert.ToString(Settings[$"{key}"]);

            if (string.IsNullOrEmpty(basePath))
            {
                basePath = defaultValue;
            }

            Logger?.Log($"GetResourceBasePath: Args({nameof(key)}: \"{key}\", {nameof(defaultValue)}: \"{defaultValue}\")");
            Logger?.Log($"   result: \"{basePath}\"");

            return(basePath);
        }
        public override void Test()
        {
            var _args = new { a = "alireza", b = CommandParameter.Output(SqlDbType.NVarChar, -1) };
            var dbr   = DA.DefaultDb.ExecuteNonQuery("ust_test2", _args);

            if (dbr.Success)
            {
                var s = SafeClrConvert.ToString(_args.b.Value);
                System.Console.WriteLine("b: " + s);
            }
            else
            {
                System.Console.WriteLine(dbr.Exception.Message);
            }
        }
        public ActionResult Get()
        {
            var wcm = GetCache();
            var key = SafeClrConvert.ToString(Request.Form["txtKey"]);
            var x   = wcm.Get(key);

            TempData["Item"] = x;

            if (x == null)
            {
                TempData["Message"] = "Item not found";
            }

            return(Redirect("/cache"));
        }
Beispiel #25
0
        public override void Test()
        {
            var guid  = Guid.NewGuid();
            var _args = new { p1 = CommandParameter.Guid(guid), p2 = CommandParameter.Output(SqlDbType.UniqueIdentifier) };
            var dbr   = DA.DefaultDb.ExecuteNonQuery("ust_test1", _args);

            if (dbr.Success)
            {
                var s = SafeClrConvert.ToString(_args.p2.Value);
                System.Console.WriteLine("p2: " + s);
            }
            else
            {
                System.Console.WriteLine(dbr.Exception.Message);
            }
        }
Beispiel #26
0
        protected virtual LogItem Transform(IDataReader reader)
        {
            var result = new LogItem
            {
                Row      = SafeClrConvert.ToLong(reader["Row"]),
                Id       = SafeClrConvert.ToInt(reader["Id"]),
                Member   = SafeClrConvert.ToString(reader["Member"]),
                Category = SafeClrConvert.ToString(reader["Category"]),
                Message  = SafeClrConvert.ToString(reader["Message"]),
                FilePath = SafeClrConvert.ToString(reader["FilePath"]),
                LogDate  = SafeClrConvert.ToDateTime(reader["LogDate"]),
                Line     = SafeClrConvert.ToInt(reader["Line"]),
            };

            return(result);
        }
        public ActionResult Send(NotifyType notifyType)
        {
            var result  = new ServiceResponse <object>();
            var request = null as NotifyRequest;

            switch (notifyType)
            {
            case NotifyType.Email:
                request = new EmailNotifyRequest
                {
                    Body    = Request.Form["Body"],
                    Email   = Request.Form["To"],
                    Subject = Request.Form["Subject"],
                    IsHtml  = SafeClrConvert.ToBoolean(Request.Form["IsHtml"])
                };
                break;

            case NotifyType.SMS:
                request = new SmsNotifyRequest
                {
                    Message  = Request.Form["Message"],
                    MobileNo = Request.Form["targetNumber"]
                };
                break;

            default:
                result.Status  = "InvalidOrUnsupportedNotifyType";
                result.Message = "Specified notify type is not supported or valid";
                break;
            }

            if (request != null)
            {
                try
                {
                    result.Data    = notificationService.Notify(notifyType, request);
                    result.Success = true;
                }
                catch (Exception e)
                {
                    result.Exception = e;
                }
            }

            return(Content(JsonConvert.SerializeObject(result), "application/javascript"));
        }
Beispiel #28
0
        public BasicData GetById(string category, int id)
        {
            var result = new BasicData();
            var rows   = GetAll(category);

            foreach (var row in rows)
            {
                var _id = SafeClrConvert.ToInt32(row["ID"]);

                if (id == _id)
                {
                    result = read(category, row);
                }
            }

            return(result);
        }
        void IActionFilter.OnActionExecuting(ActionExecutingContext filterContext)
        {
            var skip = SafeClrConvert.ToBoolean(filterContext.HttpContext.Items["x_request_body_read"]);

            if (!skip)
            {
                var data = "";

                using (var reader = new StreamReader(filterContext.HttpContext.Request.InputStream))
                {
                    data = reader.ReadToEnd();
                }

                filterContext.HttpContext.Items.Add("x_request_body_read", true);
                filterContext.HttpContext.Items.Add("x_request_body", data);
            }
        }
Beispiel #30
0
        public BasicData GetByName(string category, string name)
        {
            var result = new BasicData();
            var rows   = GetAll(category);

            foreach (var row in rows)
            {
                var _name = SafeClrConvert.ToString(row["Name"]);

                if (string.Compare(_name, name, StringComparison.OrdinalIgnoreCase) == 0)
                {
                    result = read(category, row);
                }
            }

            return(result);
        }