public bool SaveCustomer(PersonEditViewModel personEdit) { if (personEdit != null) { using (var context = new AppDbContext()) { var person = new PersonPoco() { Id = personEdit.Id, Name = personEdit.Name, ProvinceId = personEdit.SelectedProvinceId, Telephone = personEdit.Telephone, PostalCode = personEdit.PostalCode, Salary = personEdit.Salary }; person.ProvincePoco = context.ProvincePocos.Find(personEdit.SelectedProvinceId); context.PersonPocos.Add(person); context.SaveChanges(); return(true); } } // Return false if customeredit == null or CustomerID is not a guid return(false); }
public PersonProxy(PersonPoco poco) : base() { if (poco == null) throw new InvalidOperationException("poco"); if (poco.Id == Guid.Empty) poco.Id = this.Id; else this.Id = poco.Id; this._poco = poco; }
public IActionResult ProtoDetail(int id) { var person = new PersonPoco { Id = id, Name = "Susen", Email = "*****@*****.**" }; return(Ok(person)); }
public void TestDeepCloneWithComplexObjectGraph() { // arrange test objects var personAddress = new AddressPoco { City = "Copenhagen", ZipCode = "2300" }; var libraryAddress = new AddressPoco { City = "London" }; var otherAddress = new AddressPoco { City = "Berlin" }; var arthur = new PersonPoco { Name = "Arthur Dent", Address = personAddress, Employer = "British Tea Company", Ssn = 123 }; var trish = new PersonPoco { Name = "Trish", Address = personAddress, Employer = "", Ssn = 456 }; var ford = new PersonPoco { Name = "Ford Prefect", Address = otherAddress, Employer = "Ursa Minor Publishing", Ssn = 789 }; var library = new LibraryPoco { Address = libraryAddress, Name = "The Library", WaitingList = new List <PersonPoco> { arthur, trish, ford }, }; library["foo"] = "bar"; library["h2g2"] = "dont panic"; library.Values.Contains("foo"); // deep clone var clone = library.DeepClone(); // verify clone Assert.Equal(2, clone.Keys.Count); Assert.Equal(3, clone.WaitingList.Count); Assert.Same(clone.WaitingList[0].Address, clone.WaitingList[1].Address); Assert.NotSame(library.Values, clone.Values); Assert.Equal(library.Values.Count, clone.Values.Count); }
public IActionResult ProtoForm([FromForm] PersonPoco person) { var test = person; return(Ok(test)); }
public IActionResult PostProto([FromBody] PersonPoco person) { return(Ok(person)); }
public static void ProduceConsumeMixedJson(string bootstrapServers, string schemaRegistryServers) { var producerConfig = new ProducerConfig { BootstrapServers = bootstrapServers }; var schemaRegistryConfig = new SchemaRegistryConfig { Url = schemaRegistryServers }; using (var topic = new TemporaryTopic(bootstrapServers, 1)) using (var schemaRegistry = new CachedSchemaRegistryClient(schemaRegistryConfig)) using (var producer = new ProducerBuilder <string, PersonPoco>(producerConfig) .SetValueSerializer(new JsonSerializer <PersonPoco>(schemaRegistry)) .Build()) { // test that a System.ComponentModel.DataAnnotations constraint is effective. { var p = new PersonPoco { FirstName = "Test", LastName = "User", NumberWithRange = 7 // range should be between 2 and 5. }; Assert.Throws <ProduceException <string, PersonPoco> >(() => { try { producer.ProduceAsync(topic.Name, new Message <string, PersonPoco> { Key = "test1", Value = p }).Wait(); } catch (AggregateException ax) { // what would be thrown if the call was awaited. throw ax.InnerException; } }); } // test that a Newtonsoft.Json constraint is effective. { var p = new PersonPoco { FirstName = "Test", // Omit LastName NumberWithRange = 3 }; Assert.Throws <AggregateException>(() => { producer.ProduceAsync(topic.Name, new Message <string, PersonPoco> { Key = "test1", Value = p }).Wait(); }); } // test all fields valid. { var p = new PersonPoco { FirstName = "A", MiddleName = "Test", LastName = "User", Gender = GenderEnum.Male, NumberWithRange = 3, Birthday = new DateTime(2010, 11, 1), Company = new CompanyPoco { Name = "Confluent" }, Cars = new List <CarPoco> { new CarPoco { Name = "Volvo", Manufacturer = new CompanyPoco { Name = "Confluent" } } } }; producer.ProduceAsync(topic.Name, new Message <string, PersonPoco> { Key = "test1", Value = p }).Wait(); var schema = schemaRegistry.GetLatestSchemaAsync(SubjectNameStrategy.Topic.ConstructValueSubjectName(topic.Name, null)).Result.SchemaString; var consumerConfig = new ConsumerConfig { BootstrapServers = bootstrapServers, GroupId = Guid.NewGuid().ToString(), AutoOffsetReset = AutoOffsetReset.Earliest }; using (var consumer = new ConsumerBuilder <string, PersonPoco>(consumerConfig) .SetValueDeserializer(new JsonDeserializer <PersonPoco>().AsSyncOverAsync()) .Build()) { consumer.Subscribe(topic.Name); var cr = consumer.Consume(); Assert.Equal(p.FirstName, cr.Message.Value.FirstName); Assert.Equal(p.MiddleName, cr.Message.Value.MiddleName); Assert.Equal(p.LastName, cr.Message.Value.LastName); Assert.Equal(p.Gender, cr.Message.Value.Gender); Assert.Equal(p.NumberWithRange, cr.Message.Value.NumberWithRange); Assert.Equal(p.Birthday, cr.Message.Value.Birthday); Assert.Equal(p.Company.Name, cr.Message.Value.Company.Name); Assert.Single(cr.Message.Value.Cars); Assert.Equal(cr.Message.Value.Cars[0].Manufacturer.Name, p.Cars[0].Manufacturer.Name); Assert.Equal(cr.Message.Value.Cars[0].Name, p.Cars[0].Name); } } } }