コード例 #1
0
        internal static void AddSubGroupField(Model.Archive.ArchiveDataClassesDataContext dc, Model.Common.ArchiveGroupSubGroupField archiveGroupSubGroupField)
        {
            Model.Archive.ArchiveField archiveField = dc.ArchiveFields.Where(t => t.IDParent == archiveGroupSubGroupField.ArchiveGroupFieldID).Single();

            int index = 1;

            if (archiveField.ArchiveSubGroupFields.Count > 0)
            {
                index = (archiveField.ArchiveSubGroupFields.Max(t => t.Index) + 1);
            }

            if (FieldNameAlreadyExist(dc, archiveField.ID, archiveGroupSubGroupField.Label))
            {
                throw new Exception(string.Format("فیلد '{0}' در زیرگروه جدولی '{1}' وجود دارد. لطفا نام دیگری انتخاب کنید", archiveGroupSubGroupField.Label, archiveField.Label));
            }

            Model.Archive.ArchiveSubGroupField archiveSubGroupField = Model.Archive.ArchiveSubGroupField.GetNewInstance(archiveField.ID, archiveGroupSubGroupField.Label, null, archiveGroupSubGroupField.FieldTypeCode, archiveGroupSubGroupField.StatusCode, archiveGroupSubGroupField.BoxTypeCode, archiveGroupSubGroupField.AutoComplete, archiveGroupSubGroupField.MinLength, archiveGroupSubGroupField.MaxLength, archiveGroupSubGroupField.MinValue, archiveGroupSubGroupField.MaxValue, archiveGroupSubGroupField.DefaultValue, archiveGroupSubGroupField.ID, index);
            dc.ArchiveSubGroupFields.InsertOnSubmit(archiveSubGroupField);
            dc.SubmitChanges();

            SqlHelper.CreateFieldForSubGroupField(dc, archiveSubGroupField);

            try
            {
                Setting.User.ThisProgram.AddLog(Setting.User.UserOparatesPlaceNames.بایگانی, Setting.User.UserOparatesNames.ثبت, null, "افزودن فیلد '" + archiveSubGroupField.Label + "' به فیلد '" + archiveField.Label + "' در گروه اطلاعاتی '" + archiveField.ArchiveTab.Title + "' در بایگانی '" + dc.GetArchive().Title + "'");
            }
            catch
            {
                throw new Exception("خطا در ذخیره عملکرد کاربر جاری");
            }
        }
コード例 #2
0
        internal static void UpdateSubGroupField(Model.Archive.ArchiveDataClassesDataContext dc, Model.Common.ArchiveGroupSubGroupField archiveGroupSubGroupField)
        {
            Model.Archive.ArchiveSubGroupField originalArchiveSubGroupField = dc.ArchiveSubGroupFields.Where(t => t.IDParent == archiveGroupSubGroupField.ID).Single();
            string originalLabel        = originalArchiveSubGroupField.Label;
            int    originalBoxTypeCode  = originalArchiveSubGroupField.BoxTypeCode;
            string originalDefaultValue = originalArchiveSubGroupField.DefaultValue;

            if (FieldNameAlreadyExist(dc, originalArchiveSubGroupField.ArchiveFieldID, archiveGroupSubGroupField.Label, originalArchiveSubGroupField.ID))
            {
                throw new Exception(string.Format("فیلد '{0}' در زیرگروه جدولی '{1}' وجود دارد. لطفا نام دیگری انتخاب کنید", archiveGroupSubGroupField.Label, originalArchiveSubGroupField.ArchiveField.Label));
            }

            Model.Archive.ArchiveSubGroupField archiveSubGroupField = Model.Archive.ArchiveSubGroupField.GetNewInstance(originalArchiveSubGroupField.ID, originalArchiveSubGroupField.ArchiveField.ID, archiveGroupSubGroupField.Label, originalArchiveSubGroupField.FieldName, archiveGroupSubGroupField.FieldTypeCode, archiveGroupSubGroupField.StatusCode, archiveGroupSubGroupField.BoxTypeCode, archiveGroupSubGroupField.AutoComplete, archiveGroupSubGroupField.MinLength, archiveGroupSubGroupField.MaxLength, archiveGroupSubGroupField.MinValue, archiveGroupSubGroupField.MaxValue, archiveGroupSubGroupField.DefaultValue, originalArchiveSubGroupField.IDParent, originalArchiveSubGroupField.Index);
            Model.Archive.ArchiveSubGroupField.Copy(originalArchiveSubGroupField, archiveSubGroupField);
            dc.SubmitChanges();

            SqlHelper.UpdateGroupField(dc, originalArchiveSubGroupField, (Enums.BoxTypes)originalBoxTypeCode, originalDefaultValue);

            try
            {
                Setting.User.ThisProgram.AddLog(Setting.User.UserOparatesPlaceNames.بایگانی, Setting.User.UserOparatesNames.ویرایش, null, "ویرایش فیلد '" + originalLabel + "' در فیلد '" + originalArchiveSubGroupField.ArchiveField.Label + "' در گروه اطلاعاتی '" + originalArchiveSubGroupField.ArchiveField.ArchiveTab.Title + "' در بایگانی '" + dc.GetArchive().Title + "'");
            }
            catch
            {
                throw new Exception("خطا در ذخیره عملکرد کاربر جاری");
            }
        }
