[Solved] So it was a stupid issue and i figured it by tracking the variable changes throughout the call stack and fixed it as follows: (Reason and solution mentioned in step 5)
ref: https://www.mssqltips.com/sqlservertip/1145/date-and-time-conversions-using-sql-server/
1- Database column:
3- C# call that stored procedure:
4- C# parse the date (it is returned as a string )
5- Casting that string to datetime (My issue started here, I should not convert the datetime-string back to a datetime object when i need to pass it to a Json() to use it for DataTable plugin for example. Only Razor can handle DateTime objects ..., So the solution was to just skip this step, if you are using a model-model or a view-model, you need to include a string property to store the string version of the datetime or just use another currently-not-in-use property, I used IBAN property to store the datetime-string-version instated of creating a new model or modifying the domain model i was using):
Thanks