public override void Display() { base.Display(); PersonBuilder pb = new PersonBuilder(); pb.WithFirstName(StandardMessages.GetInputForParam("first name")) .WithLastName(StandardMessages.GetInputForParam("last name")) .WithEmailAddress(StandardMessages.GetInputForParam("email address")) .WithNationality(StandardMessages.GetInputForParam("nationality")) .WithCity(StandardMessages.GetInputForParam("city of residence")) .WithStreetName(StandardMessages.GetInputForParam("streetname")) .WithStreetnumber(StandardMessages.GetInputForParam("house number")) .WithStreetnumberAdd(StandardMessages.GetInputForParam("house number addition (optional)")) .WithZipCode(StandardMessages.GetInputForParam("zipcode")) .WithPassword(StandardMessages.GetInputForParam("password")) .WithTelePhoneNumber(StandardMessages.GetInputForParam("telephone number")) ; Person newPerson; if ((newPerson = pb.Create()) != null) { CatalogPerson.Instance.AddNewPerson(newPerson); newPerson.ShowPersonProps(); } else { StandardMessages.TryAgain(); } StandardMessages.PressAnyKey(); StandardMessages.PressKeyToContinue(); Program.NavigateBack(); }
// This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) { services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1); services.AddAutoMapper(s => { s.CreateMap <Person, PersonView>() .ReverseMap(); s.CreateMap <Position, PositionView>() .ForMember(x => x.Code, x => x.MapFrom(z => (int)z)) .ForMember(x => x.Name, x => x.MapFrom(z => z.ToString("F"))); }, AppDomain.CurrentDomain.GetAssemblies()); services.AddSingleton(s => { var mock = new Mock <IPersonRepository>(); mock.Setup(x => x.Save(It.IsAny <Person>())).Returns(10); mock.Setup(x => x.GetGraph()).Returns(new Person[] { PersonBuilder.Create(Position.Manager, 2) .AddStaff(PersonBuilder.Create(Position.Manager, 1).AddStaff(Position.Employee, 3)) .AddStaff(Position.Employee, 2), PersonBuilder.Create(Position.Sales, 2) .AddStaff(PersonBuilder.Create(Position.Manager, 2).AddStaff(PersonBuilder.Create(Position.Manager, 1).AddStaff(Position.Employee, 3))) .AddStaff(PersonBuilder.Create(Position.Manager, 3).AddStaff(PersonBuilder.Create(Position.Manager, 1).AddStaff(Position.Employee, 3))) }.ToList()); return(mock.Object); }); // In production, the Angular files will be served from this directory services.AddSpaStaticFiles(configuration => { configuration.RootPath = "ClientApp/dist"; }); }
static void Main(string[] args) { var p = PersonBuilder .Create() .WithName("My Name") .HavingJob(builder => builder .WithCompanyName("First Company") .WithSalary(100) ) .HavingJob(builder => builder .WithCompanyName("Second Company") .WithSalary(200) ) .Build(); Console.WriteLine(JsonConvert.SerializeObject(p)); }
/// <summary> /// Create a new <see cref="PersonBuilder"/> /// </summary> /// <returns>A <see cref="PersonBuilder"/></returns> public IPersonBuilder Create() => PersonBuilder.Create();