public static void LancerUnEnPause(VProjectTaskUser selection) { var mapTaskState = new MapTaskState { MapTaskStateID = selection.MapTaskStateID, MapTaskStateName = "En cours" }; Service.MapTaskStateModifier(mapTaskState); //suppresion de la date de fin dans ProjectTaskUser var projectTaskUser = Service.ProjectTaskUserChargerUn(selection.ProjectTaskUserID); projectTaskUser.EndTask = null; Service.ProjectTaskUserModifier(projectTaskUser); //on crée nouveau enregistrement dans TaskUserTime var taskUserTime = new TaskUserTime { startDate = DateTime.Now, Active = true, MapTaskStateName = "En cours", ProjectTaskUserID = selection.ProjectTaskUserID }; Service.TaskUserTimeAjouter(taskUserTime); }
public static void LancerUnEngagE(VProjectTaskUser selection) { if (Utils.MaterialMessageBox.ShowWithCancel("Vouler vous réelement engager cette têche") != MessageBoxResult.OK) { return; } //modification de l'etat var mapTaskState = new MapTaskState { MapTaskStateID = selection.MapTaskStateID, MapTaskStateName = "En cours" }; Service.MapTaskStateModifier(mapTaskState); //modificaton de la date de début var projectTaskUser = Service.ProjectTaskUserChargerUn(selection.ProjectTaskUserID); projectTaskUser.StartTask = DateTime.Now; Service.ProjectTaskUserModifier(projectTaskUser); //on crée nouveau enregistrement dans TaskUserTime var taskUserTime = new TaskUserTime { startDate = DateTime.Now, Active = true, MapTaskStateName = "En cours", ProjectTaskUserID = selection.ProjectTaskUserID }; Service.TaskUserTimeAjouter(taskUserTime); }
public static void ModificationDeExecutionTimeEtRecaluleDesTemps(TaskUserTime taskUserTime) { //on charge les nouveau dates et on fait le calcule if (taskUserTime.EndDate == null) { return; // si il n'y a pas de date de fin, on ne fait pas le calcule } var ddb = Convert.ToDateTime(taskUserTime.startDate.ToString()); var ddf = Convert.ToDateTime(taskUserTime.EndDate.ToString()); double intervaleSeconde = DateAndTime.DateDiff(DateInterval.Second, ddb, ddf); taskUserTime.ExecutionTime = (float)SecondeEnHeur(intervaleSeconde); Service.TaskUserTimeModifier(taskUserTime); //Charger le "ProjectTaskUser" Associer au "taskUserTime" if (taskUserTime.ProjectTaskUserID != null) { CalculeEtModificationDuTemptsDExeCutionTotalDuProjectTaskUser((long)taskUserTime.ProjectTaskUserID); } //calcule de temps de prj CacluTempuPourLeProjetattachE(Service.ChargerUnProjet(taskUserTime).ProjectID); }
public void Actualiser() { _service = null; _service = new Service(); LstVTaskTime = _service.VTaskTimeChargerLstDuProjectTaskUser(_vProjectTaskUserSelectinE); //IL FAUT AUSSI VIDER LES CHAMPS POUR LES MODIFICATIONS //pour cela, on point TaskUserTime vers un nouveau qui est totalement vide TaskUserTime = new TaskUserTime(); Selection = LstVTaskTime[_indiceSelection]; _codeDErreur = CodeDErreur.PasDerreur; IsUnSelectionnE = true; }
public bool TaskUserTimeModifier(TaskUserTime update) { try { _context.TaskUserTime.AddOrUpdate(update); General.SaveContextChanges("modification d'un UserTime id : " + update.TaskUserTimeID, _context); return(true); } catch (Exception) { //MessageBox.Show(e.ToString()); return(false); } }
public bool TaskUserTimeAjouter(TaskUserTime taskUserTime)//ajout d'un TaskUserTime quand on vie de mettre en pause le dérnier { // bool retour = false; try { _context.TaskUserTime.Add(taskUserTime); General.SaveContextChanges("ajout d'un UserTime id : " + taskUserTime.TaskUserTimeID, _context); return(true); } catch (Exception) { //MessageBox.Show(e.ToString()); return(false); } // return retour; }
public Project ChargerUnProjet(TaskUserTime taskUserTime)//à partir d'un "TaskUserTime" { try { //il faut cherche le ProjectTaskUser associer var projectTaskUser = _context.ProjectTaskUser.FirstOrDefault(x => x.ProjectTaskUserID == taskUserTime.ProjectTaskUserID); var project = _context.Project.FirstOrDefault(x => x.ProjectID == projectTaskUser.ProjectID); return(project); } catch (Exception) { // MessageBox.Show(e.ToString()); return(null); } }
public static void LancerUnTerminE(VProjectTaskUser selection) { //On Pause une question if (Utils.MaterialMessageBox.ShowWithCancel("Vouler vous réelement relancer cette tâche ?") != MessageBoxResult.OK) { return; } var mapTaskState = new MapTaskState { MapTaskStateID = selection.MapTaskStateID, MapTaskStateName = "En cours" }; Service.MapTaskStateModifier(mapTaskState); //suppresion de la date de fin var projectTaskUser = Service.ProjectTaskUserChargerUn(selection.ProjectTaskUserID); projectTaskUser.EndTask = null; Service.ProjectTaskUserModifier(projectTaskUser); //on crée nouveau enregistrement dans TaskUserTime var taskUserTime = new TaskUserTime { startDate = DateTime.Now, Active = true, MapTaskStateName = "En cours", ProjectTaskUserID = selection.ProjectTaskUserID }; Service.TaskUserTimeAjouter(taskUserTime); //pour la modification de l'état d'une tache, il faut verifier tout les ProjectTaskUser liée au tache //MAJ etat tache // Service.TaskModifierEtatDUneAPartirDeVProjectTaskUser(selection, true); }
//cette section contien tout les méthode de TaskUserTimeHistory public bool TaskUserTimeHistoryAjouterUnTaskUserTime(TaskUserTime taskUserTime)// ajout d'un TaskUserTime { try { var taskUserTimeHistory = new TaskUserTimeHistory { EndDate = taskUserTime.EndDate, startDate = taskUserTime.startDate, TaskUserTimeID = taskUserTime.TaskUserTimeID, CreatedBy = Environment.UserName }; //taskUserTimeHistory.CreatedBy=taskUserTime. _context.TaskUserTimeHistory.Add(taskUserTimeHistory); // General.SaveContextChanges("ajout dans TimeHistory id : " + taskUserTimeHistory.TaskUserTimeHistoryID,_context); _context.SaveChanges(); return(true); } catch (Exception) { //MessageBox.Show(e.ToString()); return(false); } }
public void SauverAjouter()//cette methode modifi le "TaskUserTime" actuel, et ajoute l'encie dans le table "TaskUserTimeHistory" { if (Selection != null) { //il faut extraire les heures de "TaskUserTime.startDate" et "TaskUserTime.EndDate" var dd = new DateTime(); dd = new DateTime(); if (TaskUserTime.startDate != null) { dd = (DateTime)TaskUserTime.startDate; } var startDate = dd.ToString("MM/dd/yyyy"); string srtDateDebut = startDate + " " + StartHeure?.ToString("T"); //on atrribut la nouvelle "TaskUserTime.startDate" TaskUserTime.startDate = DateTime.ParseExact(srtDateDebut, "MM/dd/yyyy HH:mm:ss", CultureInfo.InvariantCulture); if (EndHeure != null)//si la date de fin existe { dd = new DateTime(); if (TaskUserTime.EndDate != null) { dd = (DateTime)TaskUserTime.EndDate; } var endDate = dd.ToString("MM/dd/yyyy"); var srtDateFin = endDate + " " + EndHeure?.ToString("T"); //on réconstitue la date de fin //on attribut le nouveau date de fin TaskUserTime.EndDate = DateTime.ParseExact(srtDateFin, "MM/dd/yyyy HH:mm:ss", CultureInfo.InvariantCulture); } //VERIFICATION SI IL Y A EU MODIF if (Selection.EndDate != TaskUserTime.EndDate || Selection.startDate != TaskUserTime.startDate) { //VERIFICATION DE LA COHERENCE DES DATES if (TaskUserTime.EndDate != null) { if (TaskUserTime.EndDate <= TaskUserTime.startDate) // && TaskUserTime.EndDate <= DateTime.Now) { _codeDErreur = CodeDErreur.DateFinPlusPetitQueDateDebut; } else if (TaskUserTime.EndDate > DateTime.Now) { _codeDErreur = CodeDErreur.DateFinDepasse; } else if (TaskUserTime.startDate > DateTime.Now) { _codeDErreur = CodeDErreur.DateDebutDepasse; } else { _codeDErreur = CodeDErreur.PasDerreur; } if (_indiceSelection > 0) { //MessageBox.Show(TaskUserTime.startDate + " et " + LstVTaskTime[_indiceSelection - 1].EndDate); if (TaskUserTime.startDate < LstVTaskTime[_indiceSelection - 1].EndDate) { _codeDErreur = CodeDErreur.DateDebutAvantDateFinPrecedent; } // MessageBox.Show("date debut avant date fin precedent"); } if (_indiceSelection < LstVTaskTime.Count - 1) { //MessageBox.Show(TaskUserTime.EndDate + " et " + LstVTaskTime[_indiceSelection + 1].startDate); if (TaskUserTime.EndDate > LstVTaskTime[_indiceSelection + 1].startDate) { _codeDErreur = CodeDErreur.DateFinApresDateDebutSuivant; } //MessageBox.Show("date fin apres date debut suivant"); } } else { _codeDErreur = TaskUserTime.startDate > DateTime.Now ? CodeDErreur.DateDebutDepasse : CodeDErreur.PasDerreur; } switch (_codeDErreur) { case CodeDErreur.DateFinDepasse: Utils.MaterialMessageBox.ShowError("Erreur: La date de fin depasse la date actuéle"); Actualiser(); break; case CodeDErreur.DateDebutDepasse: Utils.MaterialMessageBox.ShowError("Erreur: La date de début depasse la date actuéle"); Actualiser(); break; case CodeDErreur.DateFinPlusPetitQueDateDebut: Utils.MaterialMessageBox.ShowError("Erreur: la date de debut est appres à la date de fin"); Actualiser(); break; case CodeDErreur.DateDebutAvantDateFinPrecedent: Utils.MaterialMessageBox.ShowError("Erreur: la date de debut est avant la date de fin du précedent"); Actualiser(); break; case CodeDErreur.DateFinApresDateDebutSuivant: Utils.MaterialMessageBox.ShowError("Erreur: la date de fin est apres la date de debut du suivant"); Actualiser(); break; case CodeDErreur.PasDerreur: //AJOUT TaskUserTime taskUserTimeEncien = _service.TaskUserTimeCharger(Selection); _service.TaskUserTimeHistoryAjouterUnTaskUserTime(taskUserTimeEncien); //MODIF if (_service.TaskUserTimeModifier(TaskUserTime)) { Utils.MaterialMessageBox.Show("Modification bien éffectuer"); } //IL FAUT CALCULER L'EXECUTIONTIME DU "PROJECTTASK" Utils.Outils.ModificationDeExecutionTimeEtRecaluleDesTemps(TaskUserTime); Actualiser(); break; default: throw new ArgumentOutOfRangeException(); } } else { Actualiser(); } } else { Utils.MaterialMessageBox.ShowError("Sélection un champs !!"); } }