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

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


Friday, April 28, 2023

web application exists on both the local IIS web server and the IIS Express web server

When debugging the website in VS 2022   I got this strange issue, Following steps sorted the issue for me.


  • close VS 2022
  • Delete the files in C:\Users\<username>\Documents\IISExpress\config folder
  • Open the solution and tru running it again


Cheers,

Samitha

Sunday, April 9, 2023