Exemple #1
0
        public async Task <IActionResult> PostAsync([FromBody] FilmDTO model)
        {
            await Task.Yield();

            try
            {
                var filmToCreate = model.ToEntity();
                filmToCreate.Director = await directorLogic.GetAsync(model.DirectorID).ConfigureAwait(false);

                filmToCreate.Genres = new List <FilmWithGenre>();
                FilmWithGenre fwg = new FilmWithGenre()
                {
                    GenreId = model.MainGenreID,
                    Genre   = await genreLogic.GetAsync(model.MainGenreID).ConfigureAwait(false),
                    Film    = filmToCreate,
                };
                filmToCreate.Genres.Add(fwg);

                var film = await filmLogic.CreateAsync(filmToCreate).ConfigureAwait(false);

                return(Ok(new FilmDTO(film)));
            }
            catch (Exception e)
            {
                return(BadRequest(e.Message));
            }
        }
Exemple #2
0
        public bool AddFilm(FilmDTO f)
        {
            Film fi = new Film
            {
                id             = f.id,
                title          = f.titre,
                original_title = f.original_title,
                runtime        = f.runtime,
                posterpath     = f.poster_path
            };

            if (Add <Film>(fi, d => d.id == fi.id))
            {
                foreach (var actor in f.actors)
                {
                    addRelationActor(actor, f.id);
                }

                foreach (var genre in f.genres)
                {
                    addRelationGenre(genre, f.id);
                }

                foreach (var realisator in f.realisateurs)
                {
                    addRelationRealisateur(realisator, f.id);
                }

                return(true);
            }
            return(false);
        }
Exemple #3
0
        public async Task <IActionResult> AddToCart(int id, [FromQuery] int count, [FromQuery] string returnUrl)
        {
            FilmDTO filmDTO = await _orderService.GetFilmAsync(id);

            var                  mapper = MapperService.CreateFilmDTOToFilmViewModelMapper();
            FilmViewModel        film   = mapper.Map <FilmDTO, FilmViewModel>(filmDTO);
            List <FilmViewModel> films  = new List <FilmViewModel>();

            if (returnUrl == null)
            {
                returnUrl = "~/Home/Index";
            }

            for (int i = 0; i < count; i++)
            {
                films.Add(film);
            }

            AddFilmsToCart("CartFilms", films);
            if (returnUrl.Contains("Cart"))
            {
                return(RedirectToAction("Cart"));
            }
            return(Redirect(returnUrl));
        }
        public async Task <OperationDetails> CreateFilm(FilmDTO filmDto)
        {
            Film film = await DataBase.Films.FindByNameAsync(filmDto.Name);

            if (film == null)
            {
                film = new Film
                {
                    Budget      = filmDto.Budget,
                    Characters  = filmDto.Characters,
                    Composer    = filmDto.Composer,
                    Countries   = filmDto.Countries,
                    Director    = filmDto.Director,
                    Frames      = filmDto.Frames,
                    Genres      = filmDto.Genres,
                    Length      = filmDto.Length,
                    Name        = filmDto.Name,
                    Poster      = filmDto.Poster,
                    Premiere    = filmDto.Premiere,
                    Producer    = filmDto.Producer,
                    Scenario    = filmDto.Scenario,
                    Year        = filmDto.Year,
                    InFavorites = filmDto.InFavorites
                };

                DataBase.Films.InsertOrUpdate(film);
                await DataBase.SaveAsync();

                return(new OperationDetails(true, $"Заявка на создание фильма {film.Name} была отправлена на обработку модераторам. Спасибо!", ""));
            }
            else
            {
                return(new OperationDetails(false, "Фильм с таким названием уже существует", "Name"));
            }
        }
