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)); }