Esempio n. 1
0
        public async Task CreateDonorThrowsExceptionIfNoFullDonorDataTest()
        {
            var dbContext = ApplicationDbContextInMemoryFactory.InitializeContext();

            var donorDataRepository = new EfDeletableEntityRepository <DonorData>(dbContext);
            var usersRepository     = new EfDeletableEntityRepository <ApplicationUser>(dbContext);
            var rolesRepository     = new EfDeletableEntityRepository <ApplicationRole>(dbContext);
            var userManager         = this.GetUserManagerMock();

            var service = new DonorsService(donorDataRepository, usersRepository, rolesRepository);

            var input = new DonorDataProfileInputModel
            {
                Id                   = "123",
                UserName             = "******",
                FirstName            = null,
                MiddleName           = "MiddleName",
                LastName             = null,
                Age                  = 30,
                PhoneNumber          = "123456789",
                BloodGroup           = (BloodGroup)1,
                RhesusFactor         = (RhesusFactor)1,
                Country              = "Bulgaria",
                City                 = "Sofia",
                AdressDescription    = "Sofia",
                DonorAveilableStatus = EmergencyStatus.AsSoonAsPossible,
                ExaminationDate      = DateTime.UtcNow,
                DiseaseName          = "None",
            };

            await Assert.ThrowsAsync <ArgumentException>(() => service.CreateDonorProfileAsync(input, this.SeedInputs()[0].Id));
        }
        private void donorNameBox_TextChanged(object sender, EventArgs e)
        {
            string        name          = donorNameBox.Text;
            DonorsService donorsService = new DonorsService();

            dataGridView1.DataSource = donorsService.GetByName(name);
        }
        private void searchBox_TextChanged(object sender, EventArgs e)
        {
            string        filteredItem = (string)filterBox.SelectedItem;
            string        query        = searchBox.Text;
            DonorsService ds           = new DonorsService();

            if (filteredItem == "Name")
            {
                dataGridView1.DataSource = ds.GetByName(query);
            }
            else if (filteredItem == "Email")
            {
                dataGridView1.DataSource = ds.getDonorListByEmail(query);
            }
            else if (filteredItem == "Phone")
            {
                dataGridView1.DataSource = ds.getDonorListByPhone(query);
            }
            else if (filteredItem == "Blood Group")
            {
                dataGridView1.DataSource = ds.getDonorListByBloodGroup(query);
            }
            else
            {
                MessageBox.Show("Please select a filter to search for");
            }
        }
        public async Task CreateDonationThrowNoHospitalDataerrorTest()
        {
            var dbContext = ApplicationDbContextInMemoryFactory.InitializeContext();

            var donationEventRepository = new EfDeletableEntityRepository <DonationEvent>(dbContext);
            var bloodBankRepository     = new EfDeletableEntityRepository <BloodBank>(dbContext);
            var bagRepository           = new EfDeletableEntityRepository <BloodBag>(dbContext);
            var hospitalDataRepository  = new EfDeletableEntityRepository <HospitalData>(dbContext);
            var donorDataRepository     = new EfDeletableEntityRepository <DonorData>(dbContext);
            var requestRepository       = new EfDeletableEntityRepository <Request>(dbContext);
            var usersRepository         = new EfDeletableEntityRepository <ApplicationUser>(dbContext);
            var rolesRepository         = new EfDeletableEntityRepository <ApplicationRole>(dbContext);

            var service = new DonationEventsService(
                donationEventRepository,
                bloodBankRepository,
                bagRepository,
                hospitalDataRepository,
                donorDataRepository,
                requestRepository);

            await SeedDataAsync(dbContext);

            var serviceDonor = new DonorsService(donorDataRepository, usersRepository, rolesRepository);
            var user         = usersRepository.All().FirstOrDefault();
            await serviceDonor.CreateDonorProfileAsync(this.SeedInputs(), user.Id);

            var donorData = donorDataRepository.All().FirstOrDefault(dd => dd.ApplicationUserId == user.Id);

            await Assert.ThrowsAsync <ArgumentException>(() => service.CreateDonation("111", donorData.ApplicationUserId, 500, 0, BloodGroup.A, RhesusFactor.Negative));
        }
        public void LoadData()
        {
            dataGridView1.ReadOnly = false;
            DonorsService donorsService = new DonorsService();

            dataGridView1.DataSource = donorsService.GetAll();
        }