Exemple #5
0
        public static Film convertFilm(FilmDTO filmDto)
        {
            List <Comment> commentsDuFilm = new List <Comment>();

            if (filmDto == null)
            {
                return(null);
            }

            if (filmDto.Comments != null)
            {
                foreach (CommentDTO filmComment in filmDto.Comments)
                {
                    commentsDuFilm.Add(new Comment()
                    {
                        Content  = filmComment.Content,
                        Date     = filmComment.Date,
                        Film     = null,
                        Id       = filmComment.Id,
                        Rate     = filmComment.Rate,
                        Username = filmComment.Username
                    });
                }
            }
            return(new Film(filmDto.Id, filmDto.Title, filmDto.ReleaseDate, filmDto.VoteAverage, filmDto.Runtime,
                            filmDto.PosterPath, commentsDuFilm));
        }
        public IActionResult GetFilmById(int idFilm)
        {
            ResponseSingleObject <FilmDTO> responseSingleObject = new ResponseSingleObject <FilmDTO>()
            {
                Status   = StatusCodes.Status500InternalServerError,
                Errors   = null,
                Message  = null,
                Succeded = false,
                Value    = null
            };

            try
            {
                FilmDTO filmDto = _bllManager.GetFilmById(idFilm);
                if (filmDto == null)
                {
                    responseSingleObject.Status = StatusCodes.Status404NotFound;
                    responseSingleObject.Errors = "aucun film trouve pour l id(" + idFilm + ")";
                }
                else
                {
                    responseSingleObject.Status = StatusCodes.Status200OK;
                    responseSingleObject.Value  = filmDto;
                }
            }
            catch (Exception e)
            {
                responseSingleObject.Errors =
                    "GetFilmById pour le film dont l id =(" + idFilm + ") EXCEPTION : " + e.ToString();
            }

            return(StatusCode(responseSingleObject.Status, responseSingleObject));
        }
Exemple #7
0
        public static FilmDTO getFilmInfos(FilmDTO Film)
        {
            Film.Actors    = dal.GetActorsFilm(Film.Id);
            Film.Directors = dal.GetDirectorFilm(Film.Id);
            Film.Genres    = dal.GetGenresFilm(Film.Id);

            return(Film);
        }
Exemple #8
0
        public bool UpdateFilm(int idFilm, string url)
        {
            FilmDTO f = new FilmDTO();

            f.Id  = idFilm;
            f.Url = url;
            return(Db.updateFilm(f));
        }
        public List <FilmDTO> GetListFilmsByIdActor(int id)
        {
            List <FilmDTO> filmDTOs = new List <FilmDTO>();

            try
            {
                Actor acteur = dalM.FilmCtx.Actors.First(a => a.ActorId == id);


                FilmDTO tmp;

                foreach (CharacterActors ca in acteur.CharacterActors)
                {
                    tmp = new FilmDTO
                    {
                        FilmId        = ca.Film.FilmId,
                        Title         = ca.Film.Title,
                        OriginalTitle = ca.Film.OriginalTitle,
                        ReleaseDate   = ca.Film.ReleaseDate,
                        VoteAverage   = ca.Film.VoteAverage,
                        VoteCount     = ca.Film.VoteCount,
                        Runtime       = ca.Film.Runtime,
                        Posterpath    = ca.Film.Posterpath,
                        Budget        = ca.Film.Budget,
                        TagLine       = ca.Film.TagLine
                    };

                    if (ca.Film.Status != null)
                    {
                        Status stat = dalM.FilmCtx.Status.First(s => s.StatusId == ca.Film.Status.StatusId);
                        tmp.Status = stat.StatusName;
                    }
                    else
                    {
                        tmp.Status = "/";
                    }

                    if (ca.Film.Status != null)
                    {
                        Rating rat = dalM.FilmCtx.Rating.First(r => r.RatingId == ca.Film.Rating.RatingId);
                        tmp.Rating = rat.Type;
                    }
                    else
                    {
                        tmp.Rating = "/";
                    }



                    filmDTOs.Add(tmp);
                }
            }
            catch (Exception e)
            {
                Console.WriteLine("Exception: " + e.Message);
            }
            return(filmDTOs);
        }
