Esempio n. 1
0
        public async Task <ActionResult> CreateBloodDonor([FromBody] BloodDonorModel bloodDonor)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var instance = BloodDonor.Create(bloodDonor.Type, bloodDonor.PatientId);

            try
            {
                var newBloodDonor = await _repository.AddAsync(instance);

                if (newBloodDonor == null)
                {
                    return(BadRequest(new ApiResponse {
                        Status = false
                    }));
                }
                return(CreatedAtRoute("GetBloodDonorRoute", new { id = newBloodDonor.BloodDonorId },
                                      new ApiResponse {
                    Status = true, BloodDonor = newBloodDonor
                }));
            }
            catch
            {
                return(BadRequest(new ApiResponse {
                    Status = false
                }));
            }
        }
        public void Given_BloodDonorRepository_When_AddingAnBloodDonor_Then_TheBloodDonorShouldBeProperlySaved()
        {
            RunOnDatabase(async ctx => {
                //Arrange
                var repository = new BloodDonorRepository(ctx);
                var bloodDonor = BloodDonor.Create("AB4", null);

                //Act
                await repository.AddAsync(bloodDonor);

                //Assert
                Assert.AreEqual(repository.GetAllAsync().Result.Count, 1);
            });
        }
        public void Given_BloodDonorRepository_When_ReturningAllBloodDonors_Then_AllBloodDonorsShouldBeProperlyReturned()
        {
            RunOnDatabase(async ctx => {
                //Arrange
                var repository = new BloodDonorRepository(ctx);
                var bloodDonor = BloodDonor.Create("AB4", null);
                await repository.AddAsync(bloodDonor);

                //Act
                var count = repository.GetAllAsync().Result.Count;

                //Assert
                Assert.AreEqual(count, 1);
            });
        }
        public void Given_BloodDonorRepository_When_ReturningAnBloodDonor_Then_TheBloodDonorShouldBeProperlyReturned()
        {
            RunOnDatabase(async ctx => {
                //Arrange
                var repository = new BloodDonorRepository(ctx);
                var bloodDonor = BloodDonor.Create("AB4", null);
                await repository.AddAsync(bloodDonor);

                //Act
                var extractedBloodDonor = repository.GetByIdAsync(bloodDonor.BloodDonorId);

                //Assert
                Assert.AreEqual(bloodDonor, extractedBloodDonor);
            });
        }
Esempio n. 5
0
        public void Given_PatientRepository_When_AddAsyncingAPatient_Then_ThePatientShouldBeProperlySaved()
        {
            RunOnDatabase(async ctx => {
                //Arrange
                var repository        = new PatientRepository(ctx);
                BloodDonor bloodDonor = BloodDonor.Create("A2", null);
                Patient patient       = Patient.Create("Roland", "Iordache", "*****@*****.**", "asfdsdssd", "Iasi", new DateTime(1996, 02, 10), "0746524459", bloodDonor);

                //Act
                await repository.AddAsync(patient);

                //Assert
                Assert.AreEqual(repository.GetAllAsync().Result.Count, 1);
            });
        }