コード例 #3
0
        internal static void DeleteSubGroupField(Model.Archive.ArchiveDataClassesDataContext dc, Model.Common.ArchiveGroupSubGroupField archiveGroupSubGroupField)
        {
            Model.Archive.ArchiveSubGroupField archiveSubGroupField = dc.ArchiveSubGroupFields.Where(t => t.IDParent == archiveGroupSubGroupField.ID).Single();
            string originalLabel             = archiveSubGroupField.Label;
            string originalArchiveFieldLabel = archiveSubGroupField.ArchiveField.Label;
            string originalArchiveTabTitle   = archiveSubGroupField.ArchiveField.ArchiveTab.Title;

            archiveSubGroupField.IDParent = null;
            dc.SubmitChanges();
        }
コード例 #4
0
        internal static int AddSubGroupField(Field field, int archiveFieldID)
        {
            Model.Archive.ArchiveDataClassesDataContext dc = Model.Archive.ArchiveDataClassesDataContext.GetNewInstance();
            dc.Connection.Open();
            dc.Transaction = dc.Connection.BeginTransaction();
            try
            {
                Model.Archive.ArchiveField archiveField = dc.ArchiveFields.Where(t => t.ID == archiveFieldID).Single();
                int index = 1;
                if (archiveField.ArchiveSubGroupFields.Count > 0)
                {
                    index = (archiveField.ArchiveSubGroupFields.Max(t => t.Index) + 1);
                }

                if (FieldNameAlreadyExist(dc, archiveFieldID, field.Label))
                {
                    throw new Exception(string.Format("فیلد '{0}' در زیرگروه جدولی '{1}' وجود دارد. لطفا نام دیگری انتخاب کنید", field.Label, archiveField.Label));
                }

                Model.Archive.ArchiveSubGroupField archiveSubGroupField = Model.Archive.ArchiveSubGroupField.GetNewInstance(archiveFieldID, field.Label, field.FieldName, field.FieldTypeCode, field.StatusCode, field.BoxTypeCode, field.AutoComplete, field.MinLength, field.MaxLength, field.MinValue, field.MaxValue, field.DefaultValue, null, index);
                dc.ArchiveSubGroupFields.InsertOnSubmit(archiveSubGroupField);
                dc.SubmitChanges();

                SqlHelper.CreateFieldForSubGroupField(dc, archiveSubGroupField);

                try
                {
                    Setting.User.ThisProgram.AddLog(Setting.User.UserOparatesPlaceNames.بایگانی, Setting.User.UserOparatesNames.ثبت, null, "افزودن فیلد '" + archiveSubGroupField.Label + "' به فیلد '" + archiveField.Label + "' در گروه اطلاعاتی '" + archiveField.ArchiveTab.Title + "' در بایگانی '" + dc.GetArchive().Title + "'");
                }
                catch
                {
                    throw new Exception("خطا در ذخیره عملکرد کاربر جاری");
                }

                dc.Transaction.Commit();
                dc.Connection.Close();

                return(archiveSubGroupField.ID);
            }
            catch
            {
                dc.Transaction.Rollback();
                dc.Connection.Close();
                throw;
            }
            finally
            {
                if (dc.Connection.State == System.Data.ConnectionState.Open)
                {
                    dc.Connection.Close();
                }
            }
        }
コード例 #5
0
        internal static void DeleteSubGroupField(int id)
        {
            Model.Archive.ArchiveDataClassesDataContext dc = Model.Archive.ArchiveDataClassesDataContext.GetNewInstance();
            dc.Connection.Open();
            dc.Transaction = dc.Connection.BeginTransaction();
            try
            {
                Model.Archive.ArchiveSubGroupField archiveSubGroupField = dc.ArchiveSubGroupFields.Where(t => t.ID == id).Single();
                string originalLabel             = archiveSubGroupField.Label;
                string originalArchiveFieldLabel = archiveSubGroupField.ArchiveField.Label;
                string originalArchiveTabTitle   = archiveSubGroupField.ArchiveField.ArchiveTab.Title;
                if (archiveSubGroupField.IDParent.HasValue)
                {
                    archiveSubGroupField.IDParent = null;
                    dc.SubmitChanges();
                }
                else
                {
                    SqlHelper.DeleteGroupField(dc, archiveSubGroupField);
                    dc.ArchiveSubGroupFields.DeleteOnSubmit(archiveSubGroupField);
                    dc.SubmitChanges();

                    try
                    {
                        Setting.User.ThisProgram.AddLog(Setting.User.UserOparatesPlaceNames.بایگانی, Setting.User.UserOparatesNames.حذف, null, "حذف فیلد '" + originalLabel + "' در فیلد '" + originalArchiveFieldLabel + "' در گروه اطلاعاتی '" + originalArchiveTabTitle + "' در بایگانی '" + dc.GetArchive().Title + "'");
                    }
                    catch
                    {
                        throw new Exception("خطا در ذخیره عملکرد کاربر جاری");
                    }
                }

                dc.Transaction.Commit();
                dc.Connection.Close();
            }
            catch
            {
                dc.Transaction.Rollback();
                dc.Connection.Close();
                throw;
            }
            finally
            {
                if (dc.Connection.State == System.Data.ConnectionState.Open)
                {
                    dc.Connection.Close();
                }
            }
        }