Exemple #10
0
        public Boolean updateFilm(FilmDTO tmp)
        {
            Film f = new Film()
            {
                id = tmp.Id, title = tmp.Title, original_title = tmp.OriginalTitle, runtime = tmp.Runtime, posterpath = tmp.PosterPath, url = tmp.Url
            };

            return(Update(f, xg => xg.id == f.id));
        }
Exemple #11
0
 public FilmVM(FilmDTO row)
 {
     Id          = row.Id;
     MovieName   = row.MovieName;
     Description = row.Description;
     Year        = row.Year;
     Producer    = row.Producer;
     ImageName   = row.ImageName;
 }
Exemple #12
0
        protected override void OnCreate(Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);
            SetContentView(Resource.Layout.film);
            mToolbar = FindViewById <Toolbar>(Resource.Id.toolbar2);
            SetActionBar(mToolbar);
            ActionBar.Title = "Détails";
            FilmDTO  f = JsonConvert.DeserializeObject <FilmDTO>(Intent.GetStringExtra("film"));
            TextView t = FindViewById <TextView>(Resource.Id.txtTitle);
            TextView r = FindViewById <TextView>(Resource.Id.txtRuntime);

            t.Text = f.titre;
            r.Text = f.runtime.ToString();
            ImageView img = FindViewById <ImageView>(Resource.Id.imgPoster);

            Koush.UrlImageViewHelper.SetUrlDrawable(img, "http://image.tmdb.org/t/p/w185/" + f.poster_path, null, 60000);
            ListView acLis    = FindViewById <ListView>(Resource.Id.ActorListView);
            ListView reaLis   = FindViewById <ListView>(Resource.Id.RealisatorListView);
            ListView genreLis = FindViewById <ListView>(Resource.Id.GenresListView);

            List <string> ac = new List <string>();

            foreach (var item in f.actors)
            {
                ac.Add(item.name + " (" + item.character + ")");
            }

            List <string> rea = new List <string>();

            foreach (var item in f.realisateurs)
            {
                rea.Add(item.Name);
            }

            List <string> genre = new List <string>();

            foreach (var item in f.genres)
            {
                genre.Add(item.Name);
            }

            ArrayAdapter <String> acAdap    = new ArrayAdapter <String>(this, Android.Resource.Layout.SimpleListItem1, ac);
            ArrayAdapter <String> reaAdap   = new ArrayAdapter <String>(this, Android.Resource.Layout.SimpleListItem1, rea);
            ArrayAdapter <String> genreAdap = new ArrayAdapter <String>(this, Android.Resource.Layout.SimpleListItem1, genre);

            acLis.Adapter    = acAdap;
            reaLis.Adapter   = reaAdap;
            genreLis.Adapter = genreAdap;


            //Android.Widget.Toast.MakeText(this, f.ToString(), Android.Widget.ToastLength.Short).Show();

            // Create your application here
        }
Exemple #13
0
        public ActionResult Details(string fullActName)
        {
            List <ActorDTO> actorDTOs = serv.FindListActorByPartialActorName(fullActName, 0, 10);
            ActorDTO        act       = actorDTOs.First();
            List <FilmDTO>  filmDTOs  = serv.GetListFilmsByIdActor(act.ActorId);
            FilmDTO         tmp       = filmDTOs.First();

            WebApp.Models.Movie MovModel = new Models.Movie(tmp);

            return(View(MovModel));
        }
Exemple #14
0
        public async Task ChangeQuantityInStockAsync(FilmDTO filmDTO)
        {
            Film film = await Database.Films.Get(filmDTO.Id);

            if (film != null)
            {
                film.QuantityInStock = filmDTO.QuantityInStock;
                Database.Films.Update(film);
                await Database.SaveAsync();
            }
        }
Exemple #15
0
 public void InsertFilm(FilmDTO f)
 {
     _bdLocalData.Films.InsertOnSubmit(new Film()
     {
         id             = f.Id,
         original_title = f.OriginalTitle,
         posterpath     = f.PosterPath,
         runtime        = f.Runtime,
         title          = f.Title
     });
 }
