예제 #1
0
        public void Update_CreatedUpdateAndRead1Record_UpdatedValues()
        {
            //Assemble
            ProgramModel programModel = new ProgramModel();

            programModel.programTypeId    = programTypeId;
            programModel.programCostId    = programCostId;
            programModel.dogSpacesMaximum = 10;
            programModel.noOfClasses      = 6;
            ProgramTable programTable = new ProgramTable();
            int          programID    = programTable.create(programModel);

            programModel.id               = programID;
            programModel.programTypeId    = programTypeId;
            programModel.programCostId    = programCostId;
            programModel.dogSpacesMaximum = 12;
            programModel.noOfClasses      = 7;

            //Act
            programTable.update(programModel);
            ProgramModel actual = programTable.read(programID);

            //Assert
            Assert.AreEqual(programModel.programTypeId, actual.programTypeId);
            Assert.AreEqual(programModel.programCostId, actual.programCostId);
            Assert.AreEqual(programModel.dogSpacesMaximum, actual.dogSpacesMaximum);
            Assert.AreEqual(programModel.noOfClasses, actual.noOfClasses);
        }
예제 #2
0
        public void ReadAll_Create3Records_CountIs3()
        {
            //Assemble
            ProgramModel programModel1 = new ProgramModel();

            programModel1.programVarietyId = programVarietyId;


            ProgramModel programModel2 = new ProgramModel();

            programModel2.programVarietyId = programVarietyId;


            ProgramModel programModel3 = new ProgramModel();

            programModel3.programVarietyId = programVarietyId;


            ProgramTable programTable = new ProgramTable();
            int          expected     = 3;

            //Act
            int programID1             = programTable.create(programModel1);
            int programID2             = programTable.create(programModel2);
            int programID3             = programTable.create(programModel3);
            List <ProgramModel> actual = programTable.readAll();

            //Assert
            Assert.AreEqual(expected, actual.Count);
        }
예제 #3
0
        private void RefreshList()
        {
            //clear all the items from the ListView
            lsvProgram.Items.Clear(); // make sure it is not just lvXXX.Clear()

            //read all the records from the table
            List <ProgramModel> programs = new ProgramTable().readAll();

            //loop through all the records
            foreach (var program in programs)
            {
                var programVarietyIndex = new ForeignKeyHelper().findIndexOfProgramVarietyID(programVarietyList, program.programVarietyId);
                var programVarietyName  = programVarietyList[programVarietyIndex].name;

                //create an array that will hold all the fields in a row
                var row = new string[] { program.id.ToString(), program.name, programVarietyName };
                var lvi = new ListViewItem(row);

                //Save the model in the tag property so we can use it if row is selected
                lvi.Tag = program;

                //add new row to the ListView
                lsvProgram.Items.Add(lvi);
            }
            lsvProgram.AutoResizeColumns(ColumnHeaderAutoResizeStyle.HeaderSize);
        }
예제 #4
0
        public void Setup()
        {
            new DataStoreTableHelper().clearAllTables();

            ProgramVarietyModel programeVarietyModel = new ProgramVarietyModel();

            programeVarietyModel.depositAmount = 20.0;
            programeVarietyModel.sessionCost   = 20.0;
            programeVarietyModel.fullPaymentPercentageDiscount = 20;
            programeVarietyModel.name             = "Regular";
            programeVarietyModel.dogSpacesMaximum = 50;
            programeVarietyModel.noOfClasses      = 50;

            ProgramVarietyTable programVarietyTable = new ProgramVarietyTable();

            programeCostId = programVarietyTable.create(programeVarietyModel);

            ProgramModel programModel = new ProgramModel();

            programModel.programVarietyId = programeCostId;

            ProgramTable programTable = new ProgramTable();

            programId = programTable.create(programModel);

            StaffModel staffModel = new StaffModel();

            staffModel.name = "Bob";

            StaffTable staffTable = new StaffTable();

            staffId = staffTable.create(staffModel);
        }
