//Pesquisar dadores pelo tipo sanguíneo. public List <Donor> searchByBloodType(string sh_blood) { XmlDocument doc = new XmlDocument(); List <Donor> list_dadoresFounded = new List <Donor>(); doc.Load(FILEPATH); XmlNode root = doc.DocumentElement; if (root.HasChildNodes) { string xpth_way = "//Dador/BloodType"; XmlNodeList nodeList = root.SelectNodes(xpth_way); for (int i = 0; i < nodeList.Count; i++) { if (nodeList[i].InnerText.Equals(sh_blood)) { XmlNode dadorNode = root.ChildNodes[i]; int cm = Convert.ToInt32(dadorNode.ChildNodes[20].InnerText); double kg = double.Parse(dadorNode.ChildNodes[19].InnerText, CultureInfo.InvariantCulture); int age = Int32.Parse(dadorNode.ChildNodes[14].InnerText); int num_dador = int.Parse(dadorNode.ChildNodes[0].InnerText); int phone_number; double imc = CalculateIMC(kg, cm); int.TryParse(dadorNode.ChildNodes[11].InnerText, out phone_number); DateTime.TryParseExact(dadorNode.ChildNodes[13].InnerText, "M/d/yyyy", CultureInfo.InvariantCulture, DateTimeStyles.None, out DateTime birthDate); double latitude; double.TryParse(dadorNode.ChildNodes[22].InnerText, out latitude); double longitude; double.TryParse(dadorNode.ChildNodes[23].InnerText, out longitude); Donor newDador = new Donor(num_dador, dadorNode.ChildNodes[1].InnerText, dadorNode.ChildNodes[2].InnerText, dadorNode.ChildNodes[3].InnerText, dadorNode.ChildNodes[4].InnerText, dadorNode.ChildNodes[5].InnerText, dadorNode.ChildNodes[6].InnerText, dadorNode.ChildNodes[7].InnerText, dadorNode.ChildNodes[8].InnerText, dadorNode.ChildNodes[9].InnerText, dadorNode.ChildNodes[10].InnerText, phone_number, dadorNode.ChildNodes[12].InnerText, birthDate, age, dadorNode.ChildNodes[15].InnerText, dadorNode.ChildNodes[16].InnerText, dadorNode.ChildNodes[17].InnerText, dadorNode.ChildNodes[18].InnerText, kg, cm, dadorNode.ChildNodes[21].InnerText, latitude, longitude, imc); list_dadoresFounded.Add(newDador); } } } else { return(null); } return(list_dadoresFounded); }
//Listar todos os dadores public List <Donor> GetDonors() { XmlDocument doc = new XmlDocument(); doc.Load(FILEPATH); List <Donor> list_dadores = new List <Donor>(); XmlNodeList donorNodes = doc.SelectNodes("/ListaDador/Dador"); for (int i = 0; i < donorNodes.Count; i++) { //XmlNode dadorNode = donorNodes[i].ChildNodes; int cm = Convert.ToInt32(donorNodes[i].ChildNodes[20].InnerText); double kg = double.Parse(donorNodes[i].ChildNodes[19].InnerText, CultureInfo.InvariantCulture); int num_dador = int.Parse(donorNodes[i].ChildNodes[0].InnerText); int phone_number; double imc = CalculateIMC(kg, cm); int.TryParse(donorNodes[i].ChildNodes[11].InnerText, out phone_number); DateTime.TryParseExact(donorNodes[i].ChildNodes[13].InnerText, "M/d/yyyy", CultureInfo.InvariantCulture, DateTimeStyles.None, out DateTime birthDate); int age = CalculateAge(birthDate); double latitude; double.TryParse(donorNodes[i].ChildNodes[22].InnerText, out latitude); double longitude; double.TryParse(donorNodes[i].ChildNodes[23].InnerText, out longitude); Donor newDador = new Donor(num_dador, donorNodes[i].ChildNodes[1].InnerText, donorNodes[i].ChildNodes[2].InnerText, donorNodes[i].ChildNodes[3].InnerText, donorNodes[i].ChildNodes[4].InnerText, donorNodes[i].ChildNodes[5].InnerText, donorNodes[i].ChildNodes[6].InnerText, donorNodes[i].ChildNodes[7].InnerText, donorNodes[i].ChildNodes[8].InnerText, donorNodes[i].ChildNodes[9].InnerText, donorNodes[i].ChildNodes[10].InnerText, phone_number, donorNodes[i].ChildNodes[12].InnerText, birthDate, age, donorNodes[i].ChildNodes[15].InnerText, donorNodes[i].ChildNodes[16].InnerText, donorNodes[i].ChildNodes[17].InnerText, donorNodes[i].ChildNodes[18].InnerText, kg, cm, donorNodes[i].ChildNodes[21].InnerText, latitude, longitude, imc); list_dadores.Add(newDador); } return(list_dadores); }
//Método para adicionar um novo dador. public bool addDador(Donor newDonor) { XmlDocument doc = new XmlDocument(); doc.Load(FILEPATH); XmlElement root = doc.DocumentElement; XmlElement dador = doc.CreateElement("Dador"); XmlElement number = doc.CreateElement("Number"); number.InnerText = newDonor.Number.ToString(); XmlElement gender = doc.CreateElement("Gender"); gender.InnerText = newDonor.Gender; XmlElement givenName = doc.CreateElement("GivenName"); givenName.InnerText = newDonor.GivenName; XmlElement surname = doc.CreateElement("Surname"); surname.InnerText = newDonor.Surname; XmlElement streetAddress = doc.CreateElement("StreetAddress"); streetAddress.InnerText = newDonor.StreetAddress; XmlElement city = doc.CreateElement("City"); city.InnerText = newDonor.City; XmlElement stateFull = doc.CreateElement("StateFull"); stateFull.InnerText = newDonor.StateFull; XmlElement zipCode = doc.CreateElement("ZipCode"); zipCode.InnerText = newDonor.ZipCode; XmlElement emailAddress = doc.CreateElement("EmailAddress"); emailAddress.InnerText = newDonor.EmailAddress; XmlElement username = doc.CreateElement("Username"); username.InnerText = newDonor.Username; XmlElement password = doc.CreateElement("Password"); password.InnerText = newDonor.Password; XmlElement telephoneNumber = doc.CreateElement("TelephoneNumber"); telephoneNumber.InnerText = newDonor.TelephoneNumber.ToString(); XmlElement mothersMaiden = doc.CreateElement("MothersMaiden"); mothersMaiden.InnerText = newDonor.MothersMaiden; XmlElement birthday = doc.CreateElement("Birthday"); birthday.InnerText = newDonor.Birthday.ToString("M/d/yyyy", CultureInfo.InvariantCulture); XmlElement age = doc.CreateElement("Age"); //age.InnerText = Model.calcularIdade(newDonor.Birthday).ToString(); XmlElement occupation = doc.CreateElement("Occupation"); occupation.InnerText = newDonor.Occupation; XmlElement company = doc.CreateElement("Company"); company.InnerText = newDonor.Company; XmlElement vehicle = doc.CreateElement("Vehicle"); vehicle.InnerText = newDonor.Vehicle; XmlElement bloodType = doc.CreateElement("BloodType"); bloodType.InnerText = newDonor.BloodType; XmlElement kilograms = doc.CreateElement("Kilograms"); kilograms.InnerText = newDonor.Kilograms.ToString(); XmlElement centimeters = doc.CreateElement("Centimeters"); centimeters.InnerText = newDonor.Centimeters.ToString(); XmlElement guid = doc.CreateElement("GUID"); guid.InnerText = newDonor.Guid; XmlElement latitude = doc.CreateElement("Latitude"); latitude.InnerText = newDonor.Latitude.ToString(); XmlElement longitude = doc.CreateElement("Longitude"); longitude.InnerText = newDonor.Longitude.ToString(); dador.AppendChild(number); dador.AppendChild(gender); dador.AppendChild(givenName); dador.AppendChild(surname); dador.AppendChild(streetAddress); dador.AppendChild(city); dador.AppendChild(stateFull); dador.AppendChild(zipCode); dador.AppendChild(emailAddress); dador.AppendChild(username); dador.AppendChild(password); dador.AppendChild(telephoneNumber); dador.AppendChild(mothersMaiden); dador.AppendChild(birthday); dador.AppendChild(age); dador.AppendChild(occupation); dador.AppendChild(company); dador.AppendChild(vehicle); dador.AppendChild(bloodType); dador.AppendChild(kilograms); dador.AppendChild(centimeters); dador.AppendChild(guid); dador.AppendChild(latitude); dador.AppendChild(longitude); root.AppendChild(dador); doc.Save(FILEPATH); return(true); }