private void btnReturn_Click(object sender, EventArgs e) { if (radGridView.SelectedRows.Count != 1) { return; } Model.Archive.Lending lending = Controller.Archive.LendingController.GetLending(int.Parse(radGridView.SelectedRows[0].Cells["ID"].Value.ToString())); //if (lending.ReturnDate != null) //{ // PersianMessageBox.Show(this, "این پرونده بازگشت داده شده است"); // return; //} using (View.LendingManageForms.LendingReturn f = new View.LendingManageForms.LendingReturn(lending.ID)) { f.ShowDialog(); } }
internal static void DeleteLending(Model.Archive.Lending lending) { var dc = Model.Archive.ArchiveDataClassesDataContext.GetNewInstance(); dc.Connection.Open(); dc.Transaction = dc.Connection.BeginTransaction(); try { var originalLending = (from temp in dc.Lendings where temp.ID == lending.ID select temp).Single(); dc.Lendings.DeleteOnSubmit(originalLending); dc.SubmitChanges(); try { Setting.User.ThisProgram.AddLog(Setting.User.UserOparatesPlaceNames.امانت, Setting.User.UserOparatesNames.حذف, null, "حذف امانت پرونده با " + Setting.Archive.ThisProgram.LoadedArchiveSettings.PersonnelNumber_Label + " " + originalLending.PersonnelNumber); } catch { throw new Exception("خطا در ذخیره عملکرد کاربر جاری"); } } catch (System.Data.SqlClient.SqlException ex) { dc.Transaction.Rollback(); dc.Connection.Close(); if (ex.ErrorCode == -2146232060 && ex.Number == 547) { throw new Exception("امانت پرونده با " + Setting.Archive.ThisProgram.LoadedArchiveSettings.PersonnelNumber_Label + " '" + lending.PersonnelNumber + "' قابل حذف نیست\nاز این اطلاعات در جای دیگر استفاده شده است"); } else { throw new Exception("خطا در حذف امانت پرونده با " + Setting.Archive.ThisProgram.LoadedArchiveSettings + " '" + lending.PersonnelNumber + "'" + " " + ex.Message); } } catch (Exception ex) { dc.Transaction.Rollback(); dc.Connection.Close(); throw new Exception("خطا در حذف امانت پرونده با " + Setting.Archive.ThisProgram.LoadedArchiveSettings.PersonnelNumber_Label + " '" + lending.PersonnelNumber + "'" + "\n\n" + ex.Message); } if (dc.Connection.State != ConnectionState.Closed) { dc.Transaction.Commit(); dc.Connection.Close(); } }
public static int AddLending(Model.Archive.Lending lending) { var dc = Model.Archive.ArchiveDataClassesDataContext.GetNewInstance(); dc.Connection.Open(); dc.Transaction = dc.Connection.BeginTransaction(); try { var query = dc.Lendings.Where(t => t.PersonnelNumber == lending.PersonnelNumber && t.ReturnDate == null); if (query.Count() > 0) { throw new Exception(string.Format("پرونده با {0} '{1}' به '{2}' امانت داده شده است", Setting.Archive.ThisProgram.LoadedArchiveSettings.PersonnelNumber_Label, lending.PersonnelNumber, query.First().Person.Name)); } dc.Lendings.InsertOnSubmit(lending); dc.SubmitChanges(); try { Setting.User.ThisProgram.AddLog(Setting.User.UserOparatesPlaceNames.امانت, Setting.User.UserOparatesNames.ثبت, null, "ثبت امانت پرونده با " + Setting.Archive.ThisProgram.LoadedArchiveSettings.PersonnelNumber_Label + " " + lending.PersonnelNumber + " به " + lending.Person.Name); } catch { throw new Exception("خطا در ذخیره عملکرد کاربر جاری"); } dc.Transaction.Commit(); dc.Connection.Close(); return(lending.ID); } catch { dc.Transaction.Rollback(); dc.Connection.Close(); throw; } }
internal static int UpdateLending(int originalID, Model.Archive.Lending lending) { var dc = Model.Archive.ArchiveDataClassesDataContext.GetNewInstance(); dc.Connection.Open(); dc.Transaction = dc.Connection.BeginTransaction(); try { Model.Archive.Lending originalLending = dc.Lendings.Where(t => t.ID == originalID).Single(); string originalPersonnelNumber = originalLending.PersonnelNumber; Model.Archive.Lending.Copy(originalLending, lending); dc.SubmitChanges(); ReturnLending(dc, originalLending.ID, originalLending.ReturnDate, originalLending.ReturnTime); try { Setting.User.ThisProgram.AddLog(Setting.User.UserOparatesPlaceNames.امانت, Setting.User.UserOparatesNames.ویرایش, null, "ویرایش امانت پرونده با " + Setting.Archive.ThisProgram.LoadedArchiveSettings.PersonnelNumber_Label + " " + originalPersonnelNumber); } catch { throw new Exception("خطا در ذخیره عملکرد کاربر جاری"); } dc.Transaction.Commit(); dc.Connection.Close(); return(originalID); } catch { dc.Transaction.Rollback(); dc.Connection.Close(); throw; } }