Exemplo n.º 1
0
        internal static Model.Archive.Person AddPerson(string name)
        {
            Model.Archive.Person person = Model.Archive.Person.GetNewInstance(name);
            var dc = Model.Archive.ArchiveDataClassesDataContext.GetNewInstance();

            dc.Connection.Open();
            dc.Transaction = dc.Connection.BeginTransaction();
            try
            {
                dc.Persons.InsertOnSubmit(person);
                dc.SubmitChanges();
                try
                {
                    Setting.User.ThisProgram.AddLog(Setting.User.UserOparatesPlaceNames.امانت, Setting.User.UserOparatesNames.ثبت, null, "ثبت اطلاعات شخص با نام '" + name + "'");
                }
                catch
                {
                    throw new Exception("خطا در ذخیره عملکرد کاربر جاری");
                }
            }
            catch
            {
                dc.Transaction.Rollback();
                dc.Connection.Close();
                throw;
            }
            dc.Transaction.Commit();
            dc.Connection.Close();
            return(person);
        }
Exemplo n.º 2
0
        internal static void UpdatePerson(int originalID, string name)
        {
            var dc = Model.Archive.ArchiveDataClassesDataContext.GetNewInstance();

            dc.Connection.Open();
            dc.Transaction = dc.Connection.BeginTransaction();
            try
            {
                Model.Archive.Person person         = Model.Archive.Person.GetNewInstance(name);
                Model.Archive.Person originalPerson = dc.Persons.Where(t => t.ID == originalID).Single();
                string originalName = originalPerson.Name;
                Model.Archive.Person.Copy(originalPerson, person);
                dc.SubmitChanges();
                try
                {
                    Setting.User.ThisProgram.AddLog(Setting.User.UserOparatesPlaceNames.امانت, Setting.User.UserOparatesNames.ویرایش, null, "ویرایش اطلاعات شخص با نام '" + originalName + "'");
                }
                catch
                {
                    throw new Exception("خطا در ذخیره عملکرد کاربر جاری");
                }
            }
            catch
            {
                dc.Transaction.Rollback();
                dc.Connection.Close();
                throw;
            }
            dc.Transaction.Commit();
            dc.Connection.Close();
        }
Exemplo n.º 3
0
        internal static void Delete(int personID)
        {
            var dc = Model.Archive.ArchiveDataClassesDataContext.GetNewInstance();

            dc.Connection.Open();
            dc.Transaction = dc.Connection.BeginTransaction();

            Model.Archive.Person person = null;

            try
            {
                var query = from temp in dc.Persons where temp.ID == personID select temp;
                person = query.Single();
                string originalName = person.Name;
                Model.Archive.Person.Delete(dc, person);
                dc.SubmitChanges();

                try
                {
                    Setting.User.ThisProgram.AddLog(Setting.User.UserOparatesPlaceNames.امانت, Setting.User.UserOparatesNames.حذف, null, "حذف اطلاعات شخص با نام '" + originalName + "'");
                }
                catch
                {
                    throw new Exception("خطا در ذخیره عملکرد کاربر جاری");
                }

                dc.Transaction.Commit();
                dc.Connection.Close();
            }
            catch (System.Data.SqlClient.SqlException ex)
            {
                dc.Transaction.Rollback();
                dc.Connection.Close();
                if (ex.ErrorCode == -2146232060 && ex.Number == 547)
                {
                    throw new Exception("اطلاعات شخص با نام '" + person.Name + "' قابل حذف نیست از این اطلاعات در جای دیگر استفاده شده است");
                }
                else
                {
                    throw new Exception("خطا در حذف اطلاعات شخص با نام '" + person.Name + "'" + "     " + ex.Message);
                }
            }
            catch (Exception ex)
            {
                dc.Transaction.Rollback();
                dc.Connection.Close();
                throw new Exception("خطا در حذف اطلاعات شخص با نام '" + person.Name + "'" + "     " + ex.Message);
            }
            finally
            {
                if (dc.Connection.State != System.Data.ConnectionState.Closed)
                {
                    dc.Connection.Close();
                }
            }
        }
