예제 #1
0
        public MemberBLL GetMember(MemberBLL member)
        {
            using (SqlConnection conn = CreateConnection())
            {
                try
                {
                    SqlCommand cmd = new SqlCommand("appSchema.uspGetMember", conn);
                    cmd.CommandType = CommandType.StoredProcedure;
                    cmd.Parameters.Add("@SSN", SqlDbType.VarChar, 12).Value = member.SSN;
                    conn.Open();

                    using (SqlDataReader reader = cmd.ExecuteReader())
                    {
                        if (reader.Read())
                        {
                            int FirstNameIndex  = reader.GetOrdinal("FirstName");
                            int LastNameIndex   = reader.GetOrdinal("LastName");
                            int MemberIdIndex = reader.GetOrdinal("MemberId");

                            member.FirstName    = reader.GetString(FirstNameIndex);
                            member.LastName     = reader.GetString(LastNameIndex);
                            member.MemberId     = reader.GetInt32(MemberIdIndex);
                            return member;
                        }
                    }
                    return null;
                }
                catch
                {
                    throw new ApplicationException("An error occured while getting a member from the database.");
                }
            }
        }
예제 #2
0
 public MemberDetailsBLL(MemberBLL member)
 {
     MemberId = member.MemberId;
     SSN = member.SSN;
     FirstName = member.FirstName;
     LastName = member.LastName;
 }
예제 #3
0
 public void ShowMember(MemberBLL member)
 {
     Console.WriteLine("SSN:        " + member.SSN);
     Console.WriteLine("First name: " + member.FirstName);
     Console.WriteLine("Last name:  " + member.LastName);
     Console.WriteLine("Member Id:  " + member.MemberId);
 }
예제 #4
0
        public MemberBLL CreateMemberMenu(MemberBLL member)
        {
            Boolean done = false;
            string fName = Menu.ReadLine("First name: ");
            string lName = Menu.ReadLine("Last name: ");
            string SSN = "";
            while (!done)
            {
                SSN = Menu.ReadLine("SSN (YYYYMMDDnnnn): ");
                if (SSN.Length < 12)
                {
                    Console.Write("SSN has to be 12 characters long and in the format YYYYMMDDnnnn");
                }
                else
                {
                    done = true;
                }
            }
            member.FirstName = fName;
            member.LastName = lName;
            member.SSN = SSN;

            return member;
        }
예제 #5
0
 // Member part
 public MemberBLL GetMember(MemberBLL member)
 {
     return MemberDAL.GetMember(member);
 }
