Sunday, October 22, 2023

ASP.NET Core 6/ASP.NET Core 7: Accessing Configuration during startup

 With the changes to Program.cs in .Net Core 7, we can still access confirmation options as below

appsettings.json

{ 

  "Settings": {

    "AccessTokenKey": "abcd123",

    "AccessTokenExpirySeconds": 3600,

    "RefreshTokenExpiryDays": 30

  } 

}

Program.cs

var builder = WebApplication.CreateBuilder();

ConfigurationManager config= builder.Configuration; // allows  access to  the config

IWebHostEnvironment environment = builder.Environment;// access the environment

                    var key = builder .Configuration["Settings:AccessTokenKey"]; 

Cheers,

Samitha 

Sunday, October 1, 2023

.NET 7: a connection establish error

 When working with .Net 7 WEB API projects you might have encountered following error when connection to SQL Server.

A connection was successfully established with the server, but then an error occurred during the login process. (provider: SSL Provider, error: 0 - The certificate chain was issued by an authority that is not trusted.).

This occurs due to a breaking change in SQL driver.

This issue can be resolved by adding TrustServerCertificate=True attribute to your connection string as shown below.


"ConnectionStrings": {

    "DefaultConnection": "Server=SQL_SERVER_NAME;Database=DATABASE_NAME;Integrated Security=True;TrustServerCertificate=True;",

}

 Cheers,

Samithaa

Saturday, September 9, 2023

Return several types from a single method

 As  a backend developer, I found OneOf package is pretty useful in returning several types from a one method.

With OneOf  you van return,

  • objects
  • validation errors
  • and  try..catch errors

 from the service.

You can download OneOf package here and read more about usage here.

Regards,

Samitha


As a backend developer, I have primarily used this package to return the objects, validation errors, and try..catch errors from the service.

Sunday, August 27, 2023

Remote working Opportunities

 If you are interested in remote working opportunities try following websites.


  1. We Work Remotely
  2. Angellist talent
  3. Remote ok
  4. Remote co


Regards,

Samitha

Saturday, August 5, 2023

Thursday, June 29, 2023

asp.net datatable sort numeric stored as varchar

 There was a table storing employee pay details as varchar. There was a requirement to sort the data ascending/descending on the UI. But it would not sort as data type is varchar.

  To resolve the issue I have implemented a workaround as follows and it worked well. 

1. Clone the data table

2. change the desired column's data type

3. change the desired column's data type    

4. Bind datatable to the data source

Sample code is as follows

Public Function GetDataTable(ByVal sortByExprerssion As String) As DataTable
       
        Dim dtBulkSalary As DataTable

        dtBulkSalary = bulkSalary.SelectByFilter()

        'workaround to sort varchar
        If (Not IsNothing(dtBulkSalary)) Then
            Dim dtBulkSalaryCloned As DataTable = dtBulkSalary.Clone()
            dtBulkSalaryCloned.Columns("Yearly_Salary").DataType = Type.[GetType]("System.Decimal")           
            dtBulkSalaryCloned.Columns("Normal_Rate").DataType = Type.[GetType]("System.Decimal")
            
            For Each bulkSalaryRow As DataRow In dtBulkSalary.Rows
                Dim drBulkSalaryCloned As DataRow = dtBulkSalaryCloned.NewRow
                drBulkSalaryCloned("BulkSalaryChange_ID") = bulkSalaryRow("BulkSalaryChange_ID")
                drBulkSalaryCloned("Yearly_Salary") = If(IsDBNull(bulkSalaryRow("Yearly_Salary")), 0.0D, CDec(DecryptValue(bulkSalaryRow("Yearly_Salary"))))
                drBulkSalaryCloned("Normal_Rate") = If(IsDBNull(bulkSalaryRow("Normal_Rate")), 0.00, CDec(DecryptValue(bulkSalaryRow("Normal_Rate"))))
                
            dtBulkSalaryCloned.AcceptChanges()
            Dim dvBulkSalary As DataView = dtBulkSalaryCloned.DefaultView
            dvBulkSalary.Sort = sortByExprerssion
            dtBulkSalary = dvBulkSalary.ToTable()
        End If

        Return dtBulkSalary
    End Function

Please note that data decrypted function is not listed here.

Cheers,
Samitha


Sunday, May 21, 2023

Database First Scaffold-DbContext Build failed error

 When you are building entity classes with Scaffold-DbContext sometimes you might encounter the Build failed error.

We can avoid this error by making sure your project does not have compile time errors. That mean the project should build successfully.


Cheers

Samitha