예제 #5
0
        public void Setup()
        {
            new DataStoreTableHelper().clearAllTables();

            ClientModel clientModel = new ClientModel();

            clientModel.name  = "Bob";
            clientModel.phone = "1234567890";
            clientModel.email = "*****@*****.**";

            ClientTable clientTable = new ClientTable();

            clientId = clientTable.create(clientModel);

            DogModel dogModel = new DogModel();

            dogModel.clientID = clientId;
            dogModel.name     = "Dog";
            dogModel.age      = 6;
            dogModel.breed    = "Terrier";
            dogModel.experienceOrQualification = false;

            DogTable dogTable = new DogTable();

            dogId = dogTable.create(dogModel);

            ProgramTypeModel programTypeModel = new ProgramTypeModel();

            programTypeModel.description = "Regular";

            ProgramTypeTable programTypeTable = new ProgramTypeTable();

            programTypeId = programTypeTable.create(programTypeModel);

            ProgramCostModel programeCostModel = new ProgramCostModel();

            programeCostModel.depositAmount = 20.0;
            programeCostModel.sessionCost   = 20.0;
            programeCostModel.fullPaymentPercentageDiscount = 20;

            ProgramCostTable programCostTable = new ProgramCostTable();

            programeCostId = programCostTable.create(programeCostModel);

            ProgramModel programModel = new ProgramModel();

            programModel.programTypeId    = programTypeId;
            programModel.programCostId    = programeCostId;
            programModel.dogSpacesMaximum = 50;
            programModel.noOfClasses      = 50;

            ProgramTable programTable = new ProgramTable();

            programId = programTable.create(programModel);
        }
예제 #6
0
        public void Count_AllRecordsDeleted_0()
        {
            //Assemble
            int          expected     = 0;
            ProgramTable programTable = new ProgramTable();

            //Act
            int actual = programTable.count();

            //Assert
            Assert.AreEqual(expected, actual);
        }
예제 #7
0
        public void Delete_NonExistantId_0()
        {
            //Assemble
            ProgramTable programTable = new ProgramTable();
            int          expected     = 0;

            //Act
            programTable.delete(0);
            int actual = programTable.count();

            //Assert
            Assert.AreEqual(expected, actual);
        }
예제 #8
0
        public void ReadAll_Create3Records_3DifferentRecords()
        {
            //Assemble
            ProgramModel programModel1 = new ProgramModel();

            programModel1.programTypeId    = programTypeId;
            programModel1.programCostId    = programCostId;
            programModel1.dogSpacesMaximum = 10;
            programModel1.noOfClasses      = 6;

            ProgramModel programModel2 = new ProgramModel();

            programModel2.programTypeId    = programTypeId;
            programModel2.programCostId    = programCostId;
            programModel2.dogSpacesMaximum = 10;
            programModel2.noOfClasses      = 6;

            ProgramModel programModel3 = new ProgramModel();

            programModel3.programTypeId    = programTypeId;
            programModel3.programCostId    = programCostId;
            programModel3.dogSpacesMaximum = 10;
            programModel3.noOfClasses      = 6;

            ProgramTable programTable = new ProgramTable();

            //Act
            int programID1             = programTable.create(programModel1);
            int programID2             = programTable.create(programModel2);
            int programID3             = programTable.create(programModel3);
            List <ProgramModel> actual = programTable.readAll();

            //Assert
            Assert.AreEqual(programID1, actual[0].id);
            Assert.AreEqual(programModel1.programTypeId, actual[0].programTypeId);
            Assert.AreEqual(programModel1.programCostId, actual[0].programCostId);
            Assert.AreEqual(programModel1.dogSpacesMaximum, actual[0].dogSpacesMaximum);
            Assert.AreEqual(programModel1.noOfClasses, actual[0].noOfClasses);

            Assert.AreEqual(programID2, actual[1].id);
            Assert.AreEqual(programModel2.programTypeId, actual[1].programTypeId);
            Assert.AreEqual(programModel2.programCostId, actual[1].programCostId);
            Assert.AreEqual(programModel2.dogSpacesMaximum, actual[1].dogSpacesMaximum);
            Assert.AreEqual(programModel2.noOfClasses, actual[1].noOfClasses);

            Assert.AreEqual(programID3, actual[2].id);
            Assert.AreEqual(programModel3.programTypeId, actual[2].programTypeId);
            Assert.AreEqual(programModel3.programCostId, actual[2].programCostId);
            Assert.AreEqual(programModel3.dogSpacesMaximum, actual[2].dogSpacesMaximum);
            Assert.AreEqual(programModel3.noOfClasses, actual[2].noOfClasses);
        }
