public async Task MakeAppointment(Vet vet)
        {
            var shouldContinue = await DisplayAlert("Cita",
                                                    $"Has seleccionado a {vet.Fullname} para tu cita con {Pet.Firstname}. ¿Deseas continuar?",
                                                    "SI", "NO");

            if (!shouldContinue)
            {
                return;
            }

            ChangeIsBusy(true);

            Appointment.VetId = vet.IdVet;
            Appointment.PetId = Pet.IdPet;
            var appointment = await _appointmentsService.PostAppointment(Appointment);

            ChangeIsBusy(false);

            await DisplayAlert("¡Correcto!",
                               $"¡Genial! " +
                               $"Has agendado una cita para {Pet.Firstname} " +
                               $"con el código {appointment.IdAppointment} " +
                               $"y fecha {Appointment.Date.Value.ToString("dd MMMM yyyy")}.");

            await MasterNavigateToRoot();
        }
예제 #2
0
        public void Validate(Pet pet, Vet optionalVet)
        {
            string errors = "";

            if (pet.Name.Length == 0)
            {
                errors += "Invalid name!\n";
            }
            if (pet.Age <= 0)
            {
                errors += "Invalid age!\n";
            }
            if (pet.Gender != GenderEnum.MASCULINE && pet.Gender != GenderEnum.UNKNOWN && pet.Gender != GenderEnum.FEMININ)
            {
                errors += "Invalid gender!\n";
            }
            if (pet.Species.Length == 0)
            {
                errors += "Invalid species!\n";
            }

            if (errors.Length > 0)
            {
                throw new ValidationException(errors);
            }
        }
 public IList <MedicalConsultation> ShowAll(Vet vet)
 {
     using (var context = new EFContext())
     {
         return(context.MedicalConsultations.Where(mc => mc.VetId == vet.VetId).ToList <MedicalConsultation>());
     }
 }
        public static string ImportVets(PetClinicContext context, string xmlString)
        {
            XmlSerializer ser = new XmlSerializer(typeof(VetImportDto[]), new XmlRootAttribute("Vets"));

            var vetsDto = (VetImportDto[])ser.Deserialize(new StringReader(xmlString));

            StringBuilder sb = new StringBuilder();

            foreach (var vetDto in vetsDto)
            {
                if (!IsValid(vetDto) || context.Vets.Any(v => v.PhoneNumber == vetDto.PhoneNumber))
                {
                    sb.AppendLine("Error: Invalid data.");

                    continue;
                }

                Vet vet = new Vet
                {
                    Name        = vetDto.Name,
                    Profession  = vetDto.Profession,
                    PhoneNumber = vetDto.PhoneNumber,
                    Age         = vetDto.Age
                };

                context.Vets.Add(vet);

                sb.AppendLine($"Record {vet.Name} successfully imported.");

                context.SaveChanges();
            }

            return(sb.ToString().TrimEnd());
        }
예제 #5
0
        public void TestVetValidation()
        {
            IValidator <Vet> validator = new VetValidator();

            Vet validVet = new Vet()
            {
                ID       = 1,
                Name     = "Maria Popa",
                Schedule = "08:00-14:00"
            };

            Vet invalidVet = new Vet()
            {
                ID       = 1,
                Name     = "",
                Schedule = ""
            };

            //validating the valid vet
            validator.Validate(validVet);

            //trying to validate the vet with invalid name and schedule
            try
            {
                validator.Validate(invalidVet);
                Assert.Fail();
            }
            catch (ValidationException ve)
            {
                Assert.AreEqual(ve.Message, "Invalid name!\nInvalid schedule!\n");
            }
        }
예제 #6
0
        public static string ImportVets(PetClinicContext context, string xmlString)
        {
            var serializer = new XmlSerializer(typeof(VetDto[]), new XmlRootAttribute("Vets"));

            var deserializedVets = (VetDto[])serializer.Deserialize(new StringReader(xmlString));

            var sb = new StringBuilder();

            var validVets = new List <Vet>();

            foreach (VetDto vetDto in deserializedVets)
            {
                bool phoneNumberExists = validVets.Any(v => v.PhoneNumber == vetDto.PhoneNumber);

                if (!IsValid(vetDto) || phoneNumberExists)
                {
                    sb.AppendLine(ErrorMessage);
                    continue;
                }

                Vet vet = Mapper.Map <Vet>(vetDto);

                validVets.Add(vet);

                sb.AppendLine($"Record {vet.Name} successfully imported.");
            }

            context.Vets.AddRange(validVets);

            context.SaveChanges();

            string result = sb.ToString().TrimEnd();

            return(result);
        }
