Rest API Using Stored Procedure with out entity framework

Hello,

I want to use Rest API and Syncfusion Blazor WASM with REST API Stored Procedure Calls with out entity frame work.


Any sample would help.

        public List<AgencySearchResultInfo> SearchAgencies(string agencyNumber, string agencyName, bool includeInActive, int taxYear)

        {

            var agencySearchResultInfoList = new List<AgencySearchResultInfo>();

            try

            {

                IConfigurationSource source = new FileConfigurationSource("app.config");

                DatabaseProviderFactory factory = new DatabaseProviderFactory(source);

                Database db = factory.Create("Orbit");


                //DatabaseFactory.SetDatabaseProviderFactory(new DatabaseProviderFactory(), false);

                //Database db = DatabaseFactory.CreateDatabase();


                using (DbCommand dbCommand = db.GetStoredProcCommand(StoredProcedureNames.SearchAgencies))

                {

                    dbCommand.CommandTimeout = CommonConstants.Misc.CommandTimeout;


                    db.AddInParameter(dbCommand, ParameterNames.AgencyNumber, DbType.String, agencyNumber);

                    db.AddInParameter(dbCommand, ParameterNames.AgencyName, DbType.String, agencyName);

                    db.AddInParameter(dbCommand, ParameterNames.IncludeInActive, DbType.Boolean, includeInActive);

                    db.AddInParameter(dbCommand, ParameterNames.TaxYear, DbType.Int32, taxYear);


                    using (IDataReader dataReader = db.ExecuteReader(dbCommand))

                    {

                        var agencySearchResultInfoOrdinality = new AgencySearchResultInfoOrdinality(dataReader);


                        while (dataReader.Read())

                        {

                            var agencySearchResultInfo = new AgencySearchResultInfo();

                            agencySearchResultInfo.RowId = CoreDataUtils.GetValueAsInt(dataReader, agencySearchResultInfoOrdinality.RowIdOrdinal);

                            agencySearchResultInfo.ParentRowId = CoreDataUtils.GetValueAsInt(dataReader, agencySearchResultInfoOrdinality.ParentRowIdOrdinal);

                            agencySearchResultInfo.AgencyUid = CoreDataUtils.GetValueAsInt(dataReader, agencySearchResultInfoOrdinality.AgencyUidOrdinal);

                            agencySearchResultInfo.AgencyNumber = CoreDataUtils.GetValueAsString(dataReader, agencySearchResultInfoOrdinality.AgencyNumberOrdinal);

                            agencySearchResultInfo.AgencyNameIndexId = CoreDataUtils.GetValueAsInt(dataReader, agencySearchResultInfoOrdinality.AgencyNameIndexIdOrdinal);

                            agencySearchResultInfo.FullName = CoreDataUtils.GetValueAsString(dataReader, agencySearchResultInfoOrdinality.FullNameOrdinal);

                            agencySearchResultInfo.AgencyTypeId = CoreDataUtils.GetValueAsInt(dataReader, agencySearchResultInfoOrdinality.AgencyTypeIdOrdinal);

                            agencySearchResultInfo.ActiveFirstYear = CoreDataUtils.GetValueAsInt(dataReader, agencySearchResultInfoOrdinality.ActiveFirstYearOrdinal);

                            agencySearchResultInfo.ActiveLastYear = CoreDataUtils.GetValueAsInt(dataReader, agencySearchResultInfoOrdinality.ActiveLastYearOrdinal);

                            agencySearchResultInfo.ActiveFromDate = CoreDataUtils.GetValueAsDate(dataReader, agencySearchResultInfoOrdinality.ActiveFromDateOrdinal);

                            agencySearchResultInfo.ActiveToDate = CoreDataUtils.GetValueAsDate(dataReader, agencySearchResultInfoOrdinality.ActiveToDateOrdinal);

                            agencySearchResultInfo.ValidFromDate = CoreDataUtils.GetValueAsDate(dataReader, agencySearchResultInfoOrdinality.ValidFromDateOrdinal);

                            agencySearchResultInfo.ValidToDate = CoreDataUtils.GetValueAsDate(dataReader, agencySearchResultInfoOrdinality.ValidToDateOrdinal);

                            agencySearchResultInfo.EntryStartDate = CoreDataUtils.GetValueAsDate(dataReader, agencySearchResultInfoOrdinality.EntryStartDateOrdinal);

                            agencySearchResultInfo.ContactAddressTypeId = CoreDataUtils.GetValueAsInt(dataReader, agencySearchResultInfoOrdinality.ContactAddressTypeIdOrdinal);

                            agencySearchResultInfo.PrimaryFullContact = CoreDataUtils.GetValueAsString(dataReader, agencySearchResultInfoOrdinality.PrimaryFullContactOrdinal);

                            agencySearchResultInfo.SecondaryFullContact = CoreDataUtils.GetValueAsString(dataReader, agencySearchResultInfoOrdinality.SecondaryFullContactOrdinal);

                            agencySearchResultInfo.FullAddress = CoreDataUtils.GetValueAsString(dataReader, agencySearchResultInfoOrdinality.FullAddressOrdinal);

                            agencySearchResultInfo.UpdateDate = CoreDataUtils.GetValueAsDate(dataReader, agencySearchResultInfoOrdinality.UpdateDateOrdinal);

                            agencySearchResultInfo.LegacyAgencyNumber = CoreDataUtils.GetValueAsString(dataReader, agencySearchResultInfoOrdinality.LegacyAgencyNumberOrdinal);

                            agencySearchResultInfoList.Add(agencySearchResultInfo);

                        }

                    }

                }

            }

            catch (Exception ex)

            {

                bool rethrow = ExceptionPolicy.HandleException(ex, CoreDataConstants.DataExceptionPolicy);

                if (rethrow) throw;

            }


            return agencySearchResultInfoList;

        }



3 Replies

RS Renjith Singh Rajendran Syncfusion Team September 30, 2021 12:27 PM UTC

Hi Nanda, 
 
Greetings from Syncfusion support. 

We suggest you to bind data using custom binding feature and Microsoft SQL Client. We have already documented this topic in our UG documentation, please refer the links below, 
 
 
Please get back to us if you need further assistance. 
 
Regards, 
Renjith R 



NA Nanda October 12, 2021 11:37 PM UTC

I want to implement through Rest Api



RS Renjith Singh Rajendran Syncfusion Team October 14, 2021 03:43 AM UTC

Hi Nanda, 

We suggest you to refer the below documentations for binding data from web api services to Grid. You can use the WebApiAdaptor to fetch data from web api service. 
References :  

Please check this from your side and please get back to us if you need any further assistance. 

Regards, 
Renjith R 


Loader.
Up arrow icon