private void GetDays() { using (SqlConnection connection = new SqlConnection( Properties.Settings.Default.connectionString)) { using (SqlCommand command = connection.CreateCommand()) { command.CommandType = System.Data.CommandType.StoredProcedure; command.CommandText = "p_get_user_days"; SqlParameter dp = command.Parameters.Add("@UserId", SqlDbType.VarChar); dp.Value = _user.Id; dp = command.Parameters.Add("@ProvisionId", SqlDbType.VarChar); dp.Value = SelectedProvision is null ? null : SelectedProvision.Id.ToString(); connection.Open(); using (SqlDataReader dataReader = command.ExecuteReader()) { if (dataReader.HasRows) { int idx_Date = dataReader.GetOrdinal("Date"); int idx_ProvisionName = dataReader.GetOrdinal("ProvisionName"); int idx_Status = dataReader.GetOrdinal("Status"); int idx_Id = dataReader.GetOrdinal("Id"); int idx_Description = dataReader.GetOrdinal("Description"); Days = new ObservableCollection <Day>(); while (dataReader.Read()) { var day = new Day(); if (!dataReader.IsDBNull(idx_Date)) { day.Date = dataReader.GetDateTime(idx_Date); } if (!dataReader.IsDBNull(idx_ProvisionName)) { day.ProvisionName = dataReader.GetString(idx_ProvisionName); } if (!dataReader.IsDBNull(idx_Status)) { day.Status = dataReader.GetString(idx_Status); } if (!dataReader.IsDBNull(idx_Id)) { day.Id = dataReader.GetGuid(idx_Id); } if (!dataReader.IsDBNull(idx_Description)) { day.Description = dataReader.GetString(idx_Description); } Day.Statuses = Statuses; Day.Provisions = Provisions.Select(p => p.Name).ToList(); Days.Add(day); } DaysGrid.DataContext = Days; } else { Day.Statuses = Statuses; Day.Provisions = Provisions.Select(p => p.Name).ToList(); Days = new ObservableCollection <Day>(); DaysGrid.DataContext = Days; } } } } }