public List <TypeWiseTestReport> GetTypeWiseTestReport(string startDate, string endDate)
        {
            string query = @"SELECT TT.NAME AS TypeName, COUNT(PT.id) as TotalCount, ISNULL(SUM(DISTINCT TS.FEE) * COUNT(PT.ID), 0) as TotalFee FROM TESTTYPE TT 
                                LEFT JOIN TESTSETUP TS ON TS.type_id = TT.id
                                LEFT JOIN PATIENTTEST PT ON PT.testSetupID = TS.id
                                AND PT.created_at BETWEEN '" + startDate + "' AND '" + endDate + "' GROUP BY TT.name";

            command.CommandText = query;
            connection.Open();
            SqlDataReader             reader             = command.ExecuteReader();
            List <TypeWiseTestReport> testWiseReportList = new List <TypeWiseTestReport>();

            while (reader.Read())
            {
                TypeWiseTestReport typeWiseTestReport = new TypeWiseTestReport();

                typeWiseTestReport.TypeName   = reader["TypeName"].ToString();
                typeWiseTestReport.TotalCount = Convert.ToInt32(reader["TotalCount"].ToString());
                typeWiseTestReport.TotalFee   = Convert.ToDecimal(reader["TotalFee"].ToString());

                testWiseReportList.Add(typeWiseTestReport);
            }



            reader.Close();
            connection.Close();

            return(testWiseReportList);
        }
        public List <TypeWiseTestReport> GetAllTypeWiseReport(string fromDate, string toDate)
        {
            SqlConnection con   = new SqlConnection(connectionString);
            string        query = @"SELECT  Name,SUM(Total) as Total,SUM(Count) as Count FROM  TypeWiseTestReport 
                             WHERE InsertDate between '" + fromDate + "' and '" + toDate + "' GROUP BY Name";
            SqlCommand    cmd   = new SqlCommand(query, con);

            con.Open();
            SqlDataReader             reader = cmd.ExecuteReader();
            List <TypeWiseTestReport> typeWiseTestReports = new List <TypeWiseTestReport>();

            while (reader.Read())
            {
                TypeWiseTestReport typeWiseTest = new TypeWiseTestReport();
                typeWiseTest.Name  = (reader["Name"].ToString());
                typeWiseTest.Total = Convert.ToDecimal(reader["Total"].ToString());
                typeWiseTest.Count = Convert.ToInt32(reader["Count"].ToString());
                typeWiseTestReports.Add(typeWiseTest);
            }
            reader.Close();
            con.Close();
            return(typeWiseTestReports);
        }