예제 #1
0
 private void deleteForm_DeleteAll(object sender, Njit.Program.Forms.DeleteForm.DeleteAllEventArgs e)
 {
     foreach (var item in e.Items)
     {
         try
         {
             Controller.Archive.LegalPersonController.Delete(Controller.Archive.LegalPersonController.GetLegalPerson(int.Parse(item.Tag.ToString())));
         }
         catch (Exception ex)
         {
             e.ErrorList.Add(ex.Message);
         }
     }
     RefreshData();
 }
예제 #2
0
 void DeleteForm_DeleteAll(object sender, Njit.Program.Forms.DeleteForm.DeleteAllEventArgs e)
 {
     foreach (ListViewItem item in e.Items)
     {
         Model.Archive.Person person = (Model.Archive.Person)item.Tag;
         try
         {
             Controller.Archive.PersonController.Delete(person.ID);
         }
         catch (Exception ex)
         {
             e.ErrorList.Add(ex.Message);
         }
     }
     ProgramEvents.OnPersonsChanged();
 }
예제 #3
0
        void deleteForm_DeleteAll(object sender, Njit.Program.Forms.DeleteForm.DeleteAllEventArgs e)
        {
            foreach (ListViewItem item in e.Items)
            {
                Model.Common.UserRoleReport obj = (Model.Common.UserRoleReport)item.Tag;

                Model.Common.ArchiveCommonDataClassesDataContext dc = new Model.Common.ArchiveCommonDataClassesDataContext(Setting.Sql.ThisProgram.DatabaseConnection.ConnectionString);
                dc.Connection.Open();
                dc.Transaction = dc.Connection.BeginTransaction();
                try
                {
                    if (obj.Locked)
                    {
                        throw new Exception("این گروه را نمیتوانید حذف کنید");
                    }
                    int userCount = Setting.User.ThisProgram.GetRoleMembershipCount(obj.Code);
                    if (userCount > 0)
                    {
                        throw new Exception("در این گروه " + userCount + " کاربر ثبت شده است");
                    }
                    var    query        = from temp in dc.UserRoles where temp.ID == obj.Code select temp;
                    var    userRole     = query.Single();
                    string originalName = userRole.Name;
                    Model.Common.UserRole.Delete(dc, userRole);
                    dc.SubmitChanges();
                    try
                    {
                        Setting.User.ThisProgram.AddLog(dc, Setting.User.UserOparatesPlaceNames.کاربران, Setting.User.UserOparatesNames.حذف, null, "حذف گروه کاربران '" + originalName + "'");
                    }
                    catch
                    {
                        throw new Exception("خطا در ذخیره عملکرد کاربر جاری");
                    }
                }
                catch (System.Data.SqlClient.SqlException ex)
                {
                    dc.Transaction.Rollback();
                    dc.Connection.Close();
                    if (ex.ErrorCode == -2146232060 && ex.Number == 547)
                    {
                        e.ErrorList.Add("اطلاعات گروه  '" + obj.Name + "' قابل حذف نیست. از این اطلاعات در جای دیگر استفاده شده است");
                    }
                    else
                    {
                        e.ErrorList.Add("خطا در حذف اطلاعات گروه '" + obj.Name + "'" + Environment.NewLine + Environment.NewLine + ex.Message);
                    }
                }
                catch (Exception ex)
                {
                    dc.Transaction.Rollback();
                    dc.Connection.Close();
                    e.ErrorList.Add("خطا در حذف اطلاعات گروه '" + obj.Name + "'" + Environment.NewLine + Environment.NewLine + ex.Message);
                }
                if (dc.Connection.State != ConnectionState.Closed)
                {
                    dc.Transaction.Commit();
                    dc.Connection.Close();
                }
            }
            ProgramEvents.OnUserRolesChanged();
        }