static void Main(string[] args) { #region Task //Person p1 = new Person(); //Person p2 = new Person(); //Console.WriteLine(p1.Id); //Console.WriteLine(p2.Id); #endregion #region Abstract - can't get instance,contains abstract method and property //Eagle eagle = new Eagle(); //Shark shark = new Shark(); //string word = ""; //ShowHowEat(eagle); //ShowHowEat(shark); //Person person = new Person(); //Car car = new Car(); //ShowHowMove(car); //ShowHowMove(person); #endregion #region Sealed - class - can't get inheretance SoftwareDeveloper sd = new SoftwareDeveloper(); sd.Knowledge(); #endregion }
public static string GetSoftwareDeveloper(this SoftwareDeveloper softwareDeveloper) { var stringBuilder = new StringBuilder(1024); var personDetails = stringBuilder .Append("Name: Shiva") .Append("\nAge: 25") .Append("\nSalary: 1234.56"); return(personDetails.ToString()); }
public void ToString_RunToStringOnInheritedType_InheritedTypeIncludesBaseProperties() { // Arrange Employee joe = new Employee() { Id = 13298278, Title = "Managing Director", FirstName = "Joe", LastName = "Bloggs", Emails = new string[] { "*****@*****.**", "*****@*****.**" }, Manager = null, }; SoftwareDeveloper phillip = new SoftwareDeveloper() { Id = 13298329, Title = "Senior Software Developer", FirstName = "Phillip", LastName = "Jeffries", Emails = new string[] { "*****@*****.**" }, Manager = joe, Speciality = SoftwareDeveloper.SpecialityOption.Java, }; string expectedToStringValue = "SoftwareDeveloper (" + "Speciality = Java, " + "Title = Senior Software Developer, " + "FirstName = Phillip, " + "LastName = Jeffries, " + "Emails = System.String[], " + "Manager = Employee (" + "Title = Managing Director, " + "FirstName = Joe, " + "LastName = Bloggs, " + "Emails = System.String[], " + "Manager = null, " + "Id = 13298278" + "), " + "Id = 13298329" + ")"; string actualToStringValue = null; // Act actualToStringValue = phillip.ToString(); // Assert Assert.AreEqual(expectedToStringValue, actualToStringValue); }
private void btnAdd_Click(object sender, EventArgs e) { switch (cmbTitleType.SelectedItem) { case "Software Developer": SoftwareDeveloper sd = new SoftwareDeveloper(); sd.Name = txtName.Text; sd.Surname = txtSurname.Text; sd.Age = Convert.ToInt32(txtAge.Text); MessageBox.Show($"Salary is {sd.Salary} $"); lstEmployees.Items.Add(sd); Clear(); break; case "Designer": Designer d = new Designer(); d.Name = txtName.Text; d.Surname = txtSurname.Text; d.Age = Convert.ToInt32(txtAge.Text); MessageBox.Show($"Salary is {d.Salary} $"); lstEmployees.Items.Add(d); break; case "Secretary": Secretary s = new Secretary(); s.Name = txtName.Text; s.Surname = txtSurname.Text; s.Age = Convert.ToInt32(txtAge.Text); MessageBox.Show($"Salary is {s.Salary} $"); lstEmployees.Items.Add(s); Clear(); break; case "Database Administrator": DatabaseAdministrator db = new DatabaseAdministrator(); db.Name = txtName.Text; db.Surname = txtSurname.Text; db.Age = Convert.ToInt32(txtAge.Text); MessageBox.Show($"Salary is {db.Salary} $"); lstEmployees.Items.Add(db); Clear(); break; default: MessageBox.Show("Please Select Title"); break; } }
public Boolean Create() { Console.WriteLine("Package received..."); var received = Request.Form.Keys; foreach (var key in received) { var json = JObject.Parse(key); var name = json["name"].ToString(); var email = json["email"].ToString(); var role = json["role"].ToString(); Console.WriteLine(name); Console.WriteLine(email); var dev = new SoftwareDeveloper(); dev.Name = name; dev.Email = email; dev.HireYear = DateTime.Now.Year; dev.Role = role; Console.WriteLine(dev.HireYear.GetType()); dev.ProjectId = -1; var emptyProject = (_context.projects.Where(prj => prj.Id == -1)).First(); dev.Project = emptyProject; var vacation = new Vacation { AnnualLeave = 20, BloodDonationLeave = 5, FourHourLeave = 8, }; dev.Vacation = vacation; _context.softwareDevelopers.Add(dev); _context.SaveChanges(); return(true); } return(true); }
public void MeaningfulToString_OnlyIncludeClassProperties_EnsureOutputIsCorrect() { // Arrange Employee joe = new Employee() { Id = 13298278, Title = "Managing Director", FirstName = "Joe", LastName = "Bloggs", Emails = new string[] { "*****@*****.**", "*****@*****.**" }, Manager = null, }; SoftwareDeveloper phillip = new SoftwareDeveloper() { Id = 13298329, Title = "Senior Software Developer", FirstName = "Phillip", LastName = "Jeffries", Emails = new string[] { "*****@*****.**" }, Manager = joe, Speciality = SoftwareDeveloper.SpecialityOption.CSharp, }; string expectedToStringValue = "SoftwareDeveloper (" + "Speciality = CSharp" + ")"; string actualToStringValue = null; // Act actualToStringValue = phillip.MeaningfulToString( includeBaseProperties: false); // Assert Assert.AreEqual(expectedToStringValue, actualToStringValue); }
private static void AbstractNormalVirtualMethods() { SoftwareDeveloper sd = new SoftwareDeveloper("SoftwareDeveloper1"); Employee e = (Employee)sd; //same instance as above //Normal method Console.Write("\n###Hide"); sd.PrintWageNormal(); e.PrintWageNormal(); //Virtual method Console.Write("\n###Override"); sd.PrintWageVirtual(); e.PrintWageVirtual(); //Abstract method Console.WriteLine("\n###Abstract"); sd.PrintWageAbstract(); e.PrintWageAbstract(); }
private static void CustomInterface() { //var softwareDeveloper = new SoftwareDeveloper {KnownProgrammingLanguages = new[] {"C#", "Java"}}; var softwareDeveloper = new SoftwareDeveloper("SoftwareDeveloper1"); softwareDeveloper.Languages = new[] { "C#", "Java" }; var manager = new Manager("Manager1"); var contractor = new Contractor("Contractor1"); contractor.Languages = new[] { "C#" }; Person[] persons = new Person[] { softwareDeveloper, manager, contractor }; Console.WriteLine("###Using \"is\""); foreach (var person in persons) { if (person is IDeveloper) { Console.WriteLine("{0}: {1}", person.Name, string.Join(", ", ((IDeveloper)person).Languages)); } } Console.WriteLine(); Console.WriteLine("###Using \"as\""); foreach (var person in persons) { //IKnownProgrammingLanguages castToInterface = person as IKnownProgrammingLanguages; var castToInterface = person as IDeveloper; if (castToInterface != null) { Console.WriteLine("{0}: {1}", person.Name, string.Join(", ", castToInterface.Languages)); } } }
private Project createProject(string ProjectName, bool isNull, string[] DevNames, string[] Emails, int[] HireYears, string[] Roles) { var project = new Project { ProjectName = ProjectName }; if (isNull == true) { return(project); } project.SoftwareDevelopers = new List <SoftwareDeveloper>(); for (int i = 0; i < DevNames.Length; i++) { var dev = new SoftwareDeveloper { Name = DevNames[i], Email = Emails[i], HireYear = HireYears[i], Role = Roles[i], Project = project, }; var vacation = new Vacation { AnnualLeave = 20, BloodDonationLeave = 5, FourHourLeave = 8, SoftwareDeveloperId = dev.Id, SoftwareDeveloper = dev }; dev.Vacation = vacation; project.SoftwareDevelopers.Add(dev); } return(project); }
static void Main(string[] args) { ForegroundColor = ConsoleColor.Blue; // Method Chaining Sample 1 var stringBuilder = new StringBuilder(1024); var personDetails = stringBuilder .Append("Name: Shiva") .Append("\nAge: 25") .Append("\nSalary: 1234.56"); WriteLine(personDetails); // Method Chaining Sample 2 WriteLine($"\n\n==================== Sample 2 Custom Class ===================="); SoftwareDeveloper softwareDeveloper = new SoftwareDeveloper(); softwareDeveloper .GathersRequirements() .WritesCode() .WriteUnitTests() .DeploysCodeToProduction(); WriteLine($"-------------------- Sample 2 Custom Class --------------------\n\n"); // Extension Method Demo var number1 = "125"; var(value, parsed) = number1.ParseToInteger(); WriteLine($"{number1} was {parsed} and its value is {value}"); number1 = "A125"; (value, parsed) = number1.ParseToInteger(); WriteLine($"{number1} was {parsed} and its value is {value}"); WriteLine("\n\nPress any key ..."); ReadKey(); }
private static void AbstractNormalVirtualMethodsArray() { var softwareDeveloper = new SoftwareDeveloper("SoftwareDeveloper1"); var manager = new Manager("Manager1"); Employee[] employees = new Employee[] { softwareDeveloper, manager }; foreach (var employee in employees) { employee.PrintWageNormal(); } foreach (var employee in employees) { employee.PrintWageVirtual(); } foreach (var employee in employees) { employee.PrintWageAbstract(); } }
static void Main(string[] args) { SoftwareDeveloper sd1 = new SoftwareDeveloper(48090, "naynish", "chaughule"); EmployeeCollection.Add(sd1); SoftwareDeveloper sd2 = new SoftwareDeveloper(48091, "tripti", "panjabi"); EmployeeCollection.Add(sd2); //setting up a project SetUpProject(110, "dhp", new DateTime(2012, 01, 01), DateTime.Now.Add(new TimeSpan(90, 0, 0, 0))); SetUpProject(110, "motorola", new DateTime(2012, 01, 01), DateTime.Now.Add(new TimeSpan(90, 0, 0, 0))); //setting up tasks SetUpTask(1890, "rent calculation", new DateTime(2012, 02, 07), DateTime.Now.Add(new TimeSpan(90, 0, 0)), 20, 16); SetUpTask(1891, "LR/LD", new DateTime(2012, 03, 07), DateTime.Now.Add(new TimeSpan(90, 0, 0)), 20, 16); SetUpTask(1892, "system testing", new DateTime(2012, 03, 07), DateTime.Now.Add(new TimeSpan(90, 0, 0)), 20, 16); //adding tasks to the project pArr[0].AddTask(taskArr[0]); pArr[0].AddTask(taskArr[1]); pArr[1].AddTask(taskArr[2]); //assigning project to the employee sd1.AssignProject(pArr[0]); sd2.AssignProject(pArr[1]); //calculating the total budget for the project Console.WriteLine("Total budget of project {0} = {1:C}", pArr[0].PName, pArr[0].ProjectBudget()); Console.WriteLine("No. of employees in project {0} = {1}", pArr[0].PName, pArr[0].ProjectEmployeeCount()); Console.WriteLine(); //list all the tasks of an employee Console.WriteLine("All tasks of {0}", sd2.Fname); sd2.ListAllMyTasks(); Console.WriteLine(); UtilityClass ucObj = new UtilityClass(); ucObj.SalaryOfEachEmployeeInProject(pArr[1]); Console.WriteLine(); Console.ReadLine(); }
static void Main(string[] args) { ForegroundColor = ConsoleColor.Yellow; StringBuilder personDetails = new StringBuilder(1024); personDetails .Append("Item 1") .Append("\nItem 2") .Append("\nItem 3"); WriteLine(personDetails); // Method Chaining Sample 2 var softwareDeveloper = new SoftwareDeveloper(); WriteLine($"\n\n==================== Sample 2 Custom Class ===================="); softwareDeveloper .GathersRequirements() .WritesCode() .WriteUnitTests() .DeploysCodeToProduction(); WriteLine($"-------------------- Sample 2 Custom Class --------------------\n\n"); WriteLine(softwareDeveloper.GetSoftwareDeveloper()); var number1 = "125"; var(value, parsed) = number1.ParseToInteger(); WriteLine($"{number1} was {parsed} and its value is {value}"); number1 = "A125"; (value, parsed) = number1.ParseToInteger(); WriteLine($"{number1} was {parsed} and its value is {value}"); WriteLine("\n\nPress any key ..."); ReadKey(); }
private static void Main(string[] args) { Console.WriteLine("Hello World!"); var person = new Person("Kishor", "Naik"); Console.WriteLine(person); // Here we can not set First Name, it will give error //p1.FirstName = "Eshaan"; // but if we want to set First Name Property by using "with" keyword. person = person with { FirstName = "Eshaan" }; Console.WriteLine(person); // Destruct records Object into tuples var(FirstName, LastName) = person; Console.WriteLine($"FirstName : {FirstName} | LastName : {LastName}"); // Serialize and Deserialize var personJson = JsonSerializer.Serialize(person); Console.WriteLine(personJson); person = JsonSerializer.Deserialize <Person>(personJson); Console.WriteLine(person); // Employee var employee1 = new Employee() { FirstName = "Kishor", LastName = "Naik" }; //employee.FirstName = "Eshaan"; // Not possible to set value becuase of init var employee2 = new Employee() { FirstName = "Kishor", LastName = "Naik" }; // Objects comparison Console.WriteLine(employee1 == employee2); // true var employee3 = employee1 with { FirstName = "Eshaan" }; Console.WriteLine(employee1 == employee3); // false // Inheritance Employee employee4 = new SoftwareDeveloper() { FirstName = "Kishor", LastName = "Naik", Type = "Database Develoepr" }; Console.WriteLine(employee4); Console.WriteLine(employee4.FirstName); Console.WriteLine(employee4.LastName); SoftwareDeveloper softwareDeveloper = employee4 as SoftwareDeveloper; Console.WriteLine(softwareDeveloper); Console.WriteLine(softwareDeveloper.FirstName); Console.WriteLine(softwareDeveloper.LastName); Console.WriteLine(softwareDeveloper.Type); } }