예제 #7
0
        public void Test_AddPatient_AddsPatientToVet()
        {
            //Arrange
            DateTime dob     = new DateTime(1986, 12, 5);
            Vet      testVet = new Vet("Doctor Phil", "Headstuff");

            testVet.Save();
            Patient testPatient = new Patient("Larry", "hernia", "bird", dob);

            testPatient.Save();
            Patient testPatient2 = new Patient("Jim", "ugly", "cow", dob);

            testPatient2.Save();

            //Act
            testVet.AddPatient(testPatient);
            testVet.AddPatient(testPatient2);
            List <Patient> result   = testVet.GetPatients();
            List <Patient> testList = new List <Patient> {
                testPatient, testPatient2
            };

            //Assert
            CollectionAssert.AreEqual(testList, result);
        }
예제 #8
0
        public static string ImportVets(PetClinicContext context, string xmlString)
        {
            List <string> phoneNumbersAvailable = context.Vets.Select(x => x.PhoneNumber).ToList();

            var serializer = new XmlSerializer(typeof(imp_xml_vetDto[]), new XmlRootAttribute("Vets"));

            var vetsDtos = (imp_xml_vetDto[])serializer.Deserialize(new StringReader(xmlString));

            StringBuilder sb = new StringBuilder();

            List <Vet> vetsToBeAdded = new List <Vet>();

            foreach (var dto in vetsDtos)
            {
                if (AttributeValidator.IsValid(dto) && phoneNumbersAvailable.All(x => x != dto.PhoneNumber))
                {
                    phoneNumbersAvailable.Add(dto.PhoneNumber);
                    Vet newVet = Mapper.Map <Vet>(dto);
                    vetsToBeAdded.Add(newVet);
                    sb.AppendLine($"Record {newVet.Name} successfully imported.");
                    continue;
                }
                sb.AppendLine(invalidEntryMessage);
            }

            context.Vets.AddRange(vetsToBeAdded);
            context.SaveChanges();
            return(sb.ToString().Trim());
        }
        public static string ImportVets(PetClinicContext context, string xmlString)
        {
            var serializer       = new XmlSerializer(typeof(VetDto[]), new XmlRootAttribute("Vets"));
            var deserializedVets = (VetDto[])serializer.Deserialize(new StringReader(xmlString));

            List <Vet> vets = new List <Vet>();

            var sb = new StringBuilder();

            foreach (var vetDto in deserializedVets)
            {
                if (!IsValid(vetDto) || vets.Any(v => v.PhoneNumber == vetDto.PhoneNumber))
                {
                    sb.AppendLine(ErrorMessage);
                    continue;
                }

                var vet = new Vet()
                {
                    Name        = vetDto.Name,
                    Profession  = vetDto.Profession,
                    Age         = vetDto.Age,
                    PhoneNumber = vetDto.PhoneNumber
                };

                vets.Add(vet);
                sb.AppendLine(string.Format(SuccessMessage, vetDto.Name));
            }

            context.Vets.AddRange(vets);
            context.SaveChanges();

            return(sb.ToString().Trim());
        }
예제 #10
0
        public void Validate(Service service, Vet optionalVet)
        {
            string errors = "";

            if (service.Name == "")
            {
                errors += "Invalid name!\n";
            }
            if (service.Price < 0)
            {
                errors += "Invalid price!\n";
            }
            if (service.Duration < 0)
            {
                errors += "Invalid duration!\n";
            }
            if (service.Medicine == "")
            {
                errors += "Invalid medicine!\n";
            }

            if (errors.Length > 0)
            {
                throw new ValidationException(errors);
            }
        }
 public IList <ConsultationProduct> ShowAll(Vet vet)
 {
     using (var context = new EFContext())
     {
         return(context.ConsultationProducts.Where(ce => ce.MedicalConsultation.VetId == vet.VetId).ToList <ConsultationProduct>());
     }
 }
        public static string ImportVets(PetClinicContext context, string xmlString)
        {
            StringBuilder sb = new StringBuilder();

            var validVets = new List <Vet>();

            var vets = XmlConverter.Deserializer <VetXmlInputModel>(xmlString, "Vets");

            foreach (var currentVet in vets)
            {
                if (!IsValid(currentVet) ||
                    validVets.Any(vv => vv.PhoneNumber == currentVet.PhoneNumber))
                {
                    sb.AppendLine(ErrorMessage);
                    continue;
                }

                var vetToAdd = new Vet
                {
                    Name        = currentVet.Name,
                    Profession  = currentVet.Profession,
                    Age         = currentVet.Age,
                    PhoneNumber = currentVet.PhoneNumber
                };

                validVets.Add(vetToAdd);
                sb.AppendLine(string.Format(SuccessMessage, vetToAdd.Name));
            }

            context.Vets.AddRange(validVets);
            context.SaveChanges();

            return(sb.ToString().Trim());
        }
        private void btnAlter_Click_1(object sender, EventArgs e)
        {
            if (txtId.Text.Equals(String.Empty))
            {
                MessageBox.Show("É preciso selecionar um endereço para altera-lo na base de dados.");
                return;
            }
            else if (allFullfilled())
            {
                var    vetId     = Convert.ToInt64(cbOwner.SelectedValue);
                Vet    adressVet = (Vet)vetService.GetById(vetId);
                Adress newAdress = new Adress(txtStreet.Text, txtDetails.Text, txtNeighborhood.Text, txtCity.Text, txtPostal.Text, Convert.ToInt32(txtNumber.Text))
                {
                    AdressId = Convert.ToInt64(txtId.Text),
                    VetId    = Convert.ToInt64(adressVet.VetId),
                    OwnerId  = null
                };

                adressService.AlterOwner(newAdress);

                resetForm();

                refreshDataGridView(adressVet);
            }
        }
        private void cbOwner_SelectedValueChanged(object sender, EventArgs e)
        {
            var value      = Convert.ToInt64(cbOwner.SelectedValue);
            Vet currentVet = vetService.GetById(value);

            refreshDataGridView(currentVet);
        }