Esempio n. 6
0
        private void DonorRegister_Click(object sender, EventArgs e)
        {
            DonorsService donorsService = new DonorsService();
            Donors        donors        = new Donors();

            donors.Name       = DonorName.Text;
            donors.Address    = DonorAddress.Text;
            donors.Age        = Convert.ToInt32(DonorAge.Text);
            donors.Gender     = (string)DonorGender.SelectedItem;
            donors.Phone      = DonorPhone.Text;
            donors.Email      = DonorEmail.Text;
            donors.BloodGroup = (string)DonorBloodGroup.SelectedItem;
            donors.Weight     = Convert.ToInt32(DonorWeight.Text);


            if (donorsService.SendDonorEmail(donors.Email))
            {
                if (donorsService.Add(donors) > 0)
                {
                    MessageBox.Show("Record Added!");
                }
            }
            else
            {
                MessageBox.Show("Error!");
            }
        }
        private void showDonors_Click(object sender, EventArgs e)
        {
            DonorsService ds = new DonorsService();

            Console.WriteLine(firstDate);
            Console.WriteLine(secondDate);
            dataGridView1.DataSource = ds.getDonorListByDate(firstDate, secondDate);
        }
        public void LoadData()
        {
            DonorsService donorsService = new DonorsService();

            dataGridView1.DataSource = donorsService.GetAll();

            EmployeeService employeeService = new EmployeeService();

            dataGridView2.DataSource = employeeService.GetAll();
        }
        private void statusBox_SelectedIndexChanged(object sender, EventArgs e)
        {
            donors.Status = (string)statusBox.SelectedItem;
            DonorsService donorsService = new DonorsService();

            if (donorsService.ChangeStatus(donors) > 0)
            {
                LoadData();
            }
        }
        private void DonorDelete_Click(object sender, EventArgs e)
        {
            DonorsService ds = new DonorsService();

            if (ds.Remove(idDonor) > 0)
            {
                MessageBox.Show("Record Deleted Successfully!!");
                LoadData();
            }
        }
Esempio n. 11
0
        public async Task CreateDonorThrowsExceptionUserShouldBeRegisteredFirstTest()
        {
            var dbContext = ApplicationDbContextInMemoryFactory.InitializeContext();

            var donorDataRepository = new EfDeletableEntityRepository <DonorData>(dbContext);
            var usersRepository     = new EfDeletableEntityRepository <ApplicationUser>(dbContext);
            var rolesRepository     = new EfDeletableEntityRepository <ApplicationRole>(dbContext);
            var userManager         = this.GetUserManagerMock();

            var service = new DonorsService(donorDataRepository, usersRepository, rolesRepository);

            await Assert.ThrowsAsync <ArgumentException>(() => service.CreateDonorProfileAsync(this.SeedInputs()[0], this.SeedInputs()[0].Id));
        }
        private void DonorRegister_Click(object sender, EventArgs e)
        {
            DonorsService donorsService = new DonorsService();
            Donors        donors        = new Donors();
            Blood         blood         = new Blood();

            int count = Convert.ToInt32(donorsService.RowCount());

            donors.Id         = count += 101;
            donors.Name       = DonorName.Text;
            donors.Address    = DonorAddress.Text;
            donors.Age        = Convert.ToInt32(DonorAge.Text);
            donors.Gender     = (string)DonorGender.SelectedItem;
            donors.Phone      = DonorPhone.Text;
            donors.Email      = DonorEmail.Text;
            donors.BloodGroup = (string)DonorBloodGroup.SelectedItem;
            donors.Weight     = Convert.ToInt32(DonorWeight.Text);

            DateTime dateTime = DateTime.UtcNow.Date;

            donors.Date = dateTime.ToString("yyyy/MM/dd");

            BloodService bloodService = new BloodService();

            string bloodGroup = (string)DonorBloodGroup.SelectedItem;
            int    quantity   = bloodService.GetCurrentQuantity(bloodGroup);

            quantity += 1;
            bloodService.Add(bloodGroup, quantity);


            if (donorsService.SendDonorEmail(donors.Email) && DonorPhone.Text.Length == 11)
            {
                if (donorsService.Add(donors) > 0)
                {
                    MessageBox.Show("Record Added!");
                }
            }


            else
            {
                MessageBox.Show("Error! Please Check your Mail or Provide a Valid Phone number");
            }
        }
Esempio n. 13
0
        public async Task CreateDonorUserIsNotNullTest()
        {
            var dbContext = ApplicationDbContextInMemoryFactory.InitializeContext();

            var donorDataRepository = new EfDeletableEntityRepository <DonorData>(dbContext);
            var usersRepository     = new EfDeletableEntityRepository <ApplicationUser>(dbContext);
            var rolesRepository     = new EfDeletableEntityRepository <ApplicationRole>(dbContext);
            var userManager         = this.GetUserManagerMock();

            var service = new DonorsService(donorDataRepository, usersRepository, rolesRepository);

            await SeedDataAsync(dbContext);

            await service.CreateDonorProfileAsync(this.SeedInputs()[0], this.SeedInputs()[0].Id);

            var user = usersRepository.All().Where(u => u.UserName == "User1").FirstOrDefault();

            Assert.NotNull(user);
        }
