public double GetDateCost(DateTime date) { double res = 0; var walks = petWalkManager.GetPetWalkListForDate(date); if (walks.Count() == 0) { return(0); } priceManager.LoadPrices(); foreach (var walk in walks) { if (walk.Pet != null) { res += priceManager.GetPriceBySizeAndAgression(walk.Pet.Size, walk.Pet.IsAgressive); } if (walk.PetPack != null) { var pets = walk.PetPack.Pets; if (pets == null) { pets = petManager.GetPetsByPackId(walk.PetPack.Id); } foreach (var pet in pets) { res += priceManager.GetPriceBySizeAndAgression(pet.Size, pet.IsAgressive); } } } return(res); }