public IEnumerable <InfantDetailsResponse> SearchInfant(InfantSearchRequest searchRequest)
        {
            List <InfantDetailsResponse> infantList = new List <InfantDetailsResponse>();

            var query = @"SELECT BirthId, FullName, DOB, POB, MothersName, a.InfantID, b.NextVaccinationDate 
                        FROM InfantDetails a LEFT JOIN vaccinationDetails b ON a.infantId = b.InfantId
                        WHERE ";

            Dictionary <string, string> paramlist = new Dictionary <string, string>();

            if (searchRequest.DOB != default(DateTime))
            {
                paramlist.Add("DOB", searchRequest.DOB.ToString());
            }
            if (searchRequest.MothersName != "")
            {
                paramlist.Add("MothersName", searchRequest.MothersName);
            }
            if (searchRequest.PlaceofBirth != "")
            {
                paramlist.Add("POB", searchRequest.PlaceofBirth);
            }
            if (searchRequest.BirthId != "")
            {
                paramlist.Add("BirthId", searchRequest.BirthId);
            }


            int i = 0;

            foreach (var item in paramlist)
            {
                query += item.Key + "='" + item.Value + "'";
                i++;
                if (i != paramlist.Count)
                {
                    query += " AND ";
                }
            }

            query += " AND b.VaccinationId = (SELECT MAX(VaccinationId)  FROM vaccinationDetails where InfantID =  a.InfantID)";

            var infantDataList = dbService.ExecuteReader(query);

            foreach (DataRow row in infantDataList.Rows)
            {
                var infantData = new InfantDetailsResponse();
                infantData.BirthId             = Convert.ToString(row["BirthId"]);
                infantData.FullName            = Convert.ToString(row["FullName"]);
                infantData.DOB                 = Convert.ToString(row["DOB"]);
                infantData.POB                 = Convert.ToString(row["POB"]);
                infantData.MothersName         = Convert.ToString(row["MothersName"]);
                infantData.InfantId            = Convert.ToInt32(row["InfantID"]);
                infantData.NextVaccinationDate = Convert.ToString(row["NextVaccinationDate"]);
                infantList.Add(infantData);
            }
            return(infantList);
        }
 public IEnumerable <InfantDetailsResponse> SearchInfant(InfantSearchRequest searchData)
 {
     return(hospitalService.SearchInfant(searchData));
 }