public WebApiConfigModel Retrieve(int serviceId)
        {
            try
            {
                using (OracleConnection connection = new OracleConnection())
                {
                    connection.ConnectionString = ConfigurationManager.ConnectionStrings["ORACLE"].ConnectionString;
                    connection.Open();
                    OracleDynamicParameters parameters = new OracleDynamicParameters();
                    parameters.Add("ServiceId", serviceId);
                    parameters.Add("RC", dbType: OracleDbType.RefCursor, direction: ParameterDirection.Output);
                    var result = connection.Query(sql: "SPSELECTCONFIGURATION", param: parameters, commandType: CommandType.StoredProcedure).SingleOrDefault();
                    WebApiConfigModel retrievedModel = new WebApiConfigModel()
                    {
                        ServiceId            = Convert.ToInt32(result.SERVICE_ID),
                        ConnectionStringId   = result.CONNECTIONSTR_ID,
                        DbType               = result.DB_TYPE,
                        ObjectToRetrieveData = result.OBJ_TO_RETRIEVE_DATA,
                        RequestType          = result.REQUEST_TYPE,
                        ObjectToStoreData    = result.OBJ_TO_STORE_DATA,
                        LatestBatchId        = result.LATEST_BATCH_ID,
                    };

                    return(retrievedModel);
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Пример #2
0
        public ActionResult SaveGeneralSettings(WebApiConfigModel model)
        {
            if (!HasPermission(false) || !ModelState.IsValid)
            {
                return(Configure());
            }

            model.Copy(_webApiSettings, false);
            _settingService.SaveSetting(_webApiSettings);

            WebApiCaching.Remove(WebApiControllingCacheData.Key);

            return(Configure());
        }
        public ActionResult SaveGeneralSettings(WebApiConfigModel model)
        {
            if (!ModelState.IsValid)
            {
                return(Configure());
            }

            model.Copy(_webApiSettings, false);
            Services.Settings.SaveSetting(_webApiSettings);

            WebApiCachingControllingData.Remove();

            return(Configure());
        }
        public ActionResult Configure()
        {
            var model = new WebApiConfigModel();

            model.Copy(_webApiSettings, true);

            var odataUri   = new Uri(Request.Url, Url.Content("~/" + WebApiGlobal.MostRecentOdataPath));
            var swaggerUri = new Uri(Request.Url, Url.Content("~/swagger/ui/index"));

            model.ApiOdataUrl         = odataUri.AbsoluteUri.EnsureEndsWith("/");
            model.ApiOdataMetadataUrl = model.ApiOdataUrl + "$metadata";
            model.SwaggerUrl          = swaggerUri.AbsoluteUri;

            model.GridPageSize = _adminAreaSettings.GridPageSize;

            return(View(model));
        }
Пример #5
0
        public ActionResult SaveGeneralSettings(WebApiConfigModel model)
        {
            if (!ModelState.IsValid)
            {
                return(Configure());
            }

            if (!HasPermission(false))
            {
                return(AccessDeniedPartialView());
            }

            model.Copy(_webApiSettings, false);
            _commonServices.Settings.SaveSetting(_webApiSettings);

            WebApiCachingControllingData.Remove();

            return(Configure());
        }
Пример #6
0
        public ActionResult Configure()
        {
            if (!HasPermission(false))
            {
                return(AccessDeniedPartialView());
            }

            var model = new WebApiConfigModel();

            model.Copy(_webApiSettings, true);

            var odataUri = new Uri(Request.Url,
                                   WebApiGlobal.MostRecentOdataPath.StartsWith("/") ? WebApiGlobal.MostRecentOdataPath : "/" + WebApiGlobal.MostRecentOdataPath
                                   );

            model.ApiOdataUrl         = odataUri.AbsoluteUri.EnsureEndsWith("/");
            model.ApiOdataMetadataUrl = model.ApiOdataUrl + "$metadata";

            model.GridPageSize = _adminAreaSettings.GridPageSize;

            AddButtonText();

            return(View(model));
        }
Пример #7
0
        public List <LoanDetailModel> Retrieve(WebApiConfigModel configurations, int securityId)
        {
            try
            {
                if (configurations.ConnectionStringId.Equals("oracle", StringComparison.CurrentCultureIgnoreCase))
                {
                    using (OracleConnection connection = new OracleConnection())
                    {
                        connection.ConnectionString = ConfigurationManager.ConnectionStrings["ORACLE"].ConnectionString;
                        connection.Open();
                        OracleDynamicParameters parameters = new OracleDynamicParameters();
                        parameters.Add("SecurityId", securityId, dbType: OracleDbType.Int32, direction: ParameterDirection.Input);
                        parameters.Add("RC", dbType: OracleDbType.RefCursor, direction: ParameterDirection.Output);
                        var resultSet = connection.Query(sql: configurations.ObjectToRetrieveData, param: parameters, commandType: CommandType.StoredProcedure);
                        if (resultSet != null)
                        {
                            List <LoanDetailModel> loanDetails = new List <LoanDetailModel>();
                            foreach (var result in resultSet)
                            {
                                LoanDetailModel retrievedModel = new LoanDetailModel();

                                retrievedModel.AccountType = result.ACCNT;
                                retrievedModel.SecurityId  = Convert.ToInt32(result.SEC_ID);
                                retrievedModel.DateOfLoan  = result.DATE_OF_LOAN;

                                loanDetails.Add(retrievedModel);
                            }
                            return(loanDetails);
                        }
                        else
                        {
                            return(null);
                        }
                    }
                }
                else if (configurations.ConnectionStringId.Equals("sqlserver", StringComparison.CurrentCultureIgnoreCase))
                {
                    using (SqlConnection connection = new SqlConnection())
                    {
                        connection.ConnectionString = ConfigurationManager.ConnectionStrings["SQLSERVER"].ConnectionString;
                        connection.Open();
                        return(connection.Query <LoanDetailModel>(sql: configurations.ObjectToRetrieveData, param: new { SecurityId = securityId }, commandType: CommandType.StoredProcedure).ToList());
                    }
                }
                else if (configurations.ConnectionStringId.Equals("oracle,sqlserver", StringComparison.CurrentCultureIgnoreCase))
                {
                    var oracleResultSet = (dynamic)null;
                    List <LoanDetailModel> sqlServerResultSet = new List <LoanDetailModel>();
                    using (OracleConnection connection = new OracleConnection())
                    {
                        connection.ConnectionString = ConfigurationManager.ConnectionStrings["ORACLE"].ConnectionString;
                        connection.Open();
                        OracleDynamicParameters parameters = new OracleDynamicParameters();
                        parameters.Add("SecurityId", securityId);
                        parameters.Add("RC", dbType: OracleDbType.RefCursor, direction: ParameterDirection.Output);
                        oracleResultSet = connection.Query(sql: configurations.ObjectToRetrieveData, param: parameters, commandType: CommandType.StoredProcedure);
                    }

                    using (SqlConnection connection = new SqlConnection())
                    {
                        connection.ConnectionString = ConfigurationManager.ConnectionStrings["SQLSERVER"].ConnectionString;
                        connection.Open();
                        sqlServerResultSet = connection.Query <LoanDetailModel>(sql: configurations.ObjectToRetrieveData, param: new { SecurityId = securityId }, commandType: CommandType.StoredProcedure).ToList();
                    }

                    if (oracleResultSet == null)
                    {
                        return(sqlServerResultSet);
                    }
                    else
                    {
                        List <LoanDetailModel> loanDetails       = new List <LoanDetailModel>();
                        List <LoanDetailModel> mergedLoanDetails = new List <LoanDetailModel>();

                        foreach (var result in oracleResultSet)
                        {
                            LoanDetailModel retrievedModel = new LoanDetailModel();
                            retrievedModel.AccountType = result.ACCNT;
                            retrievedModel.SecurityId  = Convert.ToInt32(result.SEC_ID);
                            retrievedModel.DateOfLoan  = result.DATE_OF_LOAN;
                            loanDetails.Add(retrievedModel);
                        }

                        for (int i = 0; i < loanDetails.Count; i++)
                        {
                            for (int j = i; j <= sqlServerResultSet.Count; j++)
                            {
                                if (loanDetails[j].AccountType.Equals("A", StringComparison.InvariantCultureIgnoreCase))
                                {
                                    loanDetails[j].LoanQty = (sqlServerResultSet[j].LoanQty / 100) * 5;
                                }

                                if (loanDetails[j].AccountType.Equals("B", StringComparison.InvariantCultureIgnoreCase))
                                {
                                    loanDetails[j].LoanQty = (sqlServerResultSet[j].LoanQty / 100) * 7;
                                }

                                if (loanDetails[j].AccountType.Equals("C", StringComparison.InvariantCultureIgnoreCase))
                                {
                                    loanDetails[j].LoanQty = (sqlServerResultSet[j].LoanQty / 100) * 7.5;
                                }
                                break;
                            }
                            mergedLoanDetails.Add(loanDetails[i]);
                        }

                        return(mergedLoanDetails);
                    }
                }
                return(null);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }