static void Main(string[] args)
    {
        var person = new Person1
        {
            Id      = 12345,
            Name    = "Fred",
            Address = new Address
            {
                Line1 = "Flat 1",
                Line2 = "The Meadows"
            }
        };

        //
        byte[]  arr       = Serialize(person);
        Person2 newPerson = Deserialize(arr);

        /*
         * using (var file = File.Create("person.bin"))
         * {
         *  Serializer.Serialize(file, person);
         * }
         * //
         * Person newPerson;
         * using (var file = File.OpenRead("person.bin"))
         * {
         *  newPerson = Serializer.Deserialize<Person>(file);
         * }
         */
    }
Esempio n. 2
0
        public async Task SerializeAndDeserializeAction()
        {
            {
                var person = new Person1();
                await Scheduler.Entangle(person);
            }

            LoadAgain();

            {
                var result = await Scheduler.Schedule(() =>
                {
                    var person = Roots.Resolve <Person1>();
                    person.SetAction();
                    return(person.InvokedValue);
                });

                result.ShouldBeNull();
            }

            LoadAgain();

            {
                var result = await Scheduler.Schedule(() =>
                {
                    var person = Roots.Resolve <Person1>();
                    person.InvokeAction("Parameter");
                    return(person.InvokedValue);
                });

                result.ShouldBe("Parameter");
            }
        }
Esempio n. 3
0
        public ActionResult Edit(int id)
        {
            DropdownBond();
            Person1 per = db.Person1.Find(id);

            return(View(per));
        }
Esempio n. 4
0
        public void NonUpdatableOnUpdate()
        {
            using (var db = new DbManager())
            {
                db.BeginTransaction();

                var person = new Person1
                {
                    FirstName  = "TestOnInsert",
                    LastName   = "",
                    MiddleName = "1",
                    Gender     = 'M'
                };

                var sqlQuery = new SqlQuery <Person1>();

                sqlQuery.Insert(db, person);

                var p = db.GetTable <Person1>().Single(_ => _.FirstName == "TestOnInsert");

                Assert.AreEqual(person.MiddleName, p.MiddleName);

                person.PersonID   = p.PersonID;
                person.MiddleName = "should not be updated";

                sqlQuery.Update(db, person);

                p = db.GetTable <Person1>().Single(_ => _.FirstName == "TestOnInsert");

                Assert.AreNotEqual(person.MiddleName, p.MiddleName);

                db.RollbackTransaction();
            }
        }
Esempio n. 5
0
        public ActionResult Create(Person1 per)
        {
            db.Person1.Add(per);
            db.SaveChanges();

            return(RedirectToAction("Index"));
        }
