コード例 #1
0
        /// <summary>
        /// Поиск в таблице фильмов
        /// </summary>
        /// <param name="type">столбец</param>
        /// <param name="param">значение</param>
        /// <param name="viewedType">просмотрено ли</param>
        /// <returns></returns>
        public IList <Film> SearchTableFilms(string type, string param, ViewedType viewedType)
        {
            IQuery query;

            switch (viewedType)
            {
            case ViewedType.Full:
                query = Singleton.Instance.OpenSession().CreateQuery("SELECT f FROM Film f WHERE f." + type + " :param");
                if (type.Contains("Rating"))
                {
                    query.SetParameter("param", float.Parse(param));
                }
                else
                {
                    query.SetParameter("param", param);
                }
                return(query.List <Film>());

            case ViewedType.TRUE:
                query = Singleton.Instance.OpenSession().CreateQuery("SELECT f FROM Film f WHERE f." + type + " :param AND f.Viewed = true");
                if (type.Contains("Rating"))
                {
                    query.SetParameter("param", float.Parse(param));
                }
                else
                {
                    query.SetParameter("param", param);
                }
                return(query.List <Film>());

            case ViewedType.FALSE:
                query = Singleton.Instance.OpenSession().CreateQuery("SELECT f FROM Film f WHERE f." + type + " :param AND f.Viewed = false");
                if (type.Contains("Rating"))
                {
                    query.SetParameter("param", float.Parse(param));
                }
                else
                {
                    query.SetParameter("param", param);
                }
                return(query.List <Film>());
            }
            return(null);
        }
コード例 #2
0
        private void ButtonAddClick(object sender, EventArgs e)
        {
            try
            {
                Form form;

                switch (ViewedType.Name)
                {
                case nameof(AircraftWorkerCategory):
                    form = new AircraftWorkerCategoryForm(new AircraftWorkerCategory());
                    break;

                case nameof(Product):
                    form = new ProductForm(new Product());
                    break;

                case nameof(AccessoryRequired):
                    form = new KitForm(new AccessoryRequired());
                    break;

                default:
                {
                    var ci   = ViewedType.GetConstructor(Type.EmptyTypes);
                    var item = (BaseEntityObject)ci.Invoke(null);
                    form = new CommonEditorForm(item);
                    break;
                }
                }
                if (form.ShowDialog() == DialogResult.OK)
                {
                    itemsListView.Items[itemsListView.Items.IndexOf(itemsListView.SelectedItems[0])] =
                        new ListViewItem(GetListViewSubItems(SelectedItem), null)
                    {
                        Tag = SelectedItem
                    };
                }
            }
            catch (Exception ex)
            {
                Program.Provider.Logger.Log("Error while building new object", ex);
                return;
            }
        }
コード例 #3
0
        private void ButtonAddClick(object sender, EventArgs e)
        {
            try
            {
                Form form;

                if (ViewedType.Name == typeof(AircraftWorkerCategory).Name)
                {
                    form = new AircraftWorkerCategoryForm(new AircraftWorkerCategory());
                }
                else if (ViewedType.Name == typeof(AccessoryDescription).Name)
                {
                    form = new AccessoryDescriptionForm(new AccessoryDescription());
                }
                else if (ViewedType.Name == typeof(AccessoryRequired).Name)
                {
                    form = new KitForm(new AccessoryRequired());
                }
                else
                {
                    ConstructorInfo  ci   = ViewedType.GetConstructor(new Type[0]);
                    BaseEntityObject item = (BaseEntityObject)ci.Invoke(null);
                    form = new CommonEditorForm(item);
                }
                if (form.ShowDialog() == DialogResult.OK)
                {
                    itemsListView.Items[itemsListView.Items.IndexOf(itemsListView.SelectedItems[0])] =
                        new ListViewItem(GetListViewSubItems(SelectedItem), null)
                    {
                        Tag = SelectedItem
                    };
                }
            }
            catch (Exception ex)
            {
                Program.Provider.Logger.Log("Error while building new object", ex);
                return;
            }
        }
コード例 #4
0
        public IList <Film> SearchFilmsCascade(int Id_param, Subtable subtable, ViewedType viewedType)
        {
            IQuery query;

            switch (subtable)
            {
            case Subtable.Ganres:
                switch (viewedType)
                {
                case ViewedType.Full:
                    query = Singleton.Instance.OpenSession().CreateQuery(
                        "SELECT f FROM Film f " +
                        "WHERE f.Id IN (SELECT fg.Id_Film FROM Films_Genres fg WHERE fg.Id_Genres = :param)");
                    query.SetParameter("param", Id_param);
                    return(query.List <Film>());

                case ViewedType.TRUE:
                    query = Singleton.Instance.OpenSession().CreateQuery(
                        "SELECT f FROM Film f " +
                        "WHERE f.Id IN (SELECT fg.Id_Film FROM Films_Genres fg WHERE fg.Id_Genres = :param) " +
                        "AND f.Viewed = true");
                    query.SetParameter("param", Id_param);
                    return(query.List <Film>());

                case ViewedType.FALSE:
                    query = Singleton.Instance.OpenSession().CreateQuery(
                        "SELECT f FROM Film f " +
                        "WHERE f.Id IN (SELECT fg.Id_Film FROM Films_Genres fg WHERE fg.Id_Genres = :param) " +
                        "AND f.Viewed = false");
                    query.SetParameter("param", Id_param);
                    return(query.List <Film>());
                }
                break;

            case Subtable.Actors:
                switch (viewedType)
                {
                case ViewedType.Full:
                    query = Singleton.Instance.OpenSession().CreateQuery(
                        "SELECT f FROM Film f " +
                        "WHERE f.Id IN (SELECT fa.Id_Film FROM Films_Actors fa WHERE fa.Id_Actors = :param)");
                    query.SetParameter("param", Id_param);
                    return(query.List <Film>());

                case ViewedType.TRUE:
                    query = Singleton.Instance.OpenSession().CreateQuery(
                        "SELECT f FROM Film f " +
                        "WHERE f.Id IN (SELECT fa.Id_Film FROM Films_Actors fa WHERE fa.Id_Actors = :param) " +
                        "AND f.Viewed = true");
                    query.SetParameter("param", Id_param);
                    return(query.List <Film>());

                case ViewedType.FALSE:
                    query = Singleton.Instance.OpenSession().CreateQuery(
                        "SELECT f FROM Film f " +
                        "WHERE f.Id IN (SELECT fa.Id_Film FROM Films_Actors fa WHERE fa.Id_Actors = :param) " +
                        "AND f.Viewed = false");
                    query.SetParameter("param", Id_param);
                    return(query.List <Film>());
                }
                break;

            default:
                break;
            }

            /*
             * SELECT* from Films WHERE Films.Id IN(SELECT fg.Фильм FROM films_genres fg WHERE fg.Жанр = '2')
             *
             * */
            return(null);
        }