예제 #6
0
        public void start()
        {
            _1DV607_WS2.View.Menu.UserAction menuChoice;
            do
            {

                menuChoice = this.menu.mainMenu();
                switch (menuChoice)
                {
                    case _1DV607_WS2.View.Menu.UserAction.EndSession :
                        {
                            return;
                        }
                    case _1DV607_WS2.View.Menu.UserAction.CreateMember:
                        {
                            MemberBLL member = new MemberBLL();
                            member = this.menu.CreateMemberMenu(member);
                            SaveMember(member);
                            this.menu.MemberCreatedMenu(member);

                            break;
                        }
                    case _1DV607_WS2.View.Menu.UserAction.UpdateMember:
                        {
                            string SSN = this.menu.GetMemberMenu();
                            MemberBLL member = new MemberBLL();
                            member.SSN = SSN;
                            member = GetMember(member);
                            if (member != null)
                            {
                                member = this.menu.UpdateMemberMenu(member);
                                SaveMember(member);
                                member = GetMember(member);
                                this.menu.MemberUpdatedMenu(member);
                            }
                            else
                            {
                                MemberBLL voidMember = new MemberBLL();
                                voidMember.SSN = SSN;
                                this.menu.MemberUpdatedMenu(voidMember, false);
                            }
                            break;
                        }
                    case _1DV607_WS2.View.Menu.UserAction.ViewMember:
                        {
                            string SSN = this.menu.GetMemberMenu();
                            MemberBLL member = new MemberBLL();
                            member.SSN = SSN;
                            member = GetMember(member);
                            if (member != null)
                            {
                                this.menu.ShowMemberMenu(member);
                            }
                            else
                            {
                                MemberBLL voidMember = new MemberBLL();
                                voidMember.SSN = SSN;
                                this.menu.ShowMemberMenu(voidMember, false);
                            }
                            break;
                        }
                    case _1DV607_WS2.View.Menu.UserAction.DeleteMember:
                        {

                            string SSN = this.menu.GetMemberMenu();
                            MemberBLL member = new MemberBLL();
                            member.SSN = SSN;
                            member = GetMember(member);
                            if (member != null)
                            {
                                DeleteMember(SSN);
                                member = GetMember(member);
                                if (member != null)
                                    this.menu.MemberDeletedMenu(SSN, false);
                                else
                                    this.menu.MemberDeletedMenu(SSN);
                            }
                            else
                            {
                                MemberBLL voidMember = new MemberBLL();
                                voidMember.SSN = SSN;
                                this.menu.ShowMemberMenu(voidMember, false);
                            }
                            break;
                        }
                    case _1DV607_WS2.View.Menu.UserAction.RegisterBoat:
                        {

                            string SSN = this.menu.GetMemberMenu();
                            BoatBLL boat = new BoatBLL();
                            MemberBLL member = new MemberBLL();
                            member.SSN = SSN;
                            member = GetMember(member);
                            if (member != null)
                            {
                                boat = this.menu.CreateBoatMenu(member.SSN, boat);
                                SaveBoat(boat);
                                this.menu.BoatCreatedMenu(boat);
                            }
                            else
                            {
                                this.menu.BoatCreatedMenu(null, false);
                            }
                            break;
                        }
                    case _1DV607_WS2.View.Menu.UserAction.UpdateBoat:
                        {
                            string SSN = this.menu.GetMemberMenu();
                            MemberBLL member = new MemberBLL();
                            member.SSN = SSN;
                            member = GetMember(member);
                            if (member != null)
                            {
                                IEnumerable<BoatBLL> boats;
                                boats = GetBoats(member.SSN);
                                BoatBLL boat = this.menu.SelectBoatMenu(boats);
                                if (boat != null)
                                {
                                    boat = this.menu.UpdateBoatMenu(boat);
                                    SaveBoat(boat);
                                    boat = GetBoat(boat);
                                    this.menu.BoatUpdatedMenu(boat);
                                }
                                else
                                {
                                    BoatBLL voidBoat = new BoatBLL();
                                    voidBoat.SSN = member.SSN;
                                    this.menu.BoatUpdatedMenu(voidBoat, false);
                                }
                            }
                            else
                            {
                                MemberBLL voidMember = new MemberBLL();
                                voidMember.SSN = SSN;
                                this.menu.ShowMemberMenu(voidMember, false);
                            }
                            break;
                        }
                    case _1DV607_WS2.View.Menu.UserAction.DeleteBoat:
                        {
                            string SSN = this.menu.GetMemberMenu();
                            MemberBLL member = new MemberBLL();
                            member.SSN = SSN;
                            member = GetMember(member);
                            if (member != null)
                            {
                                IEnumerable<BoatBLL> boats;
                                BoatBLL boat = null;
                                boats = GetBoats(member.SSN);
                                if (boats.Count() != 0)
                                {
                                    boat = this.menu.SelectBoatMenu(boats);
                                }
                                if (boat != null)
                                {
                                    BoatBLL tempBoat = boat;
                                    DeleteBoat(boat.BoatId);
                                    boat = GetBoat(boat);
                                    if (boat != null)
                                        this.menu.BoatDeletedMenu(boat, false);
                                    else
                                        this.menu.BoatDeletedMenu(tempBoat);
                                }
                                else
                                {
                                    BoatBLL voidBoat = new BoatBLL();
                                    voidBoat.SSN = member.SSN;
                                    this.menu.BoatDeletedMenu(voidBoat, false);
                                }
                            }
                            else
                            {
                                MemberBLL voidMember = new MemberBLL();
                                voidMember.SSN = SSN;
                                this.menu.ShowMemberMenu(voidMember, false);
                            }
                            break;
                        }
                    case _1DV607_WS2.View.Menu.UserAction.ListMembers:
                        {
                     //       IEnumerable<MemberBLL> members = GetMembers();
                      //      IEnumerable<BoatBLL> boats = GetAllBoats();

                            IEnumerable<MemberDetailsBLL> memberDetails = GetMembersDetails();
                            this.menu.ShowMemberList(memberDetails);

                            break;
                        }
                    case _1DV607_WS2.View.Menu.UserAction.ListMembersVerbose:
                        {
                            IEnumerable<MemberDetailsBLL> memberDetails = GetMembersDetails();
                            this.menu.ShowMemberListVerbose(memberDetails);

                            break;
                        }

                    default:
                        {
                            Debug.Assert(true, "start(): forgot to extend switch case entries?");
                            break;
                        };
                }

            }
            while (true);
        }