예제 #9
0
        public void Read_CreatedAndRead1Record_CorrectValues()
        {
            //Assemble
            ProgramModel programModel = new ProgramModel();

            programModel.programVarietyId = programVarietyId;
            ProgramTable programTable = new ProgramTable();

            //Act
            int          programID = programTable.create(programModel);
            ProgramModel actual    = programTable.read(programID);

            //Assert
            Assert.AreEqual(programModel.programVarietyId, actual.programVarietyId);
        }
예제 #10
0
        public void Create_ValidData_ProgramIDReturned()
        {
            //Assemble
            ProgramModel programModel = new ProgramModel();

            programModel.programVarietyId = programVarietyId;

            //If created will be greater than 0, but we don't know exactly what it will be because deleting all records doesnt set the ID counter back to 0
            int          notCreated   = 0;
            ProgramTable programTable = new ProgramTable();

            //Act
            int actual = programTable.create(programModel);

            //Assert
            Assert.AreNotEqual(notCreated, actual);
        }
예제 #11
0
        public void Count_Created1Record_1()
        {
            //Assemble
            ProgramModel programModel = new ProgramModel();

            programModel.programVarietyId = programVarietyId;

            int          expected     = 1;
            ProgramTable programTable = new ProgramTable();

            //Act
            int programID = programTable.create(programModel);
            int actual    = programTable.count();

            //Assert
            Assert.AreEqual(expected, actual);
        }
예제 #12
0
        public void Delete_CreatedDeleteAndCount1Record_0()
        {
            //Assemble
            ProgramModel programModel = new ProgramModel();

            programModel.programVarietyId = programVarietyId;

            int          expected     = 0;
            ProgramTable programTable = new ProgramTable();
            int          programID    = programTable.create(programModel);

            //Act
            programTable.delete(programID);
            int actual = programTable.count();

            //Assert
            Assert.AreEqual(expected, actual);
        }
예제 #13
0
        private void populateProgram()
        {
            ProgramTable programTable = new ProgramTable();

            programModelRegular1                  = new ProgramModel();
            programModelRegular1.name             = "Morning Madness (Regular)";
            programModelRegular1.programVarietyId = programVarietyIdRegular;
            programIdRegular1 = programTable.create(programModelRegular1);

            programModelRegular2                  = new ProgramModel();
            programModelRegular2.name             = "Afternoon Adventures (Regular)";
            programModelRegular2.programVarietyId = programVarietyIdRegular;
            programIdRegular2 = programTable.create(programModelRegular2);

            programModelAdvanced1                  = new ProgramModel();
            programModelAdvanced1.name             = "Super Skills (Advanced)";
            programModelAdvanced1.programVarietyId = programVarietyIdAdvanced;
            programIdAdvanced1 = programTable.create(programModelAdvanced1);
        }
예제 #14
0
        public void Count_Created1Record_1()
        {
            //Assemble
            ProgramModel programModel = new ProgramModel();

            programModel.programTypeId    = programTypeId;
            programModel.programCostId    = programCostId;
            programModel.dogSpacesMaximum = 10;
            programModel.noOfClasses      = 6;
            int          expected     = 1;
            ProgramTable programTable = new ProgramTable();

            //Act
            int programID = programTable.create(programModel);
            int actual    = programTable.count();

            //Assert
            Assert.AreEqual(expected, actual);
        }
