public static int GetNumberOfSplits(TASK task) { var listParam = new PARAM_LENGTH_Service().GetAll().OrderByDescending(q => q.PK_ID_PARAM_LENGTH); try { double megabytes = ConverterUtil.ConvertBytesToMegabytes((double)task.LENGTH); foreach (var param in listParam) { if (megabytes >= param.LENGTH) { return((int)param.NB_OF_SPLITS); } } return(1); } catch (Exception e) { task.STATUS = (int)EnumManager.PARAM_TASK_STATUS.ERREUR; new TASK_Service().UpdateTask(task); TRACE trace = new TRACE() { FK_ID_TASK = task.PK_ID_TASK, FK_ID_SERVER = 1, METHOD = "GetNumberOfSplits problème lors de la recupération de la length", TYPE = "ERROR", DESCRIPTION = e.Message + " " + e.InnerException, DATE_TRACE = DateTime.Now, NOM_SERVER = System.Environment.MachineName }; new TRACE_Service().AddTrace(trace); return(0); } }
public static bool VerifyTaskLengthAndSplitTask(TASK Task) { // Si c'est une sous tache on ne split pas if (Task.FK_ID_PARENT_TASK != null) { return(false); } //On récupère la taille maximum sans split var listParamLength = new PARAM_LENGTH_Service().GetAll().ToList(); //int.TryParse(MaxLengthString, out MaxLength); // Si la tache est trop lourde on la split int megabytes = (int)ConverterUtil.ConvertBytesToMegabytes((double)Task.LENGTH); if (listParamLength.Where(x => x.LENGTH <= megabytes).FirstOrDefault() != null) { VideoFile VideoFile = new VideoFile(Task.FILE_URL); VideoFile.GetVideoInfo(); Task.STATUS = (int)EnumManager.PARAM_TASK_STATUS.SPLIT_EN_COURS; new TASK_Service().UpdateTask(Task); CreateSplits(Task, VideoFile); return(true); } return(false); }