Esempio n. 6
0
        public void Given_PatientRepository_When_ReturningAPatient_Then_ThePatientShouldBeProperlyReturned()
        {
            RunOnDatabase(async ctx => {
                //Arrange
                var repository        = new PatientRepository(ctx);
                BloodDonor bloodDonor = BloodDonor.Create("A2", null);
                var patient           = Patient.Create("Roland", "Iordache", "*****@*****.**", "asfdsdssd", "Iasi", new DateTime(1996, 02, 10), "0746524459", bloodDonor);
                await repository.AddAsync(patient);

                //Act
                var extractedPatient = await repository.GetByIdAsync(patient.PatientId);

                //Assert
                Assert.AreEqual(patient, extractedPatient);
            });
        }
        public void Given_BloodDonorRepository_When_ReturningAnBloodDonor_Then_TheBloodDonorShouldBeProperlyReturned()
        {
            RunOnDatabase(async ctx => {
                //Arrange
                var repository = new BloodDonorRepository(ctx);
                var patient    = Patient.Create("1234", "Roland", "Iordache", "*****@*****.**", "asfdsdssd", "Iasi", "Romania", new DateTime(1996, 02, 10), "0746524459", null);
                var bloodDonor = BloodDonor.Create("AB4", patient.PatientId, new DateTime());
                await repository.AddAsync(bloodDonor);

                //Act
                var extractedBloodDonor = repository.GetByIdAsync(bloodDonor.BloodDonorId);

                //Assert
                Assert.AreEqual(bloodDonor, extractedBloodDonor);
            });
        }
        public void Given_BloodDonorRepository_When_AddingAnBloodDonor_Then_TheBloodDonorShouldBeProperlySaved()
        {
            RunOnDatabase(async ctx => {
                //Arrange
                var repository = new BloodDonorRepository(ctx);
                var patient    = Patient.Create("1234", "Roland", "Iordache", "*****@*****.**", "asfdsdssd", "Iasi", "Romania", new DateTime(1996, 02, 10), "0746524459", null);
                var bloodDonor = BloodDonor.Create("AB4", patient.PatientId, new DateTime());

                //Act
                await repository.AddAsync(bloodDonor);

                //Assert
                string[] includes = { };
                Assert.AreEqual(repository.GetAllAsync(includes).Result.Count, 1);
            });
        }
        public void Given_BloodDonorRepository_When_EditingAnBloodDonor_Then_TheBloodDonorShouldBeProperlyEdited()
        {
            RunOnDatabase(async ctx => {
                //Arrange
                var repository = new BloodDonorRepository(ctx);
                var bloodDonor = BloodDonor.Create("AB4", null);
                await repository.AddAsync(bloodDonor);
                var currentType = bloodDonor.Type;
                bloodDonor.Update("A4", null);
                var newCurrentType = bloodDonor.Type;

                //Act
                await repository.UpdateAsync(bloodDonor);

                //Assert
                Assert.AreNotEqual(currentType, newCurrentType);
            });
        }
        public void Given_PatientRepository_When_ReturningAllPatients_Then_AllPatientsShouldBeProperlyReturned()
        {
            RunOnDatabase(async ctx => {
                //Arrange
                var repository        = new PatientRepository(ctx);
                var patient           = Patient.Create("1234", "Roland", "Iordache", "*****@*****.**", "asfdsdssd", "Iasi", "Romania", new DateTime(1996, 02, 10), "0746524459", null);
                BloodDonor bloodDonor = BloodDonor.Create("A2", patient.PatientId, new DateTime());
                await repository.AddAsync(patient);

                //Act
                string[] includes = { };

                var count = repository.GetAllAsync(includes).Result.Count;

                //Assert
                Assert.AreEqual(count, 1);
            });
        }
        public void Given_BloodDonorRepository_When_EditingAnBloodDonor_Then_TheBloodDonorShouldBeProperlyEdited()
        {
            RunOnDatabase(async ctx => {
                //Arrange
                var repository = new BloodDonorRepository(ctx);
                var patient    = Patient.Create("1234", "Roland", "Iordache", "*****@*****.**", "asfdsdssd", "Iasi", "Romania", new DateTime(1996, 02, 10), "0746524459", null);
                var bloodDonor = BloodDonor.Create("AB4", patient.PatientId, new DateTime());
                await repository.AddAsync(bloodDonor);
                var currentType = bloodDonor.Type;
                bloodDonor.Update("A4", patient.PatientId, new DateTime(), false, false, null);
                var newCurrentType = bloodDonor.Type;

                //Act
                await repository.UpdateAsync(bloodDonor);

                //Assert
                Assert.AreNotEqual(currentType, newCurrentType);
            });
        }
Esempio n. 12
0
        public void Given_PatientRepository_When_EditingAPatient_Then_ThePatientShouldBeProperlyEdited()
        {
            RunOnDatabase(async ctx => {
                //Arrange
                var repository        = new PatientRepository(ctx);
                BloodDonor bloodDonor = BloodDonor.Create("A2", null);
                var patient           = Patient.Create("Roland", "Iordache", "*****@*****.**", "asfdsdssd", "Iasi", new DateTime(1996, 02, 10), "0746524459", bloodDonor);
                var firstName         = patient.FirstName;

                await repository.AddAsync(patient);

                patient.Update("Daniel", "Iordache", "*****@*****.**", "asfdsdssd", "Iasi", new DateTime(1996, 02, 10), "0746524459", bloodDonor, null, null, null);
                var newFirstName = patient.FirstName;

                //Act
                await repository.UpdateAsync(patient);

                //Assert
                Assert.AreNotEqual(firstName, newFirstName);
            });
        }
        public async Task <ActionResult> CreateBloodDonor([FromBody] BloodDonorModel bloodDonor, [FromHeader(Name = "Authorization")] string value)
        {
            var token    = new JwtSecurityTokenHandler().ReadJwtToken(value);
            var issuer   = token.Claims.First(claim => claim.Type == "iss").Value;
            var audience = token.Claims.First(claim => claim.Type == "aud").Value;

            if (issuer != "MyIssuer" || audience != "MyAudience")
            {
                return(Unauthorized());
            }
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var instance = BloodDonor.Create(bloodDonor.Type, bloodDonor.PatientId, bloodDonor.ApplyDate);

            try
            {
                var newBloodDonor = await _repository.AddAsync(instance);

                if (newBloodDonor == null)
                {
                    return(BadRequest(new ApiResponse {
                        Status = false
                    }));
                }
                return(CreatedAtRoute("GetBloodDonorRoute", new { id = newBloodDonor.BloodDonorId },
                                      new ApiResponse {
                    Status = true, BloodDonor = newBloodDonor
                }));
            }
            catch
            {
                return(BadRequest(new ApiResponse {
                    Status = false
                }));
            }
        }