Esempio n. 6
0
        public ActionResult Delete(int id)
        {
            Person1 per = db.Person1.Find(id);

            db.Person1.Remove(per);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
Esempio n. 7
0
 static void Main(string[] args)
 {
     Person p = new Person()
     {
         Name = "li", Age = 50
     };
     Person1 p1 = (Person1)p;
 }
Esempio n. 8
0
    public void M2()
    {
        var person = new Person1("Bill", "Wagner");

        var(first, last) = person;
        Console.WriteLine(first);
        Console.WriteLine(last);
    }
    void Start()
    {
        Person p = new Person()
        {
            Name = "P", Age = 21, Job = new Job()
            {
                JobName = "Coder", Id = 1001
            }
        };
        Person p1  = p.ShallowClone();
        Person p2  = p.DeepClone();
        string Str = string.Format("修改前:p.Name={0},p.Age={1},p.Job.Id={2},p.Job.JobName={3}", p.Name, p.Age, p.Job.Id, p.Job.JobName);

        Debug.Log(Str);
        Str = string.Format("修改前:p1.Name={0},p1.Age={1},p.Job.Id={2},p1.Job.JobName={3}", p1.Name, p1.Age, p1.Job.Id, p1.Job.JobName);
        Debug.Log(Str);
        Str = string.Format("修改前:p2.Name={0},p2.Age={1},p.Job.Id={2},p2.Job.JobName={3}", p2.Name, p2.Age, p2.Job.Id, p2.Job.JobName);
        Debug.Log(Str);

        //修改P1的值
        p1.Name        = "PM";
        p1.Age         = 30;
        p1.Job.JobName = "Manager";
        p1.Job.Id      = 1002;

        Str = string.Format("修改后:p.Name={0},p.Age={1},p.Job.Id={2},p.Job.JobName={3}", p.Name, p.Age, p.Job.Id, p.Job.JobName);
        Debug.Log(Str);
        Str = string.Format("修改后:p1.Name={0},p1.Age={1},p1.Job.Id={2},p1.Job.JobName={3}", p1.Name, p1.Age, p1.Job.Id, p1.Job.JobName);
        Debug.Log(Str);
        Str = string.Format("修改后:p2.Name={0},p2.Age={1},p2.Job.Id={2},p2.Job.JobName={3}", p2.Name, p2.Age, p2.Job.Id, p2.Job.JobName);
        Debug.Log(Str);

        Debug.Log("*******************************************测试通用Clone******************************************************************");

        Person1 newP = new Person1()
        {
            Name = "newP", Age = 21, Job = new Job()
            {
                JobName = "Coder", Id = 1001
            }
        };
        Person1 newP2 = newP.DeepClone();

        Str = string.Format("修改前:newP.Name={0},newP.Age={1},newP.Job.Id={2},newP.Job.JobName={3}", newP.Name, newP.Age, newP.Job.Id, newP.Job.JobName);
        Debug.Log(Str);
        Str = string.Format("修改前:newP2.Name={0},newP2.Age={1},newP2.Job.Id={2},newP2.Job.JobName={3}", newP2.Name, newP2.Age, newP2.Job.Id, newP2.Job.JobName);
        Debug.Log(Str);

        newP2.Name        = "PM";
        newP2.Age         = 30;
        newP2.Job.JobName = "Manager";
        newP2.Job.Id      = 1002;

        Str = string.Format("修改前:newP.Name={0},newP.Age={1},newP.Job.Id={2},newP.Job.JobName={3}", newP.Name, newP.Age, newP.Job.Id, newP.Job.JobName);
        Debug.Log(Str);
        Str = string.Format("修改后:newP2.Name={0},newP2.Age={1},newP2.Job.Id={2},newP2.Job.JobName={3}", newP2.Name, newP2.Age, newP2.Job.Id, newP2.Job.JobName);
        Debug.Log(Str);
    }
Esempio n. 10
0
        public void Normal()
        {
            _ceras.Serialize(_personNormal, ref _buffer);

            Person1 clone  = null;
            int     offset = 0;

            _ceras.Deserialize(ref clone, _buffer, ref offset);
        }
Esempio n. 11
0
 public void Setup()
 {
     _personNormal = new Person1 {
         Age = 5, FirstName = "abc", Reference1 = new Person1(), Reference2 = new Person1()
     };
     _personSealed = new Person2 {
         Age = 5, FirstName = "abc", Reference1 = new Person2(), Reference2 = new Person2()
     };
 }
Esempio n. 12
0
        public void ShouldValidateAdultByAge(int age, bool expectedResult)
        {
            //Given
            Person1 person = new Person1(age);
            //When
            bool isAdult = person.IsAdult();

            //Then
            Assert.Equal(expectedResult, isAdult);
        }
 public static byte[] Serialize(Person1 person)
 {
     byte[] result;
     using (var stream = new MemoryStream())
     {
         Serializer.Serialize(stream, person);
         result = stream.ToArray();
     }
     return(result);
 }
Esempio n. 14
0
            private static Person1 Deserialize(IReadOnlyDictionary <string, object> sd)
            {
                var person = new Person1
                {
                    InvokedValue = sd.Get <string>(nameof(InvokedValue))
                };

                sd.Get <Reference>(nameof(_action)).DoWhenResolved <Action <string> >(a => person._action = a);

                return(person);
            }
Esempio n. 15
0
        public ActionResult Details(int id)
        {
            Person1 pr = db.Person1.Find(id);

            if (pr == null)
            {
                HttpNotFound();
            }

            return(View(pr));
        }
Esempio n. 16
0
        public void SHADOWING_HIDING_METHODS_M()
        {
            Console.WriteLine("\t\t\tShadowing / hiding of methods, properties, variables");
            Person1 bob = new Person1("Bob", "Robertson");

            bob.Display();      // Bob Robertson

            Employee tom = new Employee("Tom", "Smith", "Microsoft");

            tom.Display();      // Tom Smith работает в Microsoft. New method Display()
            Program.CheckReturnToContent();
        }
Esempio n. 17
0
        public void GenericsTest()
        {
            using (DbManager db = new DbManager())
            {
                SqlQuery <Person1> sq = new SqlQuery <Person1>(db);
                sq.Extensions = TypeExtension.GetExtensions(@"XmlExtension.xml");
                Assert.IsNotNull(sq.Extensions["Person1"]);

                Person1 ps = sq.SelectByKey(1);
                Assert.IsNotNull(ps);
            }
        }
Esempio n. 18
0
        public void Test()
        {
            using (DbManager db = new DbManager())
            {
                SqlQuery sq = new SqlQuery(db);
                sq.Extensions = TypeExtension.GetExtensions(@"XmlExtension.xml");
                Assert.IsNotNull(sq.Extensions["Person1"]);

                Person1 ps = (Person1)sq.SelectByKey(typeof(Person1), 1);
                Assert.IsNotNull(ps);
            }
        }
Esempio n. 19
0
        public ActionResult Edit(Person1 person1, int id)
        {
            Person1 pr = db.Person1.SingleOrDefault(m => m.personId == id);

            pr.personId   = person1.personId;
            pr.Name       = person1.Name;
            pr.Adress     = person1.Adress;
            pr.GenderId   = person1.GenderId;
            pr.ReligionId = person1.ReligionId;
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
Esempio n. 20
0
        static void Main(string[] args)
        {
            var greg = new Person1();

            greg.FirstName = "Greg";
            greg.LastName  = "Smith";
            greg.Introduce();

            Calculator calculator = new Calculator();
            var        result     = calculator.Add(1, 2);

            Console.WriteLine(result);
        }
Esempio n. 21
0
        public void IgnoreMemberTest()
        {
            var source = new Person1 {
                Name = "Kevin", Age = 30, Sex = true
            };
            var dst = Mapper
                      .CreateMapper <Person1, IDictionary <string, object> >()
                      .IgnoreSourceMember(x => x.Sex)
                      .Map(source);

            Assert.AreEqual(dst["Name"], source.Name);
            Assert.AreEqual(dst["Age"], source.Age);
            Assert.IsFalse(dst.ContainsKey("Sex"));
        }
Esempio n. 22
0
        public void PrintObject_PrintPersonWithPersonProperty()
        {
            var person1 = new Person1 {
                Name = "Greetings", Friend = new Person {
                    Name = "Hello"
                }
            };

            var printer = ObjectPrinter.For <Person1>()
                          .PrintProperty(b => b.Friend.Name)
                          .TrimmedToLength(2);
            var actual = printer.PrintToString(person1);

            actual.Should().Contain("Greetings");
        }
        public async Task TryUpdateModel_NestedPoco_WithPrefix_DoesNotTrounceUnboundValues()
        {
            // Arrange
            var operationContext = ModelBindingTestHelper.GetOperationBindingContext(request =>
            {
                request.QueryString = QueryString.Create("prefix.Address.Street", "SomeStreet");
            });

            var modelState = new ModelStateDictionary();
            var model      = new Person1
            {
                Name    = "Joe",
                Address = new Address
                {
                    Street = "DefaultStreet",
                    City   = "Toronto",
                },
            };
            var oldModel = model;

            // Act
            var result = await TryUpdateModel(model, "prefix", operationContext, modelState);

            // Assert
            Assert.True(result);

            // Model
            Assert.Same(oldModel, model);
            Assert.Equal("Joe", model.Name);
            Assert.Equal("SomeStreet", model.Address.Street);
            Assert.Equal("Toronto", model.Address.City);

            // ModelState
            Assert.True(modelState.IsValid);

            var entry = Assert.Single(modelState);

            Assert.Equal("prefix.Address.Street", entry.Key);
            var state = entry.Value;

            Assert.NotNull(state.Value);
            Assert.Equal("SomeStreet", state.Value.AttemptedValue);
            Assert.Equal("SomeStreet", state.Value.RawValue);
            Assert.Empty(state.Errors);
            Assert.Equal(ModelValidationState.Valid, state.ValidationState);
        }
Esempio n. 24
0
        static void Main(string[] args)
        {
            List <Person> list = new List <Person>()
            {
                new Person()
                {
                    age = 10
                }, new Person()
                {
                    age = 20
                }
            };

            Person person = new Person()
            {
                age = 10
            };

            Console.WriteLine(list.Contains(person));          //false,说明引用类型还是不是同一个对象,就算数据一样
            Console.WriteLine(list.Contains <Person>(person)); //false,说明引用类型还是不是同一个对象,就算数据一样

            List <Person1> list1 = new List <Person1>()
            {
                new Person1()
                {
                    age = 10
                }, new Person1()
                {
                    age = 20
                }
            };

            Person1 person1 = new Person1()
            {
                age = 10
            };

            Console.WriteLine(list1.Contains(person1)); //true,改写了equals方法便可以实现自己想要的比较
        }
Esempio n. 25
0
        public void SimpleTest()
        {
            var source = new Person1 {
                Name = "Kevin", Age = 30, Sex = true
            };
            var dst = Mapper.Map <Person1, IDictionary <string, object> >(source);

            Assert.AreEqual(dst["Name"], source.Name);
            Assert.AreEqual(dst["Age"], source.Age);
            Assert.AreEqual(dst["Sex"], source.Sex);

            var dict = new Dictionary <string, object>();

            Mapper.Map(source, ref dict);

            Assert.AreEqual(3, dict.Count);

            var nvc = new NameValueCollection();

            Mapper.Map(source, ref nvc);

            Assert.AreEqual(3, nvc.Count);
        }
Esempio n. 26
0
 partial void DeletePerson1(Person1 instance);
Esempio n. 27
0
 partial void UpdatePerson1(Person1 instance);
Esempio n. 28
0
		public void NonUpdatableOnUpdate()
		{
			using (var db = new DbManager())
			{
				db.BeginTransaction();

				var person = new Person1
				{
					FirstName  = "TestOnInsert",
					LastName   = "",
					MiddleName = "1",
					Gender     = 'M'
				};

				var sqlQuery = new SqlQuery<Person1>();

				sqlQuery.Insert(db, person);

				var p = db.GetTable<Person1>().Single(_ => _.FirstName == "TestOnInsert");

				Assert.AreEqual(person.MiddleName, p.MiddleName);

				person.PersonID   = p.PersonID;
				person.MiddleName = "should not be updated";

				sqlQuery.Update(db, person);

				p = db.GetTable<Person1>().Single(_ => _.FirstName == "TestOnInsert");

				Assert.AreNotEqual(person.MiddleName, p.MiddleName);
				
				db.RollbackTransaction();
			}
		}
Esempio n. 29
0
 private void ShallowCopy()
 {
     PersonShallowClone      = Person1.ShallowCopy();
     PersonShallowClone.Name = "Johny Walker";
 }
Esempio n. 30
0
 private void DeepCopy() => PersonDeepClone = Person1.DeepCopy();
	public static string GetFullName(this Person1 person)
	{
		return $"{person.FamilyName} {person.Name} {person.Patronymic}";
	}