public virtual void Update(T obj)
        {
            (obj as BaseEntity).EntityModified();
            ValidationState validation = (obj as BaseEntity).Validate();

            if (!validation.HasErrors())
            {
                this.repository.Update(obj);
            }
        }
        public virtual void Add(T obj)
        {
            (obj as BaseEntity).EntityCreated();
            ValidationState validation = (obj as BaseEntity).Validate();

            if (!validation.HasErrors())
            {
                this.repository.Add(obj);
            }
        }