Esempio n. 1
0
        private void AddSeries(string strTitle, string strFileName, string strFilePath)
        {
            if (IsRootFolder(strFileName, strFilePath) == false)
            {
                bool         create;
                SeriesSeason objEntity = IsSeasonFolder(strFileName, strFilePath, out create);
                if (create == true)
                {
                    if (objEntity == null)
                    {
                        objEntity         = new SeriesSeason();
                        objEntity.SerieId = SerieServices.GetSerieId(strTitle);
                        objEntity.Title   = strTitle;
                        objEntity.Season  = 1;
                    }

                    Media objMedia = MediaServices.Get(_strMediaName.Trim(), _mediaType, _path, _cleanTitle, _entityType, _patternType, _useSubFolder, _bGetImage, _bParseNfo, true);

                    objEntity.Media       = objMedia;
                    objEntity.Watched     = false;
                    objEntity.IsComplete  = false;
                    objEntity.ToBeDeleted = false;
                    objEntity.ToWatch     = false;
                    objEntity.AddedDate   = DateTime.Now;
                    objEntity.Ressources  = new List <Ressource>();
                    objEntity.Genres      = new List <Genre>();
                    objEntity.Audios      = new List <Audio>();
                    objEntity.Subtitles   = new List <Language>();


                    #region File

                    objEntity.FilePath = Path.Combine(strFilePath, strFileName);

                    #endregion

                    #region Cover

                    if (_bGetImage == true)
                    {
                        RessourcesServices.AddImage(Util.GetLocalImage(objEntity.FilePath, string.Empty, _bFile), objEntity,
                                                    true);
                    }

                    #endregion

                    if (string.IsNullOrEmpty(objEntity.Title) == false)
                    {
                        bool bExist = false;
                        if (Dal.GetInstance.GetSeriesSeason(objEntity.Media.Name, objEntity.FilePath, objEntity.Season) != null)
                        {
                            bExist = true;
                        }

                        if (bExist == false)
                        {
                            #region MediaInfo
                            FileInfo file = new FileInfo(Path.Combine(strFilePath, strFileName));
                            if (file.Attributes == FileAttributes.Directory)
                            {
                                if (Directory.Exists(file.FullName) == true)
                                {
                                    string[] lstFile = Util.GetFiles(file.FullName, new[] { "*.mkv", "*.mp4", "*.avi", "*.divx" });

                                    if (lstFile.Any())
                                    {
                                        SerieServices.Fill(MediaInfoService.getInfo(lstFile[0], objEntity.Id), objEntity);
                                    }
                                }
                            }
                            else if (file.Attributes == FileAttributes.Normal)
                            {
                                SerieServices.Fill(MediaInfoService.getInfo(file.FullName, objEntity.Id), objEntity);
                            }

                            #endregion

                            #region ParseNfo

                            if (_bParseNfo == true)
                            {
                                string errorMessage;
                                SerieServices.ParseNfo(objEntity, out errorMessage);
                            }
                            #endregion
                            Dal.GetInstance.AddSeriesSeason(objEntity);
                            _intAddedItem++;
                        }
                        else
                        {
                            _intNotAddedItem++;
                        }
                    }
                }
            }
        }