public int DeleteAccounts()
        {
            ClearDataGrid(Viewer.DataGridView_Delete);
            int count = 0;

            foreach (var resign in DeleteList)
            {
                if (Executioner.DeleteAccount(resign, out string erorr))
                {
                    resign.Status = RecordStatus.Deleted;
                    Viewer.AddToDeleteGrid(resign, erorr, ActionOkColor);
                    if (!Adapter.UpdateRecord(resign, out var error))
                    {
                        throw new DbException(error);
                    }
                    count++;
                }
                else
                {
                    resign.Status = RecordStatus.Erorr;
                    Viewer.AddToDeleteGrid(resign, erorr, ActionFailColor);
                    resign.AppendErrorMessage(erorr);
                    if (!Adapter.UpdateRecord(resign, out var error))
                    {
                        throw new DbException(error);
                    }
                }
            }
            DeleteList.Clear();
            return(count);
        }
        public int DeleteAccounts()
        {
            var deleteList = Logic.GetTodayDeletes().ToList();

            _logger.Log($"Delete - total: {deleteList.Count()}");
            int count = 1;

            foreach (var resign in deleteList)
            {
                if (Executioner.DeleteAccount(resign, out string erorr))
                {
                    resign.Status = RecordStatus.Deleted;
                    DeleteResults.Add(MakeRow(resign.Id.ToString(),
                                              resign.ADName, resign.HRCode, resign.ReceiveDate.ToString(DateStringFormat),
                                              resign.ResignDay.ToString(DateStringFormat), erorr, Code.I.ToString()));
                    if (!Adapter.UpdateRecord(resign, out var dbError)) //should not happen at all
                    {
                        throw new DbException(dbError);
                    }
                    _logger.Log($"Delete - OK: {resign.ADName}");
                }
                else
                {
                    resign.Status = RecordStatus.Erorr;
                    DeleteResults.Add(MakeRow(resign.Id.ToString(),
                                              resign.ADName,
                                              resign.HRCode,
                                              resign.ReceiveDate.ToString(DateStringFormat),
                                              resign.ResignDay.ToString(DateStringFormat),
                                              erorr,
                                              Code.E.ToString()));
                    resign.AppendErrorMessage(erorr);
                    if (!Adapter.UpdateRecord(resign, out var dbError))
                    {
                        throw new DbException(dbError); //unlikely to happen
                    }
                    _logger.Log($"Delete - Fail: {resign.ADName} reason: {erorr}");
                }
                count++;
            }
            DeleteResults.Sort((item1, item2) => (item1.Last().CompareTo(item2.Last())));
            return(count);
        }