コード例 #1
0
ファイル: LendingList.cs プロジェクト: Shiraz-NJIT/Mahba
 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();
     }
 }
コード例 #2
0
        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();
            }
        }
コード例 #3
0
        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;
            }
        }
コード例 #4
0
        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;
            }
        }