public async Task <RedirectToActionResult> GitGetAndUpdate() { GitSync gitSync = new GitSync(); var projects = await gitSync.GetProjects(); foreach (var project in projects) { var dbProject = await _context.ProjectModel.SingleOrDefaultAsync(p => p.Name == project.Name); if (dbProject == null) { _context.ProjectModel.Add(project); } else { //BAD dbProject.LanguageTag = project.LanguageTag; dbProject.ImageLink = project.ImageLink; dbProject.Description = project.Description; dbProject.DescriptionShort = project.DescriptionShort; //BAD } } await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); }
public async Task <RedirectToActionResult> GitGet() { GitSync gitSync = new GitSync(); var projects = await gitSync.GetProjects(); foreach (var project in projects) { if (!_context.ProjectModel.Any(p => p.Name == project.Name)) { _context.ProjectModel.Add(project); } } await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); }
public MainWindow() { loadConfiguration(); InitializeComponent(); //On lance la synchronisation des fichiers dans un gist GitSync gitsync = new GitSync(); gitsync.pushContent(); //Création du timer pour récupérer la valeur du presse papier //Initialisation de l'ancienne valeur du presse papier oldClipBoardText = ""; clipBoardTimer = new DispatcherTimer(); clipBoardTimer.Tick += new EventHandler(clipBoardTimer_Tick); clipBoardTimer.Interval = new TimeSpan(0, 0, 0, 0, refreshRate); timerWaitSearch = new DispatcherTimer(); timerWaitSearch.Tick += new EventHandler(timerWaitSearch_Elapsed); timerWaitSearch.Interval = new TimeSpan(0, 0, 0, 0, INTERVAL_SEARCH); //Affichage en premier de l'application this.Topmost = true; //Affichage de la fenêtre en bas à droite var desktopWorkingArea = System.Windows.SystemParameters.WorkArea; this.Left = desktopWorkingArea.Right - this.Width; this.Top = desktopWorkingArea.Bottom - this.Height; Clipboard.Clear(); clipBoardTimer.Start(); dataApp = new DataApplication(); img_refresh.DataContext = dataApp; dataApp.LoadDone = true; vo = new VariableObserver(ipAddresseRTCServer, sqlLiteDataBase, number_variable); totalNumberOfVariables = vo.getNumberOfVariables(); changeVariableIndication(); ///================================================================================================================================ ///DATACONTEXT: ///On met le data context avec le variable observer ///================================================================================================================================ tb_variableName.DataContext = vo; dg_variableList.DataContext = vo; btn_typeW.DataContext = vo; cb_RegexSearch.DataContext = vo; img_lockedList.DataContext = vo; btnRecord.DataContext = vo; pop_listLockedFiles.DataContext = vo; ///================================================================================================================================ //Création de la tâche de fond qui va rafraichir la liste des varaibles refreshWorker = new BackgroundWorker(); //Association des évènement aux méthodes à appliquer refreshWorker.DoWork += refreshWorker_DoWork; refreshWorker.RunWorkerCompleted += refreshWorker_RunWorkerCompleted; //Création de l'objet qui va regarder le fichier de colorisation FileWatcher fileWatch = new FileWatcher(gitsync.getRepositoryPath() + "\\" + rulePath); fileWatch.setFileChangeListener(vo); //Chargmement des listes de variables sauvegardé vo.loadVariables(LOCKED_LIST_FILE, true); //Chargement de tous les fichiers sauvegardés qui contiennent les variable bloqués vo.getListLockedVarSaved(); }