public static void AskCommonDetails(Staff staff) { staff.Name = InputStaffProperties.AskName(); staff.StaffId = InputStaffProperties.AskStaffID(); staff.Address = InputStaffProperties.AskAddress(); staff.PhoneNumber = InputStaffProperties.AskPhoneNumber(); staff.Salary = InputStaffProperties.AskSalary(); }
private static void InsertRow(DataTable dataTable) { DataRow dataRow = dataTable.NewRow(); StaffType staffType = InputStaffProperties.AskStaffType(); dataRow["StaffName"] = InputStaffProperties.AskName(); dataRow["PhoneNumber"] = InputStaffProperties.AskPhoneNumber(); dataRow["Salary"] = InputStaffProperties.AskSalary(); Address address = InputStaffProperties.AskAddress(); dataRow["HouseName"] = address.HouseName; dataRow["City"] = address.City; dataRow["State"] = address.State; dataRow["PinCode"] = address.Pin; dataRow["StaffType"] = (int)staffType; string specificData; int classAssigned = 0; if (staffType == StaffType.teachingStaff) { specificData = InputStaffProperties.AskSubject(); classAssigned = Convert.ToInt32(InputStaffProperties.AskClass()); } else { specificData = InputStaffProperties.AskPost(); } dataRow["SpecificData"] = specificData; dataRow["ClassAssigned"] = classAssigned; dataTable.Rows.Add(dataRow); Console.WriteLine("\nInsertion Successfull\nDo you want to add more Staff?(y/n)\n"); char choice = Convert.ToChar(Console.ReadLine()); if (choice == 'y') { InsertRow(dataTable); } }
private static void ActionMenu(IStaffOperator staffOperator) { int actionChoice; StaffType staffType; int staffId; Console.WriteLine("\nChoose Action\n1.Add Staff\n2.View Staff Details\n3.View All Staff of type\n4.Update Staff Details\n5.Remove Staff\n6.Bulk Insertion(For DB only)\n7.Exit\n"); //Action Menu actionChoice = Convert.ToInt32(Console.ReadLine()); switch (actionChoice) { case 1: Staff newStaff = StaffHelper.CreateStaff(InputStaffProperties.AskStaffType()); staffOperator.InsertStaff(newStaff); break; case 2: staffId = InputStaffProperties.AskStaffID(); var staff = staffOperator.GetStaffByStaffId(staffId); if (staff != null) { StaffHelper.ViewDetails(staff); } else { Console.WriteLine("\nStaff not found!!"); } break; case 3: staffType = InputStaffProperties.AskStaffType(); List <Staff> lstStaff = staffOperator.GetAllStaffByStaffType(staffType); if (lstStaff != null) { foreach (Staff _staff in lstStaff) { StaffHelper.ViewDetails(_staff); } } else { Console.WriteLine("\nNo staff of type {0}!!", staffType); } break; case 4: staffId = InputStaffProperties.AskStaffID(); string staffName = InputStaffProperties.AskName(); string phoneNumber = InputStaffProperties.AskPhoneNumber(); double salary = InputStaffProperties.AskSalary(); Address address = InputStaffProperties.AskAddress(); StaffType?staffTypeNew = staffOperator.FindStaffType(staffId); string specificData; if (staffTypeNew == StaffType.teachingStaff) { specificData = InputStaffProperties.AskClass(); } else { specificData = InputStaffProperties.AskPost(); } if (staffOperator.UpdateStaff(staffId, staffName, phoneNumber, salary, address, specificData)) { Console.WriteLine("\nStaff {0} updated", staffId); } else { Console.WriteLine("\nStaff not found!!"); } break; case 5: staffId = InputStaffProperties.AskStaffID(); if (staffOperator.DeleteStaff(staffId)) { Console.WriteLine("\nStaff {0} removed", staffId); } else { Console.WriteLine("\nStaff not found!!"); } break; case 6: Type type = staffOperator.GetType(); if (type.Equals(typeof(DatabaseStaffOperator))) { DatabaseStaffOperator dbStaffOperator = (DatabaseStaffOperator)staffOperator; if (dbStaffOperator.BulkInsertion(DatabaseHelper.CollectBulkData())) { Console.WriteLine("\nBulk inserion succesful!!"); } else { Console.WriteLine("\nBulk insertion failed"); } } else { Console.WriteLine("\nBulk insertion can only be perfomed on Database"); } break; case 7: System.Environment.Exit(0); break; default: break; } ActionMenu(staffOperator); }