using System.Collections.Generic;
using System.Data.Entity;
using System.Linq.Dynamic;
using System.Linq.Expressions;
using System.Threading.Tasks;
public class ApplicationOfPackageResponses
public string name {get; set;}
public bool isMixed {get; set;}
public int qty {get; set;}
public int Session {get; set;}
public static void Main()
var paket1 = new ApplicationOfPackageResponses();
var paket2 = new ApplicationOfPackageResponses();
paket2.name="Mezoterapi";
var paket3 = new ApplicationOfPackageResponses();
var paket4 = new ApplicationOfPackageResponses();
List<ApplicationOfPackageResponses> applicationOfPackageResponses = new List<ApplicationOfPackageResponses>();
applicationOfPackageResponses.Add(paket1);
applicationOfPackageResponses.Add(paket2);
applicationOfPackageResponses.Add(paket3);
applicationOfPackageResponses.Add(paket4);
bool retVal = GiveAppointments(applicationOfPackageResponses);
public static bool GiveAppointments(List<ApplicationOfPackageResponses> applicationOfPackageResponses, int item = 0){
var PaketSayisi = applicationOfPackageResponses.Count();
ApplicationOfPackageResponses applicationOfPackageResponse = applicationOfPackageResponses[item];
int appQty = applicationOfPackageResponses[item].qty;
bool appIsMixed = applicationOfPackageResponses[item].isMixed;
string appName = applicationOfPackageResponses[item].name;
int totalAppointmentCount = applicationOfPackageResponses.Sum(s=>s.qty);
for(int i = 0; i < totalAppointmentCount; i++)
if(item < PaketSayisi-1) {
retVal = GiveAppointments(applicationOfPackageResponses,item+1);
Console.WriteLine("Paket " + appName + " , Mix Durumu T "+ appIsMixed);
if(item < PaketSayisi-1) {
for(int i = 0; i < applicationOfPackageResponses[item].qty; i++)
Console.WriteLine("Paket " + appName + " , Mix Durumu F "+ appIsMixed);
retVal = GiveAppointments(applicationOfPackageResponses,item+1);
if(item >= PaketSayisi-1)
for(int i = 0; i < applicationOfPackageResponses[item].qty; i++)
Console.WriteLine("Paket " + appName + " , Mix Durumu F "+ appIsMixed);
retVal = GiveAppointments(applicationOfPackageResponses,0);