Exemple #16
0
        private void Window_Closed(object sender, EventArgs e)
        {
            FilmDTO UpdatedFilm = ListFilms.Items.GetItemAt(ListFilms.SelectedIndex) as FilmDTO;

            if (Film.TrailerPath != TrailerPath_Film.Text)
            {
                ClientService.UpdateTrailerFilm(Film.Id, TrailerPath_Film.Text);
                UpdatedFilm.TrailerPath = TrailerPath_Film.Text;
                ListFilms.Items.Refresh();
            }
        }
 public FilmDTO GetFilmDetails(int idfilm)
 {
     try
     {
         FilmDTO film = fm.getFilmDetails(idfilm);
         return(film);
     }
     catch (Exception ex)
     {
         throw new System.ServiceModel.FaultException(ex.Message);
     }
 }
Exemple #18
0
        private FilmDTO toFilmDTO(Film f)
        {
            FilmDTO fDTO = new FilmDTO();

            fDTO.id             = f.id;
            fDTO.titre          = f.title;
            fDTO.original_title = f.original_title;
            fDTO.runtime        = (int)f.runtime;
            fDTO.poster_path    = f.posterpath;
            fDTO.available      = Convert.ToBoolean(f.available);
            return(fDTO);
        }
Exemple #19
0
        public async Task SaveFilmAsync(FilmDTO filmDTO)
        {
            if (filmDTO.Id == 0)
            {
                await CreateFilm(filmDTO);
            }
            else
            {
                await EditFilm(filmDTO);
            }

            await Database.SaveAsync();
        }
 private void BuTrailer_Click(object sender, RoutedEventArgs e)
 {
     try
     {
         FilmsViewModel fVM  = new FilmsViewModel();
         object         item = dataGridFilms.SelectedItem;
         string         ID   = (dataGridFilms.SelectedCells[0].Column.GetCellContent(item) as TextBlock).Text;
         FilmDTO        film = new FilmDTO();
         film = fVM.GetFilmswithId(int.Parse(ID)).First();
         System.Diagnostics.Process.Start(film.Trailer);
     }
     catch { }
 }
        public async Task<IActionResult> Delete(FilmDTO film)
        {

            var filmItem = await _dbContext.Films.FindAsync(film.Id);

            if (filmItem == null)
            {
                return NotFound();
            }
            _dbContext.Films.Remove(filmItem);
            await _dbContext.SaveChangesAsync();
            return Ok();
        }
Exemple #22
0
        public FilmDTO ToFilmDTO(Film film)
        {
            FilmDTO filmDTO = new FilmDTO();

            filmDTO.Id             = film.id;
            filmDTO.Title          = film.title;
            filmDTO.Original_Title = film.original_title;
            filmDTO.Runtime        = (int)film.runtime;
            filmDTO.PosterPath     = film.posterpath;
            filmDTO.TrailerPath    = film.trailerpath;

            return(filmDTO);
        }
        protected void Page_Load(object sender, EventArgs e)
        {
            aC = new AuthenticationControler();
            int id = int.Parse(Request.QueryString["titre"]);

            if (Session["Log"] != null && Session["LogOK"] != null)
            {
                HtmlAnchor link = (HtmlAnchor)this.Master.FindControl("Log");
                link.InnerText = (String)Session["Log"];
                link.HRef      = (String)Session["LogOK"];
            }
            film = aC.GetFilm(id);
        }
 protected void Page_Load(object sender, EventArgs e)
 {
     aC = new AuthenticationControler();
     listStatistiques = new List <StatistiquesDTO>();
     actor            = new ActeurDTO();
     film             = new FilmDTO();
     if (Session["Log"] != null && Session["LogOK"] != null)
     {
         HtmlAnchor link = (HtmlAnchor)this.Master.FindControl("Log");
         link.InnerText = (String)Session["Log"];
         link.HRef      = (String)Session["LogOK"];
     }
     listStatistiques = aC.getStatistiques();
 }