예제 #15
0
        public void Delete_CreatedDeleteAndCount1Record_0()
        {
            //Assemble
            ProgramModel programModel = new ProgramModel();

            programModel.programTypeId    = programTypeId;
            programModel.programCostId    = programCostId;
            programModel.dogSpacesMaximum = 12;
            programModel.noOfClasses      = 7;
            int          expected     = 0;
            ProgramTable programTable = new ProgramTable();
            int          programID    = programTable.create(programModel);

            //Act
            programTable.delete(programID);
            int actual = programTable.count();

            //Assert
            Assert.AreEqual(expected, actual);
        }
예제 #16
0
        public void Update_CreatedUpdateAndRead1Record_UpdatedValues()
        {
            //Assemble
            ProgramModel programModel = new ProgramModel();

            programModel.programVarietyId = programVarietyId;

            ProgramTable programTable = new ProgramTable();
            int          programID    = programTable.create(programModel);

            programModel.id = programID;
            programModel.programVarietyId = programVarietyId;


            //Act
            programTable.update(programModel);
            ProgramModel actual = programTable.read(programID);

            //Assert
            Assert.AreEqual(programModel.programVarietyId, actual.programVarietyId);
        }
예제 #17
0
        private static void consoleTableCounts()
        {
            Console.WriteLine("How many records in the tables");
            Console.WriteLine("==============================");

            Int32 classCount = new ClassTable().count();

            Console.WriteLine("classCount = " + classCount);

            Int32 clientCount = new ClientTable().count();

            Console.WriteLine("clientCount = " + clientCount);

            Int32 dogCount = new DogTable().count();

            Console.WriteLine("dogCount = " + dogCount);

            Int32 enrollmentCount = new EnrollmentTable().count();

            Console.WriteLine("enrollmentCount = " + enrollmentCount);

            Int32 paymentCount = new PaymentTable().count();

            Console.WriteLine("paymentCount = " + paymentCount);

            Int32 programCostCount = new ProgramVarietyTable().count();

            Console.WriteLine("programCostCount = " + programCostCount);

            Int32 programCount = new ProgramTable().count();

            Console.WriteLine("programCount = " + programCount);

            Int32 staffCount = new StaffTable().count();

            Console.WriteLine("staffCount = " + staffCount);

            Console.WriteLine("==============================");
        }
예제 #18
0
        public void ReadAll_Create3Records_3DifferentRecords()
        {
            //Assemble
            ProgramModel programModel1 = new ProgramModel();

            programModel1.programVarietyId = programVarietyId;


            ProgramModel programModel2 = new ProgramModel();

            programModel2.programVarietyId = programVarietyId;


            ProgramModel programModel3 = new ProgramModel();

            programModel3.programVarietyId = programVarietyId;


            ProgramTable programTable = new ProgramTable();

            //Act
            int programID1             = programTable.create(programModel1);
            int programID2             = programTable.create(programModel2);
            int programID3             = programTable.create(programModel3);
            List <ProgramModel> actual = programTable.readAll();

            //Assert
            Assert.AreEqual(programID1, actual[0].id);
            Assert.AreEqual(programModel1.programVarietyId, actual[0].programVarietyId);

            Assert.AreEqual(programID2, actual[1].id);
            Assert.AreEqual(programModel2.programVarietyId, actual[1].programVarietyId);

            Assert.AreEqual(programID3, actual[2].id);
            Assert.AreEqual(programModel3.programVarietyId, actual[2].programVarietyId);
        }
예제 #19
0
        public void ReadAll_Create3Records_CountIs3()
        {
            //Assemble
            ProgramModel programModel1 = new ProgramModel();

            programModel1.programTypeId    = programTypeId;
            programModel1.programCostId    = programCostId;
            programModel1.dogSpacesMaximum = 10;
            programModel1.noOfClasses      = 6;

            ProgramModel programModel2 = new ProgramModel();

            programModel2.programTypeId    = programTypeId;
            programModel2.programCostId    = programCostId;
            programModel2.dogSpacesMaximum = 10;
            programModel2.noOfClasses      = 6;

            ProgramModel programModel3 = new ProgramModel();

            programModel3.programTypeId    = programTypeId;
            programModel3.programCostId    = programCostId;
            programModel3.dogSpacesMaximum = 10;
            programModel3.noOfClasses      = 6;

            ProgramTable programTable = new ProgramTable();
            int          expected     = 3;

            //Act
            int programID1             = programTable.create(programModel1);
            int programID2             = programTable.create(programModel2);
            int programID3             = programTable.create(programModel3);
            List <ProgramModel> actual = programTable.readAll();

            //Assert
            Assert.AreEqual(expected, actual.Count);
        }
