Example #1
0
        public static void ConfigureDeletion()
        {
            logger.Info("Настройка параметров удаления в модуле Contacts...");

            DeleteConfig.AddDeleteInfo(new DeleteInfo {
                ObjectClass   = typeof(PhoneType),
                SqlSelect     = "SELECT id, name FROM @tablename ",
                DisplayString = "Тип телефона {1}",
                DeleteItems   = new List <DeleteDependenceInfo> {
                    DeleteDependenceInfo.Create <Phone> (item => item.NumberType)
                }
            }.FillFromMetaInfo()
                                       );

            DeleteConfig.AddDeleteInfo(new DeleteInfo {
                ObjectClass   = typeof(Phone),
                SqlSelect     = "SELECT id, number, additional FROM @tablename ",
                DisplayString = "Телефон {1} доб. {2}"
            }.FillFromMetaInfo()
                                       );

            DeleteConfig.AddDeleteInfo(new DeleteInfo {
                ObjectClass   = typeof(EmailType),
                SqlSelect     = "SELECT id, name FROM @tablename ",
                DisplayString = "Тип E-mail {1}",
                DeleteItems   = new List <DeleteDependenceInfo> {
                    DeleteDependenceInfo.Create <Email> (item => item.EmailType)
                }
            }.FillFromMetaInfo()
                                       );

            DeleteConfig.AddDeleteInfo(new DeleteInfo {
                ObjectClass   = typeof(Email),
                SqlSelect     = "SELECT id, address FROM @tablename ",
                DisplayString = "{1}"
            }.FillFromMetaInfo()
                                       );

            DeleteConfig.AddDeleteInfo(new DeleteInfo {
                ObjectClass   = typeof(Person),
                SqlSelect     = "SELECT id, surname, name FROM @tablename ",
                DisplayString = "{1} {2}"
            }.FillFromMetaInfo()
                                       );

            DeleteConfig.AddDeleteInfo(new DeleteInfo {
                ObjectClass   = typeof(Post),
                SqlSelect     = "SELECT id, name FROM @tablename ",
                DisplayString = "{1}"
            }.FillFromMetaInfo()
                                       );
        }
Example #2
0
        public virtual void DeleteItemsTypesTest(IDeleteRule info, DeleteDependenceInfo dependence)
        {
            if (!String.IsNullOrEmpty(dependence.PropertyName))
            {
                Assert.That(info.ObjectClass, Is.EqualTo(dependence.ObjectClass.GetProperty(dependence.PropertyName).PropertyType),
                            "Свойство {0}.{1} определенное в зависимости удаления для класса {2}, имеет другой тип.",
                            dependence.ObjectClass.Name,
                            dependence.PropertyName,
                            info.ObjectClass
                            );
                Assert.Pass();
            }

            Assert.Ignore("Для этой зависимости удаления нет необходимости тестировать типы.");
        }
Example #3
0
 public Operation CreateDeleteOperation(EntityDTO masterEntity, DeleteDependenceInfo depend, IList<EntityDTO> dependEntities)
 {
     return new SQLDeleteOperation {
         ItemId = masterEntity.Id,
         TableName = TableName,
         WhereStatment = depend.WhereStatment
     };
 }
Example #4
0
 public IList<EntityDTO> GetDependEntities(DeleteCore core, DeleteDependenceInfo depend, EntityDTO masterEntity)
 {
     return GetEntitiesList(depend.WhereStatment, masterEntity.Id);
 }
Example #5
0
 public override void DeleteItemsTypesTest(IDeleteRule info, DeleteDependenceInfo dependence)
 {
     base.DeleteItemsTypesTest(info, dependence);
 }