Exemple #25
0
        private async Task EditFilm(FilmDTO filmDTO)
        {
            Film film = await Database.Films.Get(filmDTO.Id);

            if (film != null)
            {
                film.Name     = filmDTO.Name;
                film.Price    = filmDTO.Price;
                film.Year     = filmDTO.Year;
                film.Rate     = filmDTO.Rate;
                film.Status   = filmDTO.Status;
                film.Producer = await Database.Producers.Get(filmDTO.ProducerId);

                if (filmDTO.ImagePath != null)
                {
                    film.ImagePath = filmDTO.ImagePath;
                }

                if (filmDTO.CountriesId.Count != 0)
                {
                    film.Countries.Clear();
                    foreach (int countryId in filmDTO.CountriesId)
                    {
                        film.Countries.Add(new FilmCountry
                        {
                            Film      = film,
                            FilmId    = film.Id,
                            Country   = await Database.Countries.Get(countryId),
                            CountryId = countryId
                        });
                    }
                }

                if (filmDTO.GenresId.Count != 0)
                {
                    film.Genres.Clear();
                    foreach (int genreId in filmDTO.GenresId)
                    {
                        film.Genres.Add(new FilmGenre
                        {
                            Film    = film,
                            FilmId  = film.Id,
                            Genre   = await Database.Genres.Get(genreId),
                            GenreId = genreId
                        });
                    }
                }
            }
            Database.Films.Update(film);
        }
        public async Task <OperationDetails> EditFilm(FilmDTO filmDto)
        {
            Film film = await DataBase.Films.FindByNameAsync(filmDto.Name);

            if (film != null)
            {
                DataBase.Films.InsertOrUpdate(film);
                await DataBase.SaveAsync();

                return(new OperationDetails(true, $"Заявка на внесение изменений в фильм {film.Name} была отправлена на обработку модераторам", "Name"));
            }

            return(new OperationDetails(false, $"Фильма с таким именем не существует", film.Name));
        }
        public async Task <OperationDetails> DeleteFilm(FilmDTO filmDto)
        {
            Film film = await DataBase.Films.FindByNameAsync(filmDto.Name);

            if (film != null)
            {
                DataBase.Films.Remove(film);
                await DataBase.SaveAsync();

                return(new OperationDetails(true, $"Заявка на удаление фильма {film.Name} была отправлена на обработку модераторам", "Name"));
            }

            return(new OperationDetails(false, $"Фильма с таким именем не существует", film.Name));
        }
 private void idSelected(object sender, SelectionChangedEventArgs e)
 {
     if (started)
     {
         FilmsViewModel fVM  = new FilmsViewModel();
         object         item = dataGridFilms.SelectedItem;
         string         ID   = (dataGridFilms.SelectedCells[0].Column.GetCellContent(item) as TextBlock).Text;
         DataGridGenre.ItemsSource       = fVM.GetGenre(int.Parse(ID));
         DataGridActeur.ItemsSource      = fVM.GetActorWithId(int.Parse(ID));
         DataGridRealisateur.ItemsSource = fVM.GetDirectorWithId(int.Parse(ID));
         FilmDTO film = new FilmDTO();
         film          = fVM.GetFilmswithId(int.Parse(ID)).First();
         Poster.Source = fVM.loadImage(film.Posterpath);
     }
 }
Exemple #29
0
 public InfosWindows(FilmDTO film, ServiceReference.ServiceWCFSmartClient client)
 {
     InitializeComponent();
     film                            = client.GetFilmInfo(film.id);
     posterImg.Source                = new BitmapImage(new Uri("http://image.tmdb.org/t/p/w185/" + film.poster_path, UriKind.RelativeOrAbsolute));
     title.Content                   = film.titre;
     oriTitle.Content                = film.original_title;
     runtime.Content                 = film.runtime + " minutes";
     genresLB.ItemsSource            = new ObservableCollection <GenreDTO>(film.genres);
     genresLB.DisplayMemberPath      = "Name";
     actorsLB.ItemsSource            = new ObservableCollection <ActorDTO>(film.actors);
     actorsLB.DisplayMemberPath      = "name";
     realisatorsLB.ItemsSource       = new ObservableCollection <RealisateurDTO>(film.realisateurs);
     realisatorsLB.DisplayMemberPath = "Name";
 }
