Exemplo n.º 1
0
 public void Restore(int ID)
 {
     foreach (Hall x in (db.CinemaSet.Find(ID)).Hall)
     {//восстанавливаем все кинотеатры данного фильма
         HallRepository ha = new HallRepository(db);
         ha.Restore(x.ID);
     }
     db.CinemaSet.Find((db.CinemaSet.Find(ID)).ID).Deleted = false;
     db.SaveChanges();
 }
Exemplo n.º 2
0
 public DataManager()
 {
     cont = new Model1Container();
     BR   = new BookingRepository(cont);
     CShR = new CashierRepository(cont);
     CR   = new CinemaRepository(cont);
     FR   = new FilmRepository(cont);
     HR   = new HallRepository(cont);
     SR   = new SeatRepository(cont);
     SsR  = new SessionRepository(cont);
     TR   = new TicketRepository(cont);
 }
Exemplo n.º 3
0
        public void Delete(int ID)
        {
            List <Hall> h = (db.CinemaSet.Find(ID)).Hall.ToList();

            foreach (Hall x in h)
            {//удаляем все кинотеатры данного фильма
                HallRepository ha = new HallRepository(db);
                ha.Delete(x.ID);
            }
            List <Cashier> c = (db.CinemaSet.Find(ID)).Сashier.ToList();

            foreach (Cashier x in c)
            {
                db.CashierSet.Remove(x);
            }
            db.CinemaSet.Find(ID).Deleted = true;
            db.SaveChanges();
        }
        /// <summary>
        /// Многопараметрический поиск Сеанса
        /// </summary>
        /// <param name="f"></param>
        /// <param name="ent"></param>
        /// <param name="atr"></param>
        /// <param name="sign"></param>
        /// <param name="eqv"></param>
        /// <param name="eqv2"></param>
        /// <returns></returns>
        public List <Session> Find(List <Session> f, string ent, string atr, string sign, string eqv, string eqv2)
        {
            List <Session> result = new List <Session>();

            switch (ent)
            {
            case "Фильм":
            {
                FilmRepository fil  = new FilmRepository(db);
                List <Film>    cin  = fil.Find(db.FilmSet.ToList(), atr, sign, eqv, eqv2);
                List <Session> cash = new List <Session>();
                foreach (Film x in cin)
                {
                    cash.AddRange(x.Session);
                }
                result = (from d in f select d).Intersect(from a in cash select a).ToList();
                break;
            }

            case "Сеанс":
            {
                switch (atr)
                {
                case "Дата":
                {
                    switch (sign)
                    {
                    case "=": { result = (from d in f where d.Time.Date == DateTime.Parse(eqv).Date select d).ToList(); break; }

                    case "!=": { result = (from d in f where d.Time.Date != DateTime.Parse(eqv).Date select d).ToList(); break; }

                    case ">": { result = (from d in f where d.Time.Date > DateTime.Parse(eqv).Date select d).ToList(); break; }

                    case "<": { result = (from d in f where d.Time.Date < DateTime.Parse(eqv).Date select d).ToList(); break; }

                    case ">=": { result = (from d in f where d.Time.Date >= DateTime.Parse(eqv).Date select d).ToList(); break; }

                    case "<=": { result = (from d in f where d.Time.Date <= DateTime.Parse(eqv).Date select d).ToList(); break; }
                    }
                    break;
                }

                case "Цена":
                {
                    switch (sign)
                    {
                    case "=": { result = (from d in f where d.Price == int.Parse(eqv) select d).ToList(); break; }

                    case "!=": { result = (from d in f where d.Price != int.Parse(eqv) select d).ToList(); break; }

                    case ">": { result = (from d in f where d.Price > int.Parse(eqv) select d).ToList(); break; }

                    case "<": { result = (from d in f where d.Price < int.Parse(eqv) select d).ToList(); break; }

                    case ">=": { result = (from d in f where d.Price >= int.Parse(eqv) select d).ToList(); break; }

                    case "<=": { result = (from d in f where d.Price <= int.Parse(eqv) select d).ToList(); break; }
                    }
                    break;
                }

                case "Время":
                {
                    switch (sign)
                    {
                    case "=": { result = (from d in f where d.Time.TimeOfDay == TimeSpan.Parse(eqv) select d).ToList(); break; }

                    case "!=": { result = (from d in f where d.Time.TimeOfDay != TimeSpan.Parse(eqv) select d).ToList(); break; }

                    case ">": { result = (from d in f where d.Time.TimeOfDay > TimeSpan.Parse(eqv) select d).ToList(); break; }

                    case "<": { result = (from d in f where d.Time.TimeOfDay < TimeSpan.Parse(eqv) select d).ToList(); break; }

                    case ">=": { result = (from d in f where d.Time.TimeOfDay >= TimeSpan.Parse(eqv) select d).ToList(); break; }

                    case "<=": { result = (from d in f where d.Time.TimeOfDay <= TimeSpan.Parse(eqv) select d).ToList(); break; }
                    }
                    break;
                }
                }
                break;
            }

            default:
            {
                HallRepository c    = new HallRepository(db);
                List <Hall>    cin  = c.Search(db.HallSet.ToList(), ent, atr, sign, eqv, eqv2);
                List <Session> cash = new List <Session>();
                foreach (Hall x in cin)
                {
                    cash.AddRange(x.Session);
                }
                result = (from d in f select d).Intersect(from a in cash select a).ToList();
                break;
            }
            }
            return(result);
        }