RunDeletion() 공개 메소드

Runs the deletion.
public RunDeletion ( string table, int IntKey ) : bool
table string Table.
IntKey int Int key.
리턴 bool
예제 #1
0
        protected void OnRemoveActionActivated(object sender, System.EventArgs e)
        {
            TreeIter iter;

            treeviewref.Selection.GetSelected(out iter);
            SelectedID = (int)filter.GetValue(iter, 0);
            bool result;

            if (QSMain.IsOrmDeletionConfigered)
            {
                result = QSMain.OnOrmDeletion(TableRef, SelectedID);
            }
            else
            {
                Delete winDelete = new Delete();
                result = winDelete.RunDeletion(TableRef, SelectedID);
                winDelete.Destroy();
            }

            if (result)
            {
                UpdateList();
                RefChanged = true;
            }
        }
예제 #2
0
 protected void OnDeleteOrder(object sender, EventArgs arg)
 {
     CalendarItem item = (CalendarItem)sender;
     Delete winDelete = new Delete();
     if (winDelete.RunDeletion("orders", item.id))
         item.Calendar.RefreshOrders();
 }
예제 #3
0
        protected void OnButtonDeleteClicked(object sender, EventArgs e)
        {
            TreeIter iter;

            treeviewUsers.Selection.GetSelected (out iter);
            int itemid = (int)UsersListStore.GetValue (iter, 0);
            string loginname = UsersListStore.GetValue (iter, 1).ToString ();
            bool result;
            if (QSMain.IsOrmDeletionConfigered) {
                result = QSMain.OnOrmDeletion ("users", itemid);
            } else {
                Delete winDel = new Delete ();
                result = winDel.RunDeletion ("users", itemid);
                winDel.Destroy ();
            }

            if (result) {
                logger.Info ("Удаляем пользователя MySQL...");
                if (QSSaaS.Session.IsSaasConnection) {
                    QSSaaS.ISaaSService svc = QSSaaS.Session.GetSaaSService ();
                    if (!svc.changeBaseAccessFromProgram (QSSaaS.Session.SessionId, loginname, QSSaaS.Session.SaasBaseName, false))
                        logger.Error ("Ошибка удаления доступа к базе на сервере SaaS.");
                } else {
                    string sql;
                    sql = "DROP USER @login, @login @'localhost'";
                    try {
                        QSMain.CheckConnectionAlive ();
                        MySqlCommand cmd = new MySqlCommand (sql, QSMain.connectionDB);
                        cmd.Parameters.AddWithValue ("@login", loginname);
                        cmd.ExecuteNonQuery ();
                        logger.Info ("Пользователь удалён. Ok");

                        if (QSMain.User.Id == itemid) {
                            MessageDialog md = new MessageDialog (this, DialogFlags.DestroyWithParent,
                                                   MessageType.Warning, ButtonsType.Close,
                                                   "Был удален пользователь, под которым Вы подключились к базе данных, чтобы недопустить некорректных операций программа закроется. Зайдите в программу от имени другого пользователя.");
                            md.Run ();
                            md.Destroy ();
                            Environment.Exit (0);
                        }
                    } catch (Exception ex) {
                        logger.Error (ex, "Ошибка удаления пользователя!");
                        QSMain.ErrorMessage (this, ex);
                    }
                }
            }

            UpdateUsers ();
        }
예제 #4
0
 protected void OnButtonDeleteClicked(object sender, EventArgs e)
 {
     Delete winDelete = new Delete();
     if (winDelete.RunDeletion("orders", Item_id))
         Respond(ResponseType.Ok);
 }