Exemple #30
0
        public Movie(FilmDTO film)
        {
            FilmId        = film.FilmId;
            Title         = film.Title;
            OriginalTitle = film.OriginalTitle;
            ReleaseDate   = film.ReleaseDate;
            Runtime       = film.Runtime;
            Posterpath    = film.Posterpath;
            Budget        = film.Budget;
            TagLine       = film.TagLine;
            Status        = film.Status;
            Rating        = film.Rating;
            TimeSpan ts = TimeSpan.FromMinutes(film.Runtime);

            RuntimeString = string.Format("{0}h{1}", ts.Hours, ts.Minutes);
        }
 public void InsertFilm(FilmDTO dto)
 {
     var bus = new FilmBUS();
     bus.InsertFilm(dto);
 }
 public void UpdateFilm(string id, FilmDTO dto)
 {
     var bus = new FilmBUS();
     bus.UpdateFilm(id, dto);
 }
Exemple #33
0
        public static List<FilmDTO> SearchFilmByName(string name)
        {
            var tmp = new List<FilmDTO>();
            var paras = new[]
                            {
                                new SQLiteParameter("@name", name),
                            };
            var objects = SqliteDataReader(@"select film_name,film_description,film_trailer_uri,film_rating,film_rate_times,film_poster_img_uri,film_genre_ids,film_creator_ids,film_details from Films where film_name = @name limit 5;", paras, 8);
            foreach (var obj in objects)
            {
                var dto = new FilmDTO();
                dto.Name = obj[0].ToString();
                dto.Description = obj[1].ToString();
                dto.TrailerURI = obj[2].ToString();
                dto.Rating = decimal.Parse(obj[3].ToString());
                dto.RateTimes = int.Parse(obj[4].ToString());
                dto.PosterURI = obj[5].ToString();
                #region Parse XML
                // genres *id
                {
                    var doc = XDocument.Parse(obj[6].ToString());
                    var ids = (from id in doc.Descendants("id")
                               select id.Value).ToList();
                    //query datase to get genre name of ids
                    foreach (var id in ids)
                    {
                        var para = new[]
                                        {
                                            new SQLiteParameter("@id", id)
                                        };
                        var genreName = Convert.ToString(SqliteExecuteScalar(@"select genre_name from genre_id = @id", para));
                        dto.Genres.Add(genreName);
                    }
                }
                // creators *id, only get name of creators
                {
                    var doc = XDocument.Parse(obj[7].ToString());
                    var ids = (from id in doc.Descendants("id")
                               select id.Value).ToList();
                    //query datase to get genre name of ids
                    foreach (var id in ids)
                    {
                        var para = new[]
                                        {
                                            new SQLiteParameter("@id", id)
                                        };
                        var creatorName = Convert.ToString(SqliteExecuteScalar(@"select creator_name from Creators where creator_id = @id", para));
                        dto.Creators.Add(creatorName);
                    }
                }
                // details : time,lang,country,release
                {
                    var doc = XDocument.Parse(obj[8].ToString());
                    var time = (from node in doc.Descendants("time")
                                select node.Value).FirstOrDefault();
                    var lang = (from node in doc.Descendants("lang")
                                select node.Value).FirstOrDefault();
                    var country = (from node in doc.Descendants("country")
                                select node.Value).FirstOrDefault();
                    var release = (from node in doc.Descendants("release")
                                select node.Value).FirstOrDefault();
                    dto.Details.Add(time);
                    dto.Details.Add(lang);
                    dto.Details.Add(country);
                    dto.Details.Add(release);
                }

                #endregion

            }
            return null;
            //TODO: Search like [slow]
        }
