private void ProcessSqlObjectDelete() { if (treeView1.SelectedNode.Tag == null || !(treeView1.SelectedNode.Tag is Object objectDel) || cbVersions.SelectedItem == null || !(cbVersions.SelectedItem is VersionObjectCounter versionObjectCounterDel)) { return; } if (MessageBox.Show(this, $"Etes vous certain de vouloir supprimer {objectDel} ?", "Confirmez la suppression", MessageBoxButtons.YesNo, MessageBoxIcon.Exclamation, MessageBoxDefaultButton.Button2) != DialogResult.Yes) { return; } var objectisNotAnImplementation = treeView1.SelectedNode.Tag as ObjectWithClientSpecific; using var crudProcess = new CRUDObjectProcess(); crudProcess.Delete(objectDel, objectisNotAnImplementation?.NumberOfClientImplementation ?? 0); var parent = treeView1.SelectedNode.Parent; if (parent != null && parent.Tag != null) { if (parent.Tag is TypeObjectCounter typeObjectCounterDel) { FillReferentialTypeObject(parent, versionObjectCounterDel, typeObjectCounterDel, true); treeView1.SelectedNode.Expand(); DisplayNodeSelected(parent); } else if (parent.Tag is ObjectWithClientSpecific objectWithSpecific) { FillCustomClientList(parent, objectWithSpecific, true); treeView1.SelectedNode.Expand(); DisplayNodeSelected(parent); } } }
private void ProcessSqlObjectAddCustomClientEnd() { if (treeView1.SelectedNode.Tag == null || !(treeView1.SelectedNode.Tag is ObjectWithClientSpecific ObjetAddEnd) || currentObjectEdited == null) { return; } if (sqlTextBox1.Text == currentObjectEdited.ObjectSql) { MessageBox.Show(this, $"Aucun changement entre l'implémentation et la version de départ", "Insertion imposible", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } currentObjectEdited.ObjectSql = sqlTextBox1.Text; AnalyseEntete(); if (string.IsNullOrWhiteSpace(currentObjectEdited.ObjectName)) { MessageBox.Show(this, $"L'analyse du script a échoué.\nImpossible de déterminer le nom de {currentObjectEdited.GetTypeObject().TypeObjectName}", "Insertion imposible", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } using var crudProcess = new CRUDObjectProcess(); int id = crudProcess.Add(currentObjectEdited); FillCustomClientList(treeView1.SelectedNode, ObjetAddEnd, true); var node = SelectNodeObject(treeView1.SelectedNode, id); CancelEdition(node); }
private void ProcessSqlObjectAddEnd() { if (treeView1.SelectedNode.Tag == null || !(treeView1.SelectedNode.Tag is TypeObjectCounter typeObjetAddEnd) || cbVersions.SelectedItem == null || !(cbVersions.SelectedItem is VersionObjectCounter versionObjectCounterAddEnd)) { return; } TreeNode node = null; if (currentObjectEdited != null && sqlTextBox1.Text != currentObjectEdited.ObjectSql) { currentObjectEdited.ObjectSql = sqlTextBox1.Text; AnalyseEntete(); if (string.IsNullOrWhiteSpace(currentObjectEdited.ObjectName)) { MessageBox.Show(this, $"L'analyse du script a échoué.\nImpossible de déterminer le nom de {currentObjectEdited.GetTypeObject().TypeObjectName}", "Insertion imposible", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } using var crudProcess = new CRUDObjectProcess(); int id = crudProcess.Add(currentObjectEdited); FillReferentialTypeObject(treeView1.SelectedNode, versionObjectCounterAddEnd, typeObjetAddEnd, true); node = SelectNodeObject(treeView1.SelectedNode, id); } CancelEdition(node); }
private bool DoImport(CRUDObjectProcess processor, ObjectToImport import) { import.ClientCodeId = (import.Status == EImportType.DifferentImportASCustomClient) ? (int?)baseClient.ClientCodeId : null; int id = processor.Add(import); return(id > 0); }
private void DoImport() { this.UseWaitCursor = true; lblFinalSumary.Text = "Import en cours..."; lblFinalSumary.ForeColor = SystemColors.ControlText; lblStatusSummary.ForeColor = SystemColors.ControlText; lblStatusSummary.Text = "..."; btnPrevious.Enabled = false; btnOk.Enabled = false; btCancel.Enabled = false; Application.DoEvents(); try { int nb = 0, ok = 0; using var processor = new CRUDObjectProcess(); processor.BeginTransaction(); try { foreach (ListViewItem itx in lstChoice.Items) { if (itx.Tag != null && itx.Tag is ObjectToImport import && import.Status.IsAction()) { if (DoImport(processor, import)) { ok++; } nb++; } } processor.CommitTransaction(); lblFinalSumary.Text = $"{ok.Counter("Aucun objet importé", "Un seul objet importé", "{0} objets importés")} sur {nb.Counter("x", "l'objet prévu", "les {0} objets prévus")}"; lblFinalSumary.ForeColor = ok == nb ? Color.Green : Color.Red; lblStatusSummary.ForeColor = ok == nb ? Color.Green : Color.Red; lblStatusSummary.Text = ok == nb ? "" : ""; } catch (Exception ex) { string message = "Erreur de traitement : Opération totalement annulée\n\n" + ex.Message; processor.RollBackTransaction(); lblFinalSumary.Text = message; lblFinalSumary.ForeColor = Color.Red; lblStatusSummary.ForeColor = Color.Red; lblStatusSummary.Text = ""; MessageBox.Show(message, "Erreur de traitement", MessageBoxButtons.OK, MessageBoxIcon.Error); } } finally { this.UseWaitCursor = false; } EnableButtons(); }
private void ProcessSqlObjectEditEnd() { if (currentObjectEdited != null && sqlTextBox1.Text != currentObjectEdited.ObjectSql) { currentObjectEdited.ObjectSql = sqlTextBox1.Text; AnalyseEntete(); if (string.IsNullOrWhiteSpace(currentObjectEdited.ObjectName)) { MessageBox.Show(this, $"L'analyse du script a échoué.\nImpossible de déterminer le nom de {currentObjectEdited.GetTypeObject().TypeObjectName}", "Mise à jour imposible", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } using var crudProcess = new CRUDObjectProcess(); crudProcess.Edit(currentObjectEdited); if ((!currentObjectEdited.ClientCodeId.HasValue || currentObjectEdited.ClientCodeId.Value <= 0) && treeView1.SelectedNode.Text != currentObjectEdited.ToString()) { treeView1.SelectedNode.Text = currentObjectEdited.ToString(); treeView1.SelectedNode.Tag = currentObjectEdited; } } CancelEdition(treeView1.SelectedNode); }