예제 #15
0
        public static string ImportVets(PetClinicContext context, string xmlString)
        {
            StringBuilder sb = new StringBuilder();

            var serializer      = new XmlSerializer(typeof(VetDto[]), new XmlRootAttribute("Vets"));
            var deserializeVets = (VetDto[])serializer.Deserialize(new StringReader(xmlString));

            List <Vet> vets = new List <Vet>();

            foreach (var vetDto in deserializeVets)
            {
                bool isExistsVet = vets.Any(x => x.PhoneNumber == vetDto.PhoneNumber);
                if (!IsValid(vetDto) || isExistsVet)
                {
                    sb.AppendLine("Error: Invalid data.");
                    continue;
                }

                var vet = new Vet()
                {
                    Name        = vetDto.Name,
                    Profession  = vetDto.Profession,
                    Age         = vetDto.Age,
                    PhoneNumber = vetDto.PhoneNumber
                };

                vets.Add(vet);
                sb.AppendLine($"Record {vet.Name} successfully imported.");
            }
            context.Vets.AddRange(vets);
            context.SaveChanges();

            return(sb.ToString().TrimEnd());
        }
예제 #16
0
        private void AddNewVet_Click(object sender, EventArgs e)
        {
            Vet newVet = new Vet
            {
                Name        = textBoxVetName.Text,
                Surname     = textBoxVetSurname.Text,
                LicenceNo   = textBoxVetLicenceNo.Text,
                Email       = textBoxVetEmail.Text,
                PhoneNumber = textBoxVetPhoneNumber.Text
            };

            textBoxVetName.Text        = "";
            textBoxVetSurname.Text     = "";
            textBoxVetLicenceNo.Text   = "";
            textBoxVetEmail.Text       = "";
            textBoxVetPhoneNumber.Text = "";

            using (RepositoryContext db = new RepositoryContext("RepositoryContext"))
            {
                VetRepository vetRepo = new VetRepository(db);

                var vet = vetRepo.Add(newVet);
                vetRepo.SaveChanges();
            }


            GetData();
        }
 private void OpslaanBestand()
 {
     try
     {
         SaveFileDialog dlg = new SaveFileDialog();
         dlg.FileName   = "tekstbox";
         dlg.DefaultExt = ".box";
         dlg.Filter     = "TekstBox document |*.box";
         if (dlg.ShowDialog() == true)
         {
             using (StreamWriter bestand = new StreamWriter(dlg.FileName))
             {
                 bestand.WriteLine(Inhoud);
                 bestand.WriteLine(Vet.ToString());
                 bestand.WriteLine(Schuin.ToString());
             }
         }
     }
     catch (Exception ex)
     {
         {
             MessageBox.Show("Opslaan mislukt" + ex.Message);
         }
     }
 }
        public static string ImportVets(PetClinicContext context, string xmlString)
        {
            XmlSerializer serializer = new XmlSerializer(typeof(VetDTO[]), new XmlRootAttribute("Vets"));

            VetDTO[] deserializedXml = (VetDTO[])serializer.Deserialize(new StringReader(xmlString));

            List <Vet>    validVets = new List <Vet>();
            StringBuilder sb        = new StringBuilder();

            foreach (var vetDTO in deserializedXml)
            {
                bool vetExists = validVets.Any(v => v.PhoneNumber == vetDTO.PhoneNumber);

                if (!IsValid(vetDTO) || vetExists)
                {
                    sb.AppendLine(ERROR_MESSAGE);
                    continue;
                }

                Vet validVet = Mapper.Map <Vet>(vetDTO);
                validVets.Add(validVet);
                sb.AppendLine(string.Format(SUCCESS_MESSAGE_VETS, vetDTO.Name));
            }

            context.Vets.AddRange(validVets);
            context.SaveChanges();

            return(sb.ToString().Trim());
        }