예제 #7
0
 public void SaveMember(MemberBLL member)
 {
     if (member == null || member.SSN == null)  // more validations ??
     {
         throw new Exception("member didn't validate correctly");
     }
     MemberBLL oldMember = new MemberBLL();
     oldMember.SSN = member.SSN;
     if (GetMember(oldMember) != null)
     {
         MemberDAL.UpdateMember(member);
     }
     else
     {
         MemberDAL.InsertMember(member);
     }
 }
예제 #8
0
        public void UpdateMember(MemberBLL member)
        {
            using (SqlConnection conn = CreateConnection())
            {
                try
                {
                    SqlCommand cmd = new SqlCommand("appSchema.uspUpdateMember", conn);
                    cmd.CommandType = CommandType.StoredProcedure;
                    cmd.Parameters.Add("@MemberId", SqlDbType.Int, 4).Value = member.MemberId;
                    cmd.Parameters.Add("@FirstName", SqlDbType.VarChar, 50).Value = member.FirstName;
                    cmd.Parameters.Add("@LastName", SqlDbType.VarChar, 50).Value = member.LastName;
                    cmd.Parameters.Add("@SSN", SqlDbType.VarChar, 50).Value = member.SSN;

                    conn.Open();

                    cmd.ExecuteNonQuery();
                }
                catch
                {
                    throw new ApplicationException("An error occured while updating member at the database");
                }
            }
        }
예제 #9
0
        public void InsertMember(MemberBLL member)
        {
            using (SqlConnection conn = CreateConnection())
            {
                try
                {

                    SqlCommand cmd = new SqlCommand("appSchema.uspInsertMember", conn);
                    cmd.CommandType = CommandType.StoredProcedure;
                    cmd.Parameters.Add("@FirstName", SqlDbType.VarChar, 25).Value = member.FirstName;
                    cmd.Parameters.Add("@LastName", SqlDbType.VarChar, 50).Value = member.LastName;
                    cmd.Parameters.Add("@SSN", SqlDbType.VarChar, 12).Value = member.SSN;
                    cmd.Parameters.Add("@MemberId", SqlDbType.Int).Direction = ParameterDirection.Output;

                    conn.Open();

                    cmd.ExecuteNonQuery();

                    member.MemberId = Convert.ToInt32(cmd.Parameters["@MemberId"].Value);
                }
                catch
                {
                    throw new ApplicationException("An error occured while inserting a member into the database.");
                }
            }
        }
예제 #10
0
        public MemberBLL UpdateMemberMenu(MemberBLL member)
        {
            Console.WriteLine("First name: " + member.FirstName);
            Console.WriteLine("Last name: " + member.LastName);

            Console.WriteLine("Just press ENTER for fields you don't want to change");

            string fName    = Menu.ReadLine("First name: ", false);
            string lName    = Menu.ReadLine("Last name: ", false);
            if (fName != "")
                member.FirstName = fName;
            if (lName != "")
                member.LastName = lName;
            return member;
        }