Пример #1
0
        static void Main()
        {
            var     pig1         = new Pig <string>("120"); //свинья весом <string> "120" кг
            var     pig2         = new Pig <int>(145);      //свинья весом <int> 145 кг
            var     sheep        = new Sheep <int>(800);    //овечка с <int> 800 грамм шерсти
            var     cow          = new Cow <string>("4");   //корова с <string> "4" литрами млолка
            IFarmer cow_farmer   = new Cow <int>(10);       //объект интерфейса можно создать присвоив ему объект класса, в котором он реализован
            IAnimal sheep_animal = sheep;
            IAnimal pig1_animal  = pig1;
            IFarmer pig2_farmer  = pig2;

            cow.Voice();                         //мы можем вызвать метод Voice т.к. он был неявно реализован как член интерфейса
            sheep_animal.Voice();                //а можем вызвать и через интерфейс
            cow_farmer.Info();                   //вызываем явно реализованный метод интерфейса
            Console.WriteLine(cow_farmer.Use());
            cow_farmer = pig2_farmer;            //можно присвоить друг другу элементы одинаковых интерфейсов (IFarmer)
            Console.WriteLine(cow_farmer.Use()); //вызовется метод из Pig
            var x = new Cow <int>(7);
            var y = new Cow <int>(9);

            if (x.Milk.CompareTo(y.Milk) > 0) //Сравнение при помощи IComperable
            {
                Console.WriteLine("x > y");
            }
            else
            if (x.Milk.CompareTo(y.Milk) < 0)
            {
                Console.WriteLine("x < y");
            }
            else
            {
                Console.WriteLine("x = y");
            }
        }
Пример #2
0
        public IFarmer Post([FromBody] IFarmer farmer)
        {
            var now         = DateTime.UtcNow;
            var orgPrefix   = "FM";
            var thisMonth   = new DateTime(now.Year, now.Month, 1);
            var accNoPrefix = $"{orgPrefix}{now:yy}{now.Month:X}";
            var count       = DB.Farmers.Count(c => c.CreationDate >= thisMonth);

            var item = DB.Farmers.FirstOrDefault(c => c.Name == farmer.Firstname && c.Surname == farmer.Surname && c.ID == farmer.ID);

            if (item != null)
            {
            }
            else
            {
                var user = new User
                {
                    CreationDate = DateTime.UtcNow,
                    LoginID      = farmer.Mobile,
                    Email        = farmer.Email,
                    Name         = $"{farmer.Firstname} {farmer.Surname}",
                    StatusID     = (int)UserStatus.ACTIVE,
                    RoleID       = (int)UserRole.FARMER,
                    Mobile       = farmer.Mobile
                };
                item = new Farmer
                {
                    ID           = farmer.ID,
                    Address      = farmer.Address,
                    CreationDate = DateTime.UtcNow,
                    Email        = farmer.Email,
                    FarmName     = farmer.Farmname,
                    GenderID     = farmer.GenderID,
                    IDNumber     = farmer.NationalID,
                    Mobile       = farmer.Mobile,
                    Name         = farmer.Firstname,
                    Surname      = farmer.Surname,
                    Village      = farmer.Location,
                    ProvinceID   = DB.Provinces.FirstOrDefault(c => c.Name == farmer.Province)?.ID ?? null,
                    DistrictID   = DB.Districts.FirstOrDefault(c => c.Name == farmer.District)?.ID ?? null,
                };
                var accNo = $"{accNoPrefix}{count:00000}";
                while (DB.Farmers.Any(c => c.Account == accNo))
                {
                    count++;
                    accNo = $"{accNoPrefix}{count:00000}";
                }
                item.Account = accNo;
                count++;
                user.FarmerID = item.ID;
                DB.Users.Add(user);
                DB.Farmers.Add(item);
            }
            DB.SaveChanges();
            return(item.IFarmer);
        }
Пример #3
0
 public void Update(IFarmer farmer)
 {
     Console.WriteLine("PartyAnimalDuck says: The current farmer is: " + farmer.Name);
     if (farmer.IsStrict)
     {
         Console.WriteLine("Uh oh, he is tough, better hide the keg");
     }
     else
     {
         Console.WriteLine("He's cool, pour him a drink!");
     }
 }
Пример #4
0
 public void Update(IFarmer farmer)
 {
     Console.WriteLine("UptightDuck says: The current farmer is: " + farmer.Name);
     if (farmer.IsStrict)
     {
         Console.WriteLine("Phew, Bill is here, now I can study");
     }
     else
     {
         Console.WriteLine("Uh oh, PartyAnimalDuck is gonna cause trouble now");
     }
 }
 public Tomato(IDirt dirt, IFarmer farmer)
 {
 }
 public Onion(IDirt dirt, IFarmer farmer)
 {
 }
 public Milk(ICow cow, IFarmer farmer)
 {
 }
Пример #8
0
 public Onion(IDirt dirt, IFarmer farmer)
 {
 }
Пример #9
0
 public Lettuce(IDirt dirt, IFarmer farmer)
 {
 }
Пример #10
0
 public Bacon(IPig pig, IFarmer farmer)
 {
 }
Пример #11
0
 public Milk(ICow cow, IFarmer farmer)
 {
 }
Пример #12
0
 public Lettuce(IDirt dirt, IFarmer farmer)
 {
 }
Пример #13
0
 public Tomato(IDirt dirt, IFarmer farmer)
 {
 }
Пример #14
0
 public Cucumber(IFarmer farmer, IDirt dirt)
 {
 }
Пример #15
0
 public Celery(IDirt dirt, IFarmer farmer)
 {
 }
Пример #16
0
 public void ChangeFarmer(IFarmer farmerToChangeTo)
 {
     currentFarmer = farmerToChangeTo;
     NotifyObservers();
 }
 public Alfalfa(IDirt dirt, IFarmer farmer, ILittleRascalsJoke littleRascalsJoke)
 {
 }
Пример #18
0
 public Celery(IDirt dirt, IFarmer farmer)
 {
 }
 public Bacon(IPig pig, IFarmer farmer)
 {
 }
 public Cucumber(IFarmer farmer, IDirt dirt)
 {
 }
Пример #21
0
 public Alfalfa(IDirt dirt, IFarmer farmer, ILittleRascalsJoke littleRascalsJoke)
 {
 }