Beispiel #1
0
        public async Task TryUpdateModel_NonSettableArrayModel_WithPrefix_GetsBound()
        {
            // Arrange
            var operationContext = ModelBindingTestHelper.GetOperationBindingContext(request =>
            {
                request.QueryString = QueryString.Create("prefix.Address[0].Street", "SomeStreet");
            });

            var modelState = operationContext.ActionContext.ModelState;
            var model      = new Person5();

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

            // Assert
            Assert.True(result);

            // Model
            Assert.NotNull(model.Address);

            // Arrays should not be updated.
            Assert.Equal(0, model.Address.Length);

            // ModelState
            Assert.True(modelState.IsValid);
            Assert.Empty(modelState);
        }
        public async Task TryUpdateModel_NonSettableArrayModel_EmptyPrefix_IsNotBound()
        {
            // Arrange
            var testContext = ModelBindingTestHelper.GetTestContext(request =>
            {
                request.QueryString = QueryString.Create("Address[0].Street", "SomeStreet");
            });

            var modelState = testContext.ModelState;
            var model      = new Person5();

            // Act
            var result = await TryUpdateModelAsync(model, string.Empty, testContext);

            // Assert
            Assert.True(result);

            // Model
            Assert.NotNull(model.Address);

            // Arrays should not be updated.
            Assert.Empty(model.Address);

            // ModelState
            Assert.True(modelState.IsValid);
            Assert.Empty(modelState);
        }
Beispiel #3
0
 public void Update(Person5 person)
 {
     using (var context = new DTO.EF.Test5Entities())
     {
         try
         {
             context.Entry(person).State = EntityState.Modified;
             context.SaveChanges();
         }
         catch (Exception ex)
         {
             throw;
         }
         finally
         {
             context.Dispose();
         }
     }
 }
Beispiel #4
0
        public static void Main(string[] args)
        {
            /*
             *          OBJECT ORIENTED PROGRAMMING - NESNE TABANLI PROGRAMLAMA
             *
             *   CLASS : Yapmak istediğimiz işlemleri gruplara ayırıp daha düzenli ve profesyonel kodlar yazabilmek için kullanılan yapıdır.
             *   PARENT / SUPER CLASS : Miras veren class' dır.
             *   CHILD / SUB CLASS : Miras veren class' dır.
             *
             *   ERİŞİM BELİRLEYİCİLER : Class veya instancelara nasıl erişebileceğimizi belirlerler.
             *
             *     I)   public			    : Her yerden erişim sağlanır.
             *    II)   private			    : Sadece tanımlandığı sınıfta erişim sağlanır.
             *   III)   internal			: Sadece tanımlandığı projede erişim sağlanır.
             *    IV)   protected			: Sadece tanımlandığı sınıfta veya mirasçı sınıfta erişim sağlanır.
             *     V)	protected internal  : protected' dan farkı tanımlamanın aynı projede olmasına gerek yoktur.
             *    VI)   private protected   : Sadece kendinden türetilmiş nesneler üzerinden kullanılabilir.
             *
             *          Not : Eğer bir üye üzerinde yapılan değişiklik başka yapıları da etkiliyorsa veya zarar veriyorsa, o üye private tanımlanmalıdır,
             *          Not : Private verilerin değerlerini alan ve ayarlayan metotlar public olmalıdır.
             */

//------------------------------------------------------------------------------------------------ CLASS ÇAĞRILDIĞI KISIM -------------------------------------------------------------------------------------------------

            // KONU 1 : FIELD TANIMLAMA
            // INSTANCE : Bir class' dan üretilen nesnedir.
            Person p1 = new Person();

            p1._Name    = "Ali";
            p1._Surname = "YILDIRIM";
            p1._Age     = 35;
            p1._Gender  = 'e';
            //Console.WriteLine($"{p1._Name} {p1._Surname} {p1._Age} {p1._Gender}");

//--------------------------------------------------------------------------------------------------------------------------------------------------------


            // KONU 2 : ENCAPSULATION (KAPSÜLLEME)
            Person2 p2 = new Person2 {
                Name = "Ayşe", Surname = "KARATAŞ", Age = 15, Gender = 'k'
            };                                                                                           // Üstte yazdığımız şekil dışında bu şekildede yazabiliriz.
            //Console.WriteLine($"{p2._Name} {p2._Surname} {p2._Age} {p2._Gender}");

//--------------------------------------------------------------------------------------------------------------------------------------------------------


            // KONU 3 : INHERITANCE (KALITIM / MİRASLAMA)
            Person3 p3 = new Person3();

            p3.Name    = "Mehmet";
            p3.Surname = "ATEŞ";
            p3.FullName(p3.Name, p3.Surname);
            p3.Greetings();
            //Console.WriteLine($"{p3.Name} {p3.Surname}");

            Person4 p4 = new Person4();

            p1._Name    = "Tuana";
            p1._Surname = "DEMİR";
            p4.Age      = 22;
            p4.FullName(p4.Name, p4.Surname);
            p4.Greetings();
            //Console.WriteLine($"{p4.Name} {p4.Surname} {p4.Age}");

//--------------------------------------------------------------------------------------------------------------------------------------------------------


            // KONU 4 : INHERITANCE (KALITIM / MİRASLAMA)
            Person5 p5 = new Person5();

            p5.Greetings();

            Person6 p6 = new Person6();

            p6.Greetings();

//--------------------------------------------------------------------------------------------------------------------------------------------------------


            // KONU 5 :	ABSTRACT CLASS
            //Person7 p7 = new Person7(); >>> Abstract class' dan intance oluşturulamaz.

            Person8 p8 = new Person8();

            p8.Greetings();
            p8.GreetingsTR();

//--------------------------------------------------------------------------------------------------------------------------------------------------------


            // KONU 6 :	CONSTRUCTOR VE DESTRUCTOR METOTLAR
            Tructor tructor = new Tructor();            // Class' dan instance ürettiğim için constructor metodum otomatik çalışacak.

            string  Name     = "Gözde";                 // Overload constructor metodum için parametre oluşturdum.
            Tructor tructor2 = new Tructor(Name);       // Class' dan instance ürettiğim ve parametre oluşturduğum için overload constructor metodum otomatik çalışacak.
        }