public ReportViewModel(DbContextEntityes db, DateTime minDate, DateTime maxDate) { //Начинаем формировать строку отчета _report += "Конференции прошедшие c " + minDate.ToShortDateString() + " по " + maxDate.ToShortDateString() + "\r\r"; //Получаем конференции, которые входят в диапазон List <Conference> conf = SelectConferences(db, minDate, maxDate); //Для каждой конференции foreach (var elem in conf) { //Выводим название конференции _report += "Конференция <" + elem.Name + ">\n"; //Получаем количество групп _report += "Всего групп принимало участие: " + SelectCountGroups(db, elem).ToString() + "\n"; //Получаем количетво услуг _report += "Всего услуг было оказано: " + SelectCountServices(db, elem).ToString() + "\n"; //Получаем стоимость _report += "на сумму: " + SelectCoast(db, elem).ToString() + "\n"; //Получаем комиссию _report += "из них комиссия составила: " + SelectComission(db, elem).ToString() + "\n\n\n"; } }
public double SelectComission(DbContextEntityes db, Conference conf) { double result = 0.0d; var query = db.GroupConferences.Where(u => u.IdConference == conf.IdConference).Select(s => s.Groups); var queryServ = new List <Service>(); foreach (var elem in db.GroupServices) { foreach (var ids in query) { if (ids.IdGroup == elem.IdGroup) { queryServ.Add(elem.Services); } } } foreach (var elem in queryServ) { result += db.OrganizationServices.Where(u => u.IdService == elem.IdService).OrderBy(w => w.Comission).FirstOrDefault().Comission; } return(result); }
public GroupViewModel(DbContextEntityes db) { //Определяем контекст данных и связываем с базой данных _db = db; //Получаем список групп Groups = _db.Groups.ToList(); }
public ServiceViewModel(DbContextEntityes db) { //Определяем контекст данных и связываем с базой данных _db = db; //Получаем список услуг и организаций Services = _db.Services.ToList(); Organizations = _db.Organizations.ToList(); }
public ConferenceViewModel() { //Определяем контекст данных и связываем с базой данных _db = new DbContextEntityes("name=DbConnectionString"); //Получаем список конференций Conferences = _db.Conferences.ToList(); MinDate = Conferences.OrderBy(w => w.Duration).FirstOrDefault().Duration; MaxDate = Conferences.OrderByDescending(w => w.Duration).FirstOrDefault().Duration; }
public int SelectCountServices(DbContextEntityes db, Conference conf) { int result = 0; var query = db.GroupConferences.Where(u => u.IdConference == conf.IdConference).Select(s => s.Groups); foreach (var elem in db.GroupServices) { foreach (var ids in query) { if (ids.IdGroup == elem.IdGroup) { result++; } } } return(result); }
public int SelectCountGroups(DbContextEntityes db, Conference conf) => db.GroupConferences.Where(u => u.IdConference == conf.IdConference).Count();
public List <Conference> SelectConferences(DbContextEntityes db, DateTime minDate, DateTime maxDate) => db.Conferences.Where(u => u.Duration >= minDate && u.Duration <= maxDate).ToList();
public ServiceView(DbContextEntityes db) { InitializeComponent(); DataContext = new ServiceViewModel(db); }
public GroupView(DbContextEntityes db) { InitializeComponent(); DataContext = new GroupViewModel(db); }
public ReportView(DbContextEntityes db, DateTime minDate, DateTime maxDate) { InitializeComponent(); DataContext = new ReportViewModel(db, minDate, maxDate); }