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); }
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(); }
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(); } } }
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; } }
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(); }
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(); } }