public List<Disease> GetAllDiseases()
        {
            int count = 0;
            List<Disease> diseasesList=new List<Disease>();

            string query = "SELECT * FROM DiseaseTBL";
            SqlConnection connection = new SqlConnection(connectionString);

            SqlCommand command = new SqlCommand(query, connection);
            connection.Open();
            SqlDataReader reader = command.ExecuteReader();
            while (reader.Read())
            {
                Disease aDisease=new Disease();
                aDisease.Id = int.Parse(reader["Id"].ToString());
                aDisease.NameOfDisease = reader["Name"].ToString();
                aDisease.Description = reader["Description"].ToString();
                aDisease.TreatmentProcedure = reader["TreatmentProcedure"].ToString();
                count++;
                aDisease.SerialNo = count;
                diseasesList.Add(aDisease);

            }

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

            return diseasesList;
        }
        public string SaveDisease(Disease aDisease)
        {
            int value = diseaseGateway.SaveDisease(aDisease);

            if (value > 0)
            {
                return "Disease Has Been Saved";
            }
            else return "Failed";
        }
        public string SaveDisease(Disease aDisease)
        {
            int value = diseaseGateway.SaveDisease(aDisease);

            if (value > 0)
            {
                return "New disease has been saved!";
            }
            else return "Failed";
        }
        protected void saveButton_Click(object sender, EventArgs e)
        {
            Disease aDisease=new Disease();

            aDisease.NameOfDisease = nameDiseaseEntryTextBox.Text;
            aDisease.Description = descriptionDiseaseEntryTextBox.Text;
            aDisease.TreatmentProcedure = treatmentProcedureDiseaseEntryTextBox.Text;
            msgLabel.Text = diseaseManager.SaveDisease(aDisease);
            diseaseEntryGridView.DataSource = diseaseManager.GetAllDiseases();
            diseaseEntryGridView.DataBind();
        }
        public int SaveDisease(Disease aDisease)
        {
            string query = "INSERT INTO DiseaseTBL VALUES('" + aDisease.NameOfDisease + "','"+aDisease.Description+"','"+aDisease.TreatmentProcedure+"')";
            SqlConnection connection = new SqlConnection(connectionString);

            SqlCommand command = new SqlCommand(query, connection);
            connection.Open();
            int rowAffected = command.ExecuteNonQuery();
            connection.Close();
            return rowAffected;
        }
        public bool IsDiseaseExists(Disease aDisease)
        {
            bool exists = false;
            string query = "SELECT * FROM DiseaseTBL WHERE Name='" + aDisease.NameOfDisease + "'";
            SqlConnection connection = new SqlConnection(connectionString);

            SqlCommand command = new SqlCommand(query, connection);
            connection.Open();
            SqlDataReader reader = command.ExecuteReader();
            while (reader.Read())
            {

                exists = true;
            }
            reader.Close();
            connection.Close();
            return exists;
        }
        protected void saveButton_Click(object sender, EventArgs e)
        {
            Disease aDisease=new Disease();

            aDisease.NameOfDisease = nameDiseaseEntryTextBox.Text;
            aDisease.Description = descriptionDiseaseEntryTextBox.Text;
            aDisease.TreatmentProcedure = treatmentProcedureDiseaseEntryTextBox.Text;
            if (diseaseManager.IsDiseaseExists(aDisease))
            {
                megLabel.Text = "";
                errorMegLabel.Text = "This disease already exists!";
            }
            else
            {
                errorMegLabel.Text = "";
                megLabel.Text = diseaseManager.SaveDisease(aDisease);
                nameDiseaseEntryTextBox.Text = "";
                descriptionDiseaseEntryTextBox.Text = "";
                treatmentProcedureDiseaseEntryTextBox.Text = "";
                diseaseEntryGridView.DataSource = diseaseManager.GetAllDiseases();
                diseaseEntryGridView.DataBind();
            }
        }
        protected void showReportButton_Click(object sender, EventArgs e)
        {
            string dateFrom = Request.Form["dateFrom"];
            string dateTo = Request.Form["dateTo"];

            int yearFrom = int.Parse(dateFrom.Substring(0, 4));
            int monthFrom = int.Parse(dateFrom.Substring(5, 2));
            int dayFrom = int.Parse(dateFrom.Substring(8, 2));

            int monthTo = int.Parse(dateTo.Substring(5, 2));
            int dayTo = int.Parse(dateTo.Substring(8, 2));
            int yearTo = int.Parse(dateTo.Substring(0, 4));

            List<int> patientIdList = new List<int>();
            if (yearTo < yearFrom)
            {
                megLabel.Text = "Incorrect date formet!";
            }
            else if (yearFrom == yearTo && monthTo < monthFrom)
            {
                megLabel.Text = "Incorrect date formet!";
            }
            else if (yearFrom == yearTo && monthTo == monthFrom && dayTo < dayFrom)
            {
                megLabel.Text = "Incorrect date formet!";
            }
            else
            {
                megLabel.Text = "";
                for (int i = dayFrom; ; i++)
                {
                    if (yearTo == yearFrom && monthTo == monthFrom && i == dayTo)
                    {
                        string date2 = yearFrom + "-" + monthFrom + "-" + i;
                        int patient2 = treatmentManager.GetPatientId(date2);
                        patientIdList.Add(patient2);
                        break;
                    }
                    string date =yearFrom + "-" + monthFrom + "-" + i;
                    int patient = treatmentManager.GetPatientId(date);
                    patientIdList.Add(patient);
                    if (i == 31 && monthFrom != 12)
                    {
                        monthFrom++;
                        i = 0;
                    }
                    else if (monthFrom == 12 && dayFrom == 31)
                    {
                        yearFrom++;
                        monthFrom = 1;
                        i = 0;
                    }
                }
            }
            List<int> districtWasePatientIdList=new List<int>();
            int districtId = int.Parse(districtDropDownList.SelectedValue);
            foreach (int id in patientIdList) {
                int patientIdDistrictWase = patientManager.GetDistictWaisePatientId(id, districtId);
                districtWasePatientIdList.Add(patientIdDistrictWase);
            }
            List<int> observationIdList = new List<int>();
            foreach (int id in districtWasePatientIdList) {
                int observationId = treatmentManager.GetObservationId(id);
                observationIdList.Add(observationId);
            }
            List<Disease> diseaseNameList = new List<Disease>();
            List<Disease> allDiseaseNameList = diseaseManager.GetAllDiseases();
            foreach (int id in observationIdList) {
                List<int> diseaseIdList = treatmentManager.GetDiseaseId(id);
                foreach (int disId in diseaseIdList) {
                    Disease aDisease = new Disease();
                    aDisease.NameOfDisease = diseaseManager.GetDiseaseName(disId);
                    diseaseNameList.Add(aDisease);
                }
            }
            Series series = Chart1.Series["Series1"];
            foreach (var diseaseName in allDiseaseNameList) {

                int count = 0;
                foreach (var nameOfDisease in diseaseNameList) {
                    if (diseaseName.NameOfDisease.Equals(nameOfDisease.NameOfDisease)) {
                        count++;
                    }
                }
                series.Points.AddXY(diseaseName.NameOfDisease, count);
            }
        }
 public bool IsDiseaseExists(Disease aDisease)
 {
     return diseaseGateway.IsDiseaseExists(aDisease);
 }