예제 #19
0
        public IHttpActionResult PutVet(int id, Vet vet)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != vet.ID)
            {
                return(BadRequest());
            }

            db.Entry(vet).State = EntityState.Modified;

            try
            {
                db.SaveChanges();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!VetExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(StatusCode(HttpStatusCode.NoContent));
        }
예제 #20
0
 public static Vector2 Normalizar(Vector2 v)
 {
     return(new Vector2(
                v.x / Vet.Magnitude(v),
                v.y / Vet.Magnitude(v)
                ));
 }
        public static string ImportVets(PetClinicContext context, string xmlString)
        {
            XmlSerializer serializer = new XmlSerializer(typeof(VetDto[]), new XmlRootAttribute("Vets"));

            VetDto[] purchasesDto = (VetDto[])serializer.Deserialize(new StringReader(xmlString));

            StringBuilder sb      = new StringBuilder();
            IList <Vet>   allVets = new List <Vet>();

            foreach (VetDto dto in purchasesDto)
            {
                Vet currentVet = Mapper.Map <Vet>(dto);

                bool isValidVet       = IsValid(currentVet);
                bool phoneNumberExist = allVets.Any(v => v.PhoneNumber == currentVet.PhoneNumber);

                if (!isValidVet || phoneNumberExist)
                {
                    sb.AppendLine(FailureMessage);
                    continue;
                }

                allVets.Add(currentVet);
                sb.AppendLine(string.Format(SuccessVetAdd, currentVet.Name));
            }

            context.Vets.AddRange(allVets);
            context.SaveChanges();

            string result = sb.ToString();

            return(result);
        }
예제 #22
0
        public void AlterVet(Adress adress)
        {
            //para não dar erro no entity (tentando adicionar duas vezes a fk)
            Vet adressVet = adress.Vet;

            if (adress.VetId != null)
            {
                adress.Vet = null;
            }

            //altera
            //try
            {
                using (var context = new EFContext())
                {
                    context.Entry(adress).State = EntityState.Modified;

                    context.SaveChanges();
                }
            }
            //catch
            {
                //throw new Exception("Não foi possível alterar a base de dados.");
            }

            adress.Vet = adressVet;
        }
예제 #23
0
        public static void Polymorphism()
        {
            Animal animal = new Animal();
            Bird   bird   = new Bird();

            Dog spot   = new Dog();
            Cat fluffy = new Cat();

            animal = spot;

            animal.Speak();          //Woof!

            (animal as Dog).Speak(); //Woof!


            /*
             *          dog = animal;
             *
             *          dog = animal as Dog;
             */


            Vet v = new Vet();

            v.Heal(spot);
            v.Heal(bird);
            v.Heal(animal);
        }
예제 #24
0
 public void Delete(Vet vet)
 {
     using (var context = new EFContext())
     {
         context.Vets.Remove(vet);
         context.SaveChanges();
     }
 }
예제 #25
0
        public ActionResult AddVet(int patientId, int vetId)
        {
            Patient patient = Patient.Find(patientId);
            Vet     vet     = Vet.Find(vetId);

            patient.AddVet(vet);
            return(RedirectToAction("Show", new { id = patientId }));
        }
예제 #26
0
 public IList <Adress> ShowAll(Vet vet)
 {
     if (vet == null)
     {
         return(null);
     }
     return(adressDAL.ShowAll(vet));
 }
예제 #27
0
        public ActionResult <Vet> Post([FromBody] Vet vet)
        {
            var service = new VetService();

            service.Store(vet);

            return(vet);
        }
예제 #28
0
        public void GetAll_VetsEmptyAtFirst_List()
        {
            //Arrange, Act
            int result = Vet.GetAll().Count;

            //Assert
            Assert.AreEqual(0, result);
        }
예제 #29
0
        public ActionResult DeleteConfirmed(int id)
        {
            Vet vet = db.Vets.Find(id);

            db.Vets.Remove(vet);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
예제 #30
0
        public IActionResult Update(Vet vet, int id)
        {
            var vetToUpdate = dbContext.Vets.FirstOrDefault(c => c.ID == id);

            vetToUpdate.Name = vet.Name;
            dbContext.SaveChanges();
            return(RedirectToAction("Index"));
        }
예제 #31
0
 public VetsModel(Vet vet, double distanceFromUser)
     : base()
 {
     this.Zip = vet.Zip;
     this.Name = vet.Name;
     this.Address = vet.Address;
     this.Phone = vet.Phone;
     this.State = vet.State;
     this.Latitude = vet.Latitude;
     this.Longitude = vet.Longitude;
     this.DistanceFromUser = distanceFromUser;
 }