예제 #5
0
        protected void OnButtonDeleteClicked(object sender, EventArgs e)
        {
            TreeIter iter;

            treeviewUsers.Selection.GetSelected(out iter);
            int    itemid    = (int)UsersListStore.GetValue(iter, 0);
            string loginname = UsersListStore.GetValue(iter, 1).ToString();
            bool   result;

            if (QSMain.IsOrmDeletionConfigered)
            {
                result = QSMain.OnOrmDeletion("users", itemid);
            }
            else
            {
                Delete winDel = new Delete();
                result = winDel.RunDeletion("users", itemid);
                winDel.Destroy();
            }

            if (result)
            {
                if (QSSaaS.Session.IsSaasConnection)
                {
                    logger.Info("Удаляем пользователя в облаке...");
                    QSSaaS.ISaaSService svc = QSSaaS.Session.GetSaaSService();

                    if (!svc.changeBaseAccessFromProgram(QSSaaS.Session.SessionId, loginname, QSSaaS.Session.SaasBaseName, false))
                    {
                        logger.Error("Ошибка удаления доступа к базе на сервере SaaS.");
                    }

                    if (svc.UserAccessBaseCount(QSSaaS.Session.SessionId, QSSaaS.Session.Account, loginname) == 0)
                    {
                        if (MessageDialogWorks.RunQuestionDialog($"У пользователя '{loginname}' на сервисе QS:Облако больше не осталось баз данных, к которым он имеет доступ. Удалить пользователя с QS:Облако тоже?"))
                        {
                            if (!svc.DeleteCloudUser(QSSaaS.Session.SessionId, QSSaaS.Session.Account, loginname))
                            {
                                var text = "Удаления пользователя с QS:Облако не произошло.";
                                logger.Error(text);
                                MessageDialogWorks.RunErrorDialog(text);
                            }
                        }
                    }
                }
                else
                {
                    logger.Info("Удаляем пользователя MySQL...");
                    string sql;
                    sql = "DROP USER @login, @login @'localhost'";
                    try {
                        QSMain.CheckConnectionAlive();
                        MySqlCommand cmd = new MySqlCommand(sql, QSMain.connectionDB);
                        cmd.Parameters.AddWithValue("@login", loginname);
                        cmd.ExecuteNonQuery();
                        logger.Info("Пользователь удалён. Ok");

                        if (QSMain.User.Id == itemid)
                        {
                            MessageDialog md = new MessageDialog(this, DialogFlags.DestroyWithParent,
                                                                 MessageType.Warning, ButtonsType.Close,
                                                                 "Был удален пользователь, под которым Вы подключились к базе данных, чтобы недопустить некорректных операций программа закроется. Зайдите в программу от имени другого пользователя.");
                            md.Run();
                            md.Destroy();
                            Environment.Exit(0);
                        }
                    } catch (Exception ex) {
                        logger.Error(ex, "Ошибка удаления пользователя!");
                        QSMain.ErrorMessage(this, ex);
                    }
                }
            }

            UpdateUsers();
        }
예제 #6
0
        protected void OnRemoveActionActivated(object sender, System.EventArgs e)
        {
            TreeIter iter;
            treeviewref.Selection.GetSelected(out iter);
            SelectedID = (int) filter.GetValue(iter, 0);
            bool result;
            if (QSMain.IsOrmDeletionConfigered) {
                result = QSMain.OnOrmDeletion (TableRef, SelectedID);
            } else {
                Delete winDelete = new Delete();
                result = winDelete.RunDeletion (TableRef, SelectedID);
                winDelete.Destroy();
            }

            if(result)
            {
                UpdateList();
                RefChanged = true;
            }
        }
    protected void OnButtonDelClicked(object sender, EventArgs e)
    {
        TreeIter iter;
        Delete winDelete = new Delete();

        treeviewOrders.Selection.GetSelected(out iter);
        int itemid = (int) OrdersFilter.GetValue(iter, (int)OrdersCol.id);
        winDelete.RunDeletion("orders", itemid);
        UpdateOrders();
    }