Exemple #34
0
 public void UpdateFilm(string id,FilmDTO dto)
 {
     _ws.UpdateFilm(id,dto);
 }
Exemple #35
0
 public void InsertFilm(FilmDTO dto)
 {
     _ws.InsertFilm(dto);
 }
Exemple #36
0
        public static void UpdateFilm(string id,FilmDTO dto)
        {
            string xmlGenres;
            string xmlDetails;
            string xmlCreators;
            #region XMLGeneration
            // generate xml genres
            {
                var xmlDoc = new XmlDocument();
                var root = xmlDoc.CreateElement("genres");
                // get id of genre
                foreach (var genreName in dto.Genres)
                {
                    var paras = new[]
                                    {
                                        new SQLiteParameter("@genreName", genreName)
                                    };
                    var genreID = Convert.ToString(SqliteExecuteScalar(@"select genre_id from Film_Genres where genre_name = @genreName", paras));
                    var idXml = xmlDoc.CreateElement("id");
                    idXml.Value = genreID;
                    root.AppendChild(idXml);
                }
                xmlDoc.AppendChild(root);
                xmlGenres = xmlDoc.OuterXml;
            }
            // generate xml details
            {
                var xmlDoc = new XmlDocument();
                var root = xmlDoc.CreateElement("details");

                var time = xmlDoc.CreateElement("time");
                time.Value = dto.Details[0];
                root.AppendChild(time);

                var lang = xmlDoc.CreateElement("lang");
                lang.Value = dto.Details[1];
                root.AppendChild(lang);

                var country = xmlDoc.CreateElement("country");
                country.Value = dto.Details[2];
                root.AppendChild(country);

                var release = xmlDoc.CreateElement("release");
                release.Value = dto.Details[3];
                root.AppendChild(release);

                xmlDoc.AppendChild(root);
                xmlDetails = xmlDoc.OuterXml;
            }
            // generate xml creators
            {
                var xmlDoc = new XmlDocument();
                var root = xmlDoc.CreateElement("creators");
                foreach (var creatorName in dto.Creators)
                {
                    var paras = new[]
                                    {
                                        new SQLiteParameter("@creatorName", creatorName)
                                    };
                    var creatorID = Convert.ToString(SqliteExecuteScalar(@"select creator_id from Creators where creator_name = @creatorName", paras));

                    var idXml = xmlDoc.CreateElement("id");
                    idXml.Value = creatorID;
                    root.AppendChild(idXml);
                }
                xmlDoc.AppendChild(root);
                xmlCreators = xmlDoc.OuterXml;
            }
            #endregion

            var sqlParas = new[]
                               {
                                   new SQLiteParameter("@name",dto.Name),
                                   new SQLiteParameter("@trailerURL",dto.TrailerURI),
                                   new SQLiteParameter("@desc",dto.Description),
                                   new SQLiteParameter("@genres",xmlGenres),
                                   new SQLiteParameter("@details",xmlDetails),
                                   new SQLiteParameter("@creators",xmlCreators),
                                   new SQLiteParameter("@posterURI",dto.PosterURI)
                               };
            SqliteExecuteNonQuery( @"UPDATE Films SET"
                                    + @" film_name = @name,"
                                    + @" film_trailer_uri = @trailerURI,"
                                    + @" film_poster_img_uri = @posterURI,"
                                    + @" film_description = @desc,"
                                    + @" film_genre_ids = @genres,"
                                    + @" film_details = @details,"
                                    + @" film_creator_ids = @creators"
                                    + @" WHERE film_id = @id", sqlParas);
            SqliteExecuteNonQuery(
                @"insert into Films(film_name,film_trailer_uri,film_poster_img_uri,film_description,film_genre_ids,film_details,film_creator_ids)"
                + @"values(@name,@trailerURL,@posterURI,@desc,@genres,@details,@creators", sqlParas);
        }