public static MainTaskView ConvertTo(MainTask iObj) { if (iObj == null) { return(null); } var newView = new MainTaskView(); newView.Object = iObj; newView.TaskName = iObj.Name; newView.MainTaskId = iObj.MainTaskIdString; return(newView); }
private void LoadDataGridViewMainTask(bool iShowFirstPage, long?iSelectedMainTaskId = null) { var firstDisplayIndex = dgvMain.FirstDisplayedScrollingRowIndex; using (var releaseService = new Service.Release.Front.ReleaseService(_Group.GetEnvironment().GetSQLExtendConnectionString())) { var skip = (iShowFirstPage) ? 0 : ucNavigator.Skip; if (iShowFirstPage) { ucNavigator.PageNumber = 1; } Tuple <List <MainTask>, int> maintaskTuple; if (_LoadingType == LoadingType.Criteria) { maintaskTuple = releaseService.GetMainTaskList(_MainTaskStatusSearchEnum, _MainTaskOrderBy, _ProjectId, _ProductLineId, _MainTaskType, _DevelopperId, _PackageId, skip, ucNavigator.Take, GranularityEnum.Full, _ExternalProjectId); } else if (_LoadingType == LoadingType.MainTaskId) { var mainTask = releaseService.GetMainTaskById(_MainTaskId, GranularityEnum.Full); if (mainTask != null) { maintaskTuple = new Tuple <List <MainTask>, int>(new List <MainTask>() { mainTask }, 1); } else { maintaskTuple = new Tuple <List <MainTask>, int>(null, 0); } } else { throw new NotSupportedException(_LoadingType.ToStringWithEnumName()); } ucNavigator.Count = (maintaskTuple != null) ? maintaskTuple.Item2 : 0; var mainTaskList = (maintaskTuple != null) ? maintaskTuple.Item1 : null; if (mainTaskList.IsNotNullAndNotEmpty()) { lblMessage.Text = "{0} tâche(s) sur {1}".FormatString(maintaskTuple.Item1.Count(), maintaskTuple.Item2); //commande var list = mainTaskList.Enum().Select(x => MainTaskView.ConvertTo(x)).ToList(); _MainTaskBindingSource.DataSource = list; dgvMain.Refresh(); } else { lblMessage.Text = "Aucune tâche."; _MainTaskBindingSource.Clear(); } } //dgvMain.SetFirstDisplayedScrollingRowIndex(firstDisplayIndex); if (dgvMain.RowCount != 0) { if (iSelectedMainTaskId != null) { dgvMain.Refresh(); if (!dgvMain.SelectRowByPropertyValue <MainTaskView>(x => x.Object.MainTaskId.ToString(), iSelectedMainTaskId.ToString())) { MessageBox.Show("La nouvelle tâche n'a pas pu être sélectionnée car absente. Veuillez changer de page ou modifier les filtres"); } } var selectedTransaction = GetSelectedMainTask(); if (selectedTransaction != null) { MainTaskSelectionChanged(selectedTransaction); } else { MainTaskSelectionChanged(null); } } else { NothingSelected(null, null); } CommandEnableManagement(); dgvMain.PerformLayout(); }
public static MainTaskView ConvertTo(MainTask iObj) { if (iObj == null) { return(null); } var newView = new MainTaskView(); newView.Object = iObj; newView.MainTaskId = iObj.MainTaskIdString; if (iObj.Status == MainTaskStatusEnum.Canceled) { newView.Status = Properties.Resources.delete_icone; } else if (iObj.Status == MainTaskStatusEnum.Requested) { newView.Status = Properties.Resources.Button_Help_icon24; } else if (iObj.Status == MainTaskStatusEnum.Completed) { newView.Status = Properties.Resources.accept; } else if (iObj.Status == MainTaskStatusEnum.Dev) { newView.Status = Properties.Resources.Gear_icon24; } else if (iObj.Status == MainTaskStatusEnum.Waiting) { newView.Status = Properties.Resources.hourglass_icon24; } else if (iObj.Status == MainTaskStatusEnum.Staging) { newView.Status = Properties.Resources.Science_Test_Tube_icon_24; } else { throw new NotSupportedException(iObj.Status.ToStringWithEnumName()); } newView.Name = iObj.Name; //Progression int progressionAverage = iObj.SubTasks.IsNotNullAndNotEmpty() ? (int)(Math.Truncate(iObj.SubTasks.Enum().Average(x => x.Progression))) : 0; var imageWidth = (int)typeof(MainTaskView).GetWidthColumn(Library.Tools.Misc.PropertyObserver.GetPropertyName <MainTaskView>(x => x.Progression)); newView.Progression = Library.Control.Datagridview.ImageHelper.GetProgressionBarImage(progressionAverage, DATAGRIDVIEWROWHEIGTH, imageWidth, true); newView.Priority = iObj.Priority; if (iObj.ObjectifCloseDate != null) { newView.Objectif = ((DateTime)iObj.ObjectifCloseDate).ToShortDateString(); } else { newView.Objectif = null; } //Duration int durationSum = iObj.DurationSum; int doneDuration = iObj.DoneDuration; if (durationSum != 0 || doneDuration != 0) { //Jours if (iObj.DurationSum > Consts.Consts.WORKINGHOURSADAY) { var durationSumFormated = Math.Round((decimal)((decimal)iObj.DurationSum / (decimal)Consts.Consts.WORKINGHOURSADAY), 1); var doneDurationSumFormated = Math.Round((decimal)((decimal)iObj.DoneDuration / (decimal)Consts.Consts.WORKINGHOURSADAY), 1); newView.Duration = doneDurationSumFormated + "/" + durationSumFormated + " j"; } //Heures else { newView.Duration = doneDuration + "/" + durationSum + " h"; } } else { newView.Duration = null; } //SubTasks if (iObj.SubTasks.Any()) { var completSubTaskCount = iObj.SubTasks.Count(x => x.Progression == 100); newView.SubTasks = completSubTaskCount + "/" + iObj.SubTasks.Count(); } else { newView.SubTasks = null; } //Package if (iObj.Package != null) { newView.Package = iObj.Package.PackageIdString; } //ProductLine if (iObj.ProductLines.IsNotNullAndNotEmpty()) { newView.ProductLine = iObj.ProductLines.Select(x => x.Name).Concat("--"); } if (iObj.ExternalProject != null) { newView.ProjectNumber = iObj.ExternalProject.ProjectNumber; } //LastDeploy if (iObj.Package != null) { var deploys = iObj.Package.Deployements.Enum().OrderByDescending(x => x.DeployementDate); if (deploys.IsNotNullAndNotEmpty()) { var lastDeploy = deploys.First(); newView.LastDeploy = lastDeploy.DeployementDate.ToShortDateString(); } } return(newView); }
public bool RunCheckup() { DialogResult = OpenModeEnum.NotAllowed; using (var releaseService = new Service.Release.Front.ReleaseService(_Project.Group.GetEnvironment().GetSQLExtendConnectionString())) { var openedTask = releaseService.GetDevMainTasks(Library.Tools.Enums.GranularityEnum.Full); var concerneTaskList = openedTask.Enum().Where(x => x.SubTasks.Enum().Any(y => y.ProjectGUID == _Project.Id)).Enum().ToList(); if (concerneTaskList.Any()) { _MainBindingSource.DataSource = concerneTaskList.Enum().Select(x => MainTaskView.ConvertTo(x)).Enum().ToList(); return(true); } else { var answer = MessageBox.Show("Ce projet n'est dans aucune tâche. Une sous-tâche est nécessaire. L'ouverture en modification n'est pas possible. Voulez-vous ouvrir un lecture seule le projet ?", "Information", MessageBoxButtons.YesNo); if (answer == System.Windows.Forms.DialogResult.Yes) { DialogResult = OpenModeEnum.ReadOnly; return(false); } else { DialogResult = OpenModeEnum.NotAllowed; return(false); } } } }