예제 #8
0
    protected void OnButtonDelClicked(object sender, System.EventArgs e)
    {
        // Удаление
        TreeIter iter;
        int type, itemid;
        Delete winDelete = new Delete ();
        string place;

        switch (notebookMain.CurrentPage) {
        case 0:
            treeviewPlaces.Selection.GetSelected (out iter);
            place = PlaceSort.GetValue (iter, (int)PlaceCol.place_no).ToString ();
            type = Convert.ToInt32 (PlaceSort.GetValue (iter, (int)PlaceCol.type_place_id));
            winDelete.RunDeletion ("places", type, place);
            UpdatePlaces ();
            break;
        case 1:
            treeviewLessees.Selection.GetSelected (out iter);
            itemid = Convert.ToInt32 (LesseesSort.GetValue (iter, (int)LesseesCol.id));
            winDelete.RunDeletion ("lessees", itemid);
            UpdateLessees ();
            break;
        case 2:
            treeviewContract.Selection.GetSelected (out iter);
            itemid = Convert.ToInt32 (ContractSort.GetValue (iter, (int)ContractCol.id));
            winDelete.RunDeletion ("contracts", itemid);
            UpdateContract ();
            break;
        case 3:
            itemid = Convert.ToInt32 (treeviewAccrual.GetSelectedObject<AccrualListEntryDTO>().Id);
            winDelete.RunDeletion ("accrual", itemid);
            UpdateAccrual ();
            break;
        case 4:
            switch (notebookCash.CurrentPage) {
            case 0:
                treeviewIncome.Selection.GetSelected (out iter);
                itemid = Convert.ToInt32 (CashIncomeSort.GetValue (iter, (int)CashIncomeCol.id));
                winDelete.RunDeletion ("credit_slips", itemid);
                CalculateTotalCash ();
                break;
            case 1:
                treeviewExpense.Selection.GetSelected (out iter);
                itemid = Convert.ToInt32 (CashExpenseSort.GetValue (iter, (int)CashExpenseCol.id));
                winDelete.RunDeletion ("debit_slips", itemid);
                CalculateTotalCash ();
                break;
            case 2:
                treeviewAdvance.Selection.GetSelected (out iter);
                itemid = Convert.ToInt32 (CashAdvanceSort.GetValue (iter, (int)CashAdvanceCol.id));
                winDelete.RunDeletion ("advance", itemid);
                break;
            }
            UpdateCash ();
            break;
        case 5:
            treeviewEvents.Selection.GetSelected (out iter);
            itemid = Convert.ToInt32 (EventsListStore.GetValue (iter, 0));
            winDelete.RunDeletion ("events", itemid);
            UpdateEvents ();
            break;
        default:
            break;
        }
        winDelete.Destroy ();
    }
예제 #9
0
 protected void OnButtonDeleteReadingClicked(object sender, EventArgs e)
 {
     TreeIter iter;
     Meters[notebookMeters.CurrentPage].treeview.Selection.GetSelected (out iter);
     int itemid = (int) Meters [notebookMeters.CurrentPage].treeview.Model.GetValue (iter, 0);
     Delete winDelete = new Delete();
     if(winDelete.RunDeletion("meter_reading", itemid))
         UpdateReadings();
 }
예제 #10
0
 protected void OnButtonDeleteMeterClicked(object sender, EventArgs e)
 {
     int itemid = Meters[notebookMeters.CurrentPage].ID;
     Delete winDelete = new Delete();
     if(winDelete.RunDeletion("meters", itemid))
         UpdateMeters();
 }
예제 #11
0
 protected void OnButtonDeleteClicked(object sender, EventArgs e)
 {
     TreeIter iter;
     treeviewTariff.Selection.GetSelected (out iter);
     if ((int)TariffListStore.GetValue (iter, 0) > 0)
     {
         int itemid = (int)TariffListStore.GetValue (iter, 0);
         Delete winDelete = new Delete();
         if(winDelete.RunDeletion("meter_tariffs", itemid))
             TariffListStore.Remove(ref iter);
     }
     else
     {
         TariffListStore.Remove(ref iter);
     }
     TestCanSave ();
     OnTreeviewTariffCursorChanged (null, null);
 }