Beispiel #1
0
 protected void AddModelErrors(DerivationLog derivationLog)
 {
     foreach (var error in derivationLog.Errors)
     {
         this.ModelState.AddModelError(string.Empty, error.Message);
     }
 }
Beispiel #2
0
        public Derivation(ISession session)
        {
            this.session = session;
            this.log = new DerivationLog(this);

            this.derivedObjects = new HashSet<Object>();
            this.preparedObjects = new HashSet<IObject>();
            this.changeSet = session.Checkpoint();

            this.generation = 0;

            var user = new Users(session).GetCurrentUser();
        }
Beispiel #3
0
        protected DerivationError(DerivationLog derivationLog, DerivationRelation[] relations, string errorMessage, object[] errorMessageParameters)
        {
            this.derivationLog = derivationLog;
            this.relations = relations;

            try
            {
                if (errorMessageParameters != null && errorMessageParameters.Length > 0)
                {
                    this.message = string.Format(errorMessage, errorMessageParameters);
                }
                else
                {
                    this.message = string.Format(errorMessage, new object[] { DerivationRelation.ToString(relations) });
                }
            }
            catch
            {
                this.message = this.GetType() + ": " + DerivationRelation.ToString(this.relations);
            }
        }
Beispiel #4
0
        private Dictionary<string, Dictionary<string, string[]>> GetObjects(DerivationLog derivationLog, Dictionary<IObject, IList<RoleType>> accessErrorRoleTypesByObject)
        {
            var messagesByRoleTypeByObject = new Dictionary<IObject, Dictionary<RoleType, List<string>>>();

            foreach (var derivationError in derivationLog.Errors)
            {
                var obj = derivationError.Relations[0].Association;

                Dictionary<RoleType, List<string>> messagesByRoleType;
                if (!messagesByRoleTypeByObject.TryGetValue(obj, out messagesByRoleType))
                {
                    messagesByRoleType = new Dictionary<RoleType, List<string>>();
                    messagesByRoleTypeByObject.Add(obj, messagesByRoleType);
                }

                foreach (var roleType in derivationError.RoleTypes)
                {
                    List<string> messages;
                    if (!messagesByRoleType.TryGetValue(roleType, out messages))
                    {
                        messages = new List<string>();
                        messagesByRoleType.Add(roleType, messages);
                    }

                    messages.Add(derivationError.ToString());
                }
            }

            foreach (var kv in accessErrorRoleTypesByObject)
            {
                var obj = kv.Key;
                var accessErrorRoleTypes = kv.Value;

                Dictionary<RoleType, List<string>> messagesByRoleType;
                if (!messagesByRoleTypeByObject.TryGetValue(obj, out messagesByRoleType))
                {
                    messagesByRoleType = new Dictionary<RoleType, List<string>>();
                    messagesByRoleTypeByObject.Add(obj, messagesByRoleType);
                }

                foreach (var roleType in accessErrorRoleTypes)
                {
                    List<string> messages;
                    if (!messagesByRoleType.TryGetValue(roleType, out messages))
                    {
                        messages = new List<string>();
                        messagesByRoleType.Add(roleType, messages);
                    }

                    messages.Add("Access error");
                }
            }

            return messagesByRoleTypeByObject.ToDictionary(kvp => kvp.Key.Id.ToString(), kvp => kvp.Value.ToDictionary(kvp2 => kvp2.Key.SingularPropertyName, kvp2=>kvp2.Value.ToArray()));
        }
 public DerivationErrorRequired(DerivationLog derivationLog, IObject association, RoleType roleType)
     : this(derivationLog, new DerivationRelation(association, roleType))
 {
 }
 public DerivationErrorRequired(DerivationLog derivationLog, DerivationRelation relation)
     : base(derivationLog, new[] { relation }, ErrorMessages.DerivationErrorRequired)
 {
 }
 public DerivationErrorUnique(DerivationLog derivationLog, DerivationRelation relation)
     : base(derivationLog, new[] { relation }, ErrorMessages.DerivationErrorUnique)
 {
 }
 public DerivationErrorGeneric(DerivationLog derivationLog, IObject association, RoleType roleType, string message, params object[] messageParam)
     : this(derivationLog, new DerivationRelation(association, roleType), message, messageParam)
 {
 }
 public DerivationErrorGeneric(DerivationLog derivationLog, DerivationRelation relation, string message, params object[] messageParam)
     : this(derivationLog, new[] { relation }, message, messageParam)
 {
 }
 public DerivationErrorGeneric(DerivationLog derivationLog, DerivationRelation[] relations, string message, params object[] messageParam)
     : base(derivationLog, relations, message, messageParam)
 {
 }
 public DerivationErrorAtLeastOne(DerivationLog derivationLog, DerivationRelation[] derivationRelations)
     : base(derivationLog, derivationRelations, ErrorMessages.DerivationErrorAtLeastOne)
 {
 }
 public DerivationErrorConflict(DerivationLog derivationLog, DerivationRelation relation)
     : base(derivationLog, new[] { relation }, ErrorMessages.DerivationErrorConflict)
 {
 }
Beispiel #13
0
 public DerivationErrorEquals(DerivationLog derivationLog, DerivationRelation[] derivationRelations)
     : base(derivationLog, derivationRelations, ErrorMessages.DerivationErrorEquals)
 {
 }
Beispiel #14
0
 protected DerivationError(DerivationLog derivationLog, DerivationRelation[] relations, string errorMessage)
     : this(derivationLog, relations, errorMessage, new object[] { DerivationRelation.ToString(relations) })
 {
 }
 public DerivationErrorAtMostOne(DerivationLog derivationLog, DerivationRelation[] relations)
     : base(derivationLog, relations, ErrorMessages.DerivationErrorAtMostOne)
 {
 }
Beispiel #16
0
 public DerivationException(DerivationLog derivationLog)
 {
     this.derivationLog = derivationLog;
 }