Exemplo n.º 4
0
 private void toolStripButtonEdit_Click(object sender, EventArgs e)
 {
     if (radGridView.SelectedRows.Count != 1)
     {
         return;
     }
     Model.Archive.Person person = radGridView.SelectedRows[0].DataBoundItem as Model.Archive.Person;
     using (View.LendingManageForms.PersonAddEdit f = new View.LendingManageForms.PersonAddEdit(person.ID))
     {
         bool flag = (this.Parent as Njit.Common.Popup.Popup).AutoClose;
         (this.Parent as Njit.Common.Popup.Popup).AutoClose = true;
         f.ShowDialog();
         (this.Parent as Njit.Common.Popup.Popup).AutoClose = flag;
     }
 }
Exemplo n.º 5
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();
 }
Exemplo n.º 6
0
        private void btnOK_Click(object sender, EventArgs e)
        {
            if (!(this.ActiveControl == btnOK || this.ActiveControl == durationHourTextBoxExtended))
            {
                Njit.Common.SendKeys.SendKeyDown(Keys.Tab);
                return;
            }
            try
            {
                ValidateContent();
            }
            catch (Njit.Common.ValidateException ex)
            {
                if (ex.Control != null)
                {
                    ex.Control.TextChanged -= ControlTextChanged;
                    ex.Control.Leave       -= ControlLeave;
                }
                PersianMessageBox.Show(ex.Message);
                if (ex.Control != null)
                {
                    ex.Control.Focus();
                    ex.Control.TextChanged += ControlTextChanged;
                    ex.Control.Leave       += ControlLeave;
                    errorProvider.SetError(ex.Control, ex.Message);
                }
                return;
            }
            Model.Archive.Dossier dossier = Controller.Archive.DossierController.Select(this.PersonnelNumber);
            if (!isAccessPermission(dossier))
            {
                PersianMessageBox.Show(this, string.Format("مجوز دسترسی به پرونده های با سطح دسترسی '{0}' برای شما صادر نشده است", dossier.DossierType.Title));
                this.Close();
                return;
            }
            int lendingID = 0;

            try
            {
                Model.Archive.Person person = Controller.Archive.PersonController.SearchPersonByName(cmPerson.Text);
                if (person == null)
                {
                    person = Controller.Archive.PersonController.AddPerson(cmPerson.Text);
                }
                if (person != null)
                {
                    if (!EditMode)
                    {
                        lendingID = Controller.Archive.LendingController.AddLending(Model.Archive.Lending.GetNewInstance(this.PersonnelNumber, person.ID, intentionComboBoxExtended.Text, dateDateControl.Text, timeTimeControl.Text, durationDayTextBoxExtended.IntValue.Value, durationHourTextBoxExtended.IntValue.Value, null, null, null, null, Setting.User.ThisProgram.GetCurrentUser <Model.Common.User>().Code.ToString()));
                    }
                    else
                    {
                        lendingID = Controller.Archive.LendingController.UpdateLending(this.OriginalLending.ID, Model.Archive.Lending.GetNewInstance(this.OriginalLending.ID, this.PersonnelNumber, person.ID, intentionComboBoxExtended.Text, dateDateControl.Text, timeTimeControl.Text, durationDayTextBoxExtended.IntValue.Value, durationHourTextBoxExtended.IntValue.Value, this.OriginalLending.ReturnDate, this.OriginalLending.ReturnTime, this.OriginalLending.RealDurationDay, this.OriginalLending.RealDurationHour, Setting.User.ThisProgram.GetCurrentUser <Model.Common.User>().Code.ToString()));
                    }
                }
            }
            catch (Exception ex)
            {
                PersianMessageBox.Show(this, "خطا در ثبت اطلاعات" + "\r\n\r\n" + ex.Message);
                return;
            }
            if (lendingID != 0)
            {
                ProgramEvents.OnLendingsChanged();
                this.Tag          = lendingID;
                this.DialogResult = System.Windows.Forms.DialogResult.OK;
                this.Close();
            }
        }