Esempio n. 14
0
        public async Task GetAllDonorsTest()
        {
            var dbContext = ApplicationDbContextInMemoryFactory.InitializeContext();

            var donorDataRepository = new EfDeletableEntityRepository <DonorData>(dbContext);
            var usersRepository     = new EfDeletableEntityRepository <ApplicationUser>(dbContext);
            var rolesRepository     = new EfDeletableEntityRepository <ApplicationRole>(dbContext);
            var userManager         = this.GetUserManagerMock();

            var service = new DonorsService(donorDataRepository, usersRepository, rolesRepository);

            await SeedDataAsync(dbContext);

            await service.CreateDonorProfileAsync(this.SeedInputs()[0], this.SeedInputs()[0].Id);

            var donors = donorDataRepository.All().Count();

            Assert.Equal(1, donors);
        }
Esempio n. 15
0
        private void updateButton_Click(object sender, EventArgs e)
        {
            d.Name       = nameBox.Text;
            d.Address    = addressBox.Text;
            d.Gender     = (string)genderBox.SelectedItem;
            d.Phone      = phoneBox.Text;
            d.Email      = emailBox.Text;
            d.Weight     = Convert.ToInt32(weightBox.Text);
            d.BloodGroup = (string)bloodgroupBox.SelectedItem;


            DonorsService ds = new DonorsService();

            if (ds.Edit(d) > 0)
            {
                MessageBox.Show("Record Updated Successfully!");
                AdminPanel ap = new AdminPanel();
                ap.LoadData();
            }
        }
Esempio n. 16
0
        public async Task CreateDonorIsInCorrectRoleTest()
        {
            var dbContext = ApplicationDbContextInMemoryFactory.InitializeContext();

            var donorDataRepository = new EfDeletableEntityRepository <DonorData>(dbContext);
            var usersRepository     = new EfDeletableEntityRepository <ApplicationUser>(dbContext);
            var rolesRepository     = new EfDeletableEntityRepository <ApplicationRole>(dbContext);
            var userManager         = this.GetUserManagerMock();

            var service = new DonorsService(donorDataRepository, usersRepository, rolesRepository);

            await SeedDataAsync(dbContext);

            await service.CreateDonorProfileAsync(this.SeedInputs()[0], this.SeedInputs()[0].Id);

            var user = usersRepository.All().Where(u => u.UserName == "User1").FirstOrDefault();

            var isInRole = await userManager.Object.IsInRoleAsync(user, GlobalConstants.DonorRoleName);

            Assert.True(isInRole);
        }
        private void resetButton_Click(object sender, EventArgs e)
        {
            DonorsService ds = new DonorsService();
            //MessageBox.Show(donors.Date);

            DateTime now = DateTime.UtcNow.Date;

            donors.Date = now.ToString("yyyy/MM/dd");

            TimeSpan difference = now - donorDate;

            if (difference.TotalDays >= 90)
            {
                if (ds.resetDonorStatus(donors.Id) > 0)
                {
                    ds.ResetDate(donors.Id, donors.Date);
                    LoadData();
                }
            }
            else
            {
                MessageBox.Show("Sorry, you at least need to wait for 90 days before you can donate blood again!");
            }
        }
Esempio n. 18
0
        private void updateButton_Click(object sender, EventArgs e)
        {
            d.Name       = nameBox.Text;
            d.Address    = addressBox.Text;
            d.Gender     = genderBox.Text;
            d.Phone      = phoneBox.Text;
            d.Email      = emailBox.Text;
            d.Weight     = Convert.ToInt32(weightBox.Text);
            d.BloodGroup = bloodgroupBox.Text;


            DonorsService ds = new DonorsService();

            if (ds.Edit(d) > 0 && phoneBox.Text.Length == 11)
            {
                MessageBox.Show("Record Updated Successfully!");
                AdminPanel ap = new AdminPanel();
                ap.LoadData();
            }
            else
            {
                MessageBox.Show("Error Please provide a valid phone number");
            }
        }
Esempio n. 19
0
        private void PathologistPanel_Load(object sender, EventArgs e)
        {
            DonorsService donorsService = new DonorsService();

            dataGridView1.DataSource = donorsService.GetAll();
        }