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"); } }
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); }
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!"); } }
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) { }
public Lettuce(IDirt dirt, IFarmer farmer) { }
public Bacon(IPig pig, IFarmer farmer) { }
public Cucumber(IFarmer farmer, IDirt dirt) { }
public Celery(IDirt dirt, IFarmer farmer) { }
public void ChangeFarmer(IFarmer farmerToChangeTo) { currentFarmer = farmerToChangeTo; NotifyObservers(); }
public Alfalfa(IDirt dirt, IFarmer farmer, ILittleRascalsJoke littleRascalsJoke) { }