예제 #20
0
        public void Setup()
        {
            new DataStoreTableHelper().clearAllTables();

            ClientModel clientModel = new ClientModel();

            clientModel.displayName = "Barry Bonds";
            clientModel.phone       = "1234567890";
            clientModel.email       = "*****@*****.**";

            ClientTable clientTable = new ClientTable();

            clientId = clientTable.create(clientModel);

            DogModel dogModel = new DogModel();

            dogModel.clientID = clientId;
            dogModel.name     = "Dog";
            dogModel.age      = 6;
            dogModel.breed    = "Terrier";
            dogModel.experienceOrQualification = false;

            DogTable dogTable = new DogTable();

            dogId = dogTable.create(dogModel);

            ProgramVarietyModel programeVarietyModel = new ProgramVarietyModel();

            programeVarietyModel.depositAmount = 20.0;
            programeVarietyModel.sessionCost   = 20.0;
            programeVarietyModel.fullPaymentPercentageDiscount = 20;
            programeVarietyModel.name             = "Regular";
            programeVarietyModel.dogSpacesMaximum = 50;
            programeVarietyModel.noOfClasses      = 50;

            ProgramVarietyTable programVarietyTable = new ProgramVarietyTable();

            programVarietyId = programVarietyTable.create(programeVarietyModel);

            ProgramModel programModel = new ProgramModel();

            programModel.programVarietyId = programVarietyId;


            ProgramTable programTable = new ProgramTable();

            programId = programTable.create(programModel);

            EnrollmentModel enrollmentModel = new EnrollmentModel();

            enrollmentModel.name          = "A";
            enrollmentModel.clientId      = clientId;
            enrollmentModel.dogId         = dogId;
            enrollmentModel.programId     = programId;
            enrollmentModel.paymentMethod = 1;
            enrollmentModel.joinDate      = new DateTime(2021, 01, 03);
            enrollmentModel.inviteIssued  = true;

            EnrollmentTable enrollmentTable = new EnrollmentTable();

            enrollmentId = enrollmentTable.create(enrollmentModel);
        }
