diff --git a/AngularDemo/include/app.js b/AngularDemo/include/app.js index 3f160d9..8e058b1 100644 --- a/AngularDemo/include/app.js +++ b/AngularDemo/include/app.js @@ -15,12 +15,12 @@ $scope.employeeView = 'listEmployee.html' $scope.sortData = function (column) { - $scope.reverse = $scope.sortColumn == column ? !$scope.reverse : $scope.column = false + $scope.reverse = $scope.sortColumn === column ? !$scope.reverse : false $scope.sortColumn = column } $scope.getSortClass = function (column) { - return $scope.sortColumn == column ? $scope.reverse ? 'arrow-up' : 'arrow-down' : '' + return $scope.sortColumn === column ? ($scope.reverse ? 'arrow-up' : 'arrow-down') : '' } }).filter('status', function () { return function (input) { diff --git a/AngularDemo/service/service.js b/AngularDemo/service/service.js index 470be8e..14cdb29 100644 --- a/AngularDemo/service/service.js +++ b/AngularDemo/service/service.js @@ -1,19 +1,22 @@ app.factory('myService', function () { return { transformString: function (input) { - if (input != '') { - var output = '' + if (!input) { + return '' + } - for (var i = 0; i < input.length; i++) { - if (i > 0 && input[i] == input[i].toUpperCase()) { - output += ' ' - } + input = input.toString() + var output = '' - output += input[i] + for (var i = 0; i < input.length; i++) { + if (i > 0 && input[i] === input[i].toUpperCase() && input[i] !== input[i].toLowerCase()) { + output += ' ' } - return output + output += input[i] } + + return output } } }) \ No newline at end of file diff --git a/AngularDemo/web/Employees.asmx.cs b/AngularDemo/web/Employees.asmx.cs index c129712..ca4cfdb 100644 --- a/AngularDemo/web/Employees.asmx.cs +++ b/AngularDemo/web/Employees.asmx.cs @@ -1,4 +1,5 @@ using Newtonsoft.Json; +using System; using System.Collections.Generic; using System.ComponentModel; using System.Data.SqlClient; @@ -7,7 +8,6 @@ using static Newtonsoft.Json.DateTimeZoneHandling; using static Newtonsoft.Json.JsonConvert; using static System.Configuration.ConfigurationManager; -using static System.DateTime; using static System.Web.Services.WsiProfiles; namespace AngularDemo.web @@ -27,32 +27,39 @@ public void GetAll() var employees = new List(); using (var conn = new SqlConnection(ConnectionStrings["Default"].ConnectionString)) + using (var cmd = new SqlCommand("SELECT Id, Name, DoB, Salary, Gender, Status FROM Employees", conn)) { - var cmd = new SqlCommand("SELECT * FROM Employees", conn); - conn.Open(); - var reader = cmd.ExecuteReader(); - - while (reader.Read()) + using (var reader = cmd.ExecuteReader()) { - employees.Add(new Employee + var idOrdinal = reader.GetOrdinal(nameof(Employee.Id)); + var nameOrdinal = reader.GetOrdinal(nameof(Employee.Name)); + var doBOrdinal = reader.GetOrdinal(nameof(Employee.DoB)); + var salaryOrdinal = reader.GetOrdinal(nameof(Employee.Salary)); + var genderOrdinal = reader.GetOrdinal(nameof(Employee.Gender)); + var statusOrdinal = reader.GetOrdinal(nameof(Employee.Status)); + + while (reader.Read()) { - Id = int.Parse(reader[nameof(Employee.Id)].ToString()), - Name = reader[nameof(Employee.Name)].ToString(), - DoB = Parse(reader[nameof(Employee.DoB)].ToString()), - Salary = decimal.Parse(reader[nameof(Employee.Salary)].ToString()), - Gender = reader[nameof(Employee.Gender)].ToString(), - Status = bool.Parse(reader[nameof(Employee.Status)].ToString()) - }); + employees.Add(new Employee + { + Id = reader.GetInt32(idOrdinal), + Name = reader.IsDBNull(nameOrdinal) ? string.Empty : reader.GetString(nameOrdinal), + DoB = reader.IsDBNull(doBOrdinal) ? DateTime.MinValue : reader.GetDateTime(doBOrdinal), + Salary = reader.IsDBNull(salaryOrdinal) ? 0m : reader.GetDecimal(salaryOrdinal), + Gender = reader.IsDBNull(genderOrdinal) ? string.Empty : reader.GetString(genderOrdinal), + Status = !reader.IsDBNull(statusOrdinal) && reader.GetBoolean(statusOrdinal) + }); + } } - - Context.Response.Write(SerializeObject(employees, new JsonSerializerSettings - { - DateFormatString = "yyyy-MM-ddTHH:mm:ss.fffZ", - DateTimeZoneHandling = Utc - })); } + + Context.Response.Write(SerializeObject(employees, new JsonSerializerSettings + { + DateFormatString = "yyyy-MM-ddTHH:mm:ss.fffZ", + DateTimeZoneHandling = Utc + })); } } }