SQL query to check for dependency is throwing invalid when it runs and give results in sql server management studio. Can someone help to find out what is wrong in it.
i need to have SUM to display end results
public void GetAllTicket()
{
List<DashboardModel> resultlist = new List<DashboardModel>();
using (SqlConnection connection = new SqlConnection(_connString))
{
string query = "SELECT SUM(CASE WHEN [AssignedStaffID] = 8 and [IsAssignedStaffOverridden] = 0 THEN 1 ELSE 0 END) myticket,SUM(CASE WHEN [AgentGroupID] = 1 THEN 1 ELSE 0 END) agentgroup,SUM(CASE WHEN [AssignedStaffID] = 0 AND [AgentGroupID] = 1 THEN 1 ELSE 0 END) newticket,SUM(CASE WHEN [AssignedStaffID] = 8 AND [TicketStatusID] = 2 THEN 1 ELSE 0 END) resolvedticket FROM [dbo].[Ticket]";
using (SqlCommand command = new SqlCommand(query, connection))
{
command.Notification = null;
SqlDependency dependency = new SqlDependency(command);
dependency.OnChange += new OnChangeEventHandler(dependency_OnChange);
connection.Open();
DataTable dt = new DataTable();
SqlDataReader reader = command.ExecuteReader();
dt.Load(reader);
if (dt.Rows.Count > 0)
{
for (int i = 0; i < dt.Rows.Count; i++)
{
resultlist.Add(new DashboardModel
{
MyTicketCount = int.Parse(dt.Rows[i]["myticket"].ToString()),
AgentGroupTicketCount = int.Parse(dt.Rows[i]["agentgroup"].ToString()),
NewTicketCount = int.Parse(dt.Rows[i]["newticket"].ToString()),
ResolvedTicketCount = int.Parse(dt.Rows[i]["resolvedticket"].ToString())
});
}
}
}
}
NotifyAllClients(resultlist);
}
I get e.info= invalid below
public void dependency_OnChange(object sender, SqlNotificationEventArgs e)
{
if (e.Info == SqlNotificationInfo.Invalid)
{
Console.WriteLine("The above notification query is not valid.");
}
if (e.Type == SqlNotificationType.Change)
{
GetAllTicket();
}
}