public void VisitFacility(BusinessEntityData data)
        {
            if (data.Type == (int)Helper.BusinessEntityType.Storage)
            {
                return;
            }

            throw new BusinessEntityValidationException("You can add only Storage to Facility");
        }
        public void VisitCompany(BusinessEntityData data)
        {
            if (data.Type == (int)Helper.BusinessEntityType.Facility)
            {
                return;
            }

            throw new BusinessEntityValidationException("You can add only Facility to Companies");
        }
        public void VisitCorporation(BusinessEntityData data)
        {
            if (data.Type == (int)Helper.BusinessEntityType.Corporation)
            {
                return;
            }

            if (data.Type == (int)Helper.BusinessEntityType.Company)
            {
                return;
            }

            throw new BusinessEntityValidationException("You can add only Companies to Corporation");
        }
Exemple #4
0
        public void AddBusinessEntity(IBusinessEntity entity)
        {
            var currentElement = Context.BusinessEntityList.FirstOrDefault(x => x.Number == this.Number);

            var visitor = new ValidationVisitor();
            var data    = new BusinessEntityData()
            {
                ID       = Guid.NewGuid(),
                Title    = entity.Title,
                Number   = entity.Number,
                Type     = entity.Type,
                ParentID = currentElement == null ? Guid.Empty : currentElement.ID
            };

            Validate(visitor, data);
            Context.BusinessEntityList.Add(data);
        }
Exemple #5
0
 public abstract void Validate(IValidationVisitor visitor, BusinessEntityData data);
Exemple #6
0
 public override void Validate(IValidationVisitor visitor, BusinessEntityData data)
 {
     visitor.VisitCompany(data);
 }
 public void VisitStorage(BusinessEntityData data)
 {
     throw new BusinessEntityValidationException("You can't add any business entity to Storage");
 }