예제 #21
0
        private static void populateDatabase()
        {
            //clear all the records in all the tables
            new DataStoreTableHelper().clearAllTables();

            //check the tables are empty
            consoleTableCounts();

            //Adding some records to it will be easier to create and update the screens

            //add Client records
            ClientTable clientTable = new ClientTable();

            ClientModel clientModelBob = new ClientModel();

            clientModelBob.forename    = "Bob";
            clientModelBob.surname     = "White";
            clientModelBob.phone       = "1234567890";
            clientModelBob.email       = "*****@*****.**";
            clientModelBob.displayName = clientModelBob.forename + " " + clientModelBob.surname;
            int clientIdBob = clientTable.create(clientModelBob);

            ClientModel clientModelKate = new ClientModel();

            clientModelKate.forename    = "Kate";
            clientModelKate.surname     = "Black";
            clientModelKate.phone       = "1234567890";
            clientModelKate.email       = "*****@*****.**";
            clientModelKate.displayName = clientModelKate.forename + " " + clientModelKate.surname;
            int clientIdKate = clientTable.create(clientModelKate);

            //add Dog records
            DogTable dogTable = new DogTable();

            DogModel dogModelBoxer = new DogModel();

            dogModelBoxer.name     = "Boxer";
            dogModelBoxer.clientID = clientIdBob;
            dogModelBoxer.age      = 7;
            dogModelBoxer.breed    = "Bulldog";
            int dogIdBoxer = dogTable.create(dogModelBoxer);

            DogModel dogModelTed = new DogModel();

            dogModelTed.name     = "Ted";
            dogModelTed.clientID = clientIdKate;
            dogModelTed.age      = 7;
            dogModelTed.breed    = "Shi Tzu";
            int dogIdTed = dogTable.create(dogModelTed);

            //add Staff records
            StaffTable staffTable = new StaffTable();

            StaffModel staffModelBob = new StaffModel();

            staffModelBob.name = "Bob";
            int staffIdBob = staffTable.create(staffModelBob);

            StaffModel staffModelKate = new StaffModel();

            staffModelKate.name = "Kate";
            int staffIdKate = staffTable.create(staffModelKate);


            //add ProgramVariety records
            ProgramVarietyTable programVarietyTable = new ProgramVarietyTable();

            ProgramVarietyModel programVarietyAdvanced = new ProgramVarietyModel();

            programVarietyAdvanced.name          = "Advanced";
            programVarietyAdvanced.depositAmount = 30.0;
            programVarietyAdvanced.fullPaymentPercentageDiscount = 0.0;
            programVarietyAdvanced.sessionCost      = 30.0;
            programVarietyAdvanced.noOfClasses      = 8;
            programVarietyAdvanced.dogSpacesMaximum = 8;
            int programCostId1 = programVarietyTable.create(programVarietyAdvanced);


            ProgramVarietyModel programVarietyRegular = new ProgramVarietyModel();

            programVarietyRegular.name          = "Regular";
            programVarietyRegular.depositAmount = 20.0;
            programVarietyRegular.fullPaymentPercentageDiscount = 10.0;
            programVarietyRegular.sessionCost      = 25.0;
            programVarietyRegular.noOfClasses      = 6;
            programVarietyRegular.dogSpacesMaximum = 10;
            int programCostId2 = programVarietyTable.create(programVarietyRegular);


            //add Program records
            ProgramTable programTable = new ProgramTable();

            ProgramModel programModel1 = new ProgramModel();

            programModel1.name             = "Regular AM";
            programModel1.programVarietyId = programCostId2;
            int programId1 = programTable.create(programModel1);

            ProgramModel programModel2 = new ProgramModel();

            programModel2.name             = "Regular PM";
            programModel2.programVarietyId = programCostId2;
            int programId2 = programTable.create(programModel2);

            ProgramModel programModel3 = new ProgramModel();

            programModel3.name             = "Advanced";
            programModel3.programVarietyId = programCostId1;
            int programId3 = programTable.create(programModel3);

            //add Enrollment records
            EnrollmentTable enrollmentTable = new EnrollmentTable();

            EnrollmentModel enrollmentModel1 = new EnrollmentModel();

            enrollmentModel1.name          = dogModelBoxer.name + " (owned by " + clientModelBob.displayName + ") in " + programModel1.name;
            enrollmentModel1.clientId      = clientIdBob;
            enrollmentModel1.dogId         = dogIdBoxer;
            enrollmentModel1.programId     = programId1;
            enrollmentModel1.paymentMethod = PaymentConstants.PAYMENT_IN_FULL;
            enrollmentModel1.joinDate      = DateTime.Now;
            enrollmentModel1.inviteIssued  = false;
            int enrollmentId1 = enrollmentTable.create(enrollmentModel1);


            EnrollmentModel enrollmentModel2 = new EnrollmentModel();

            enrollmentModel2.name          = dogModelTed.name + " (owned by " + clientModelKate.displayName + ") in " + programModel2.name;
            enrollmentModel2.clientId      = clientIdKate;
            enrollmentModel2.dogId         = dogIdTed;
            enrollmentModel2.programId     = programId2;
            enrollmentModel2.paymentMethod = PaymentConstants.PAYMENT_PER_CLASS;
            enrollmentModel2.joinDate      = DateTime.Now;
            enrollmentModel2.inviteIssued  = true;
            int enrollmentId2 = enrollmentTable.create(enrollmentModel2);


            //check the tables have records
            consoleTableCounts();
        }