Exemple #1
0
        public virtual bool Save(ZOperationResult operationResult)
        {
            try
            {
                Context.SaveChanges();
            }
            catch (DbEntityValidationException exception)
            {
                foreach (DbEntityValidationResult validationErrors in exception.EntityValidationErrors)
                {
                    foreach (DbValidationError validationError in validationErrors.ValidationErrors)
                    {
                        operationResult.AddOperationError("", validationError.ErrorMessage, new List <string>()
                        {
                            validationError.PropertyName
                        });
                    }
                }
            }
            catch (Exception exception)
            {
                operationResult.ParseExceptionEntityFramework(exception);
            }

            return(operationResult.Ok);
        }
Exemple #2
0
        public static void ParseExceptionEntityFramework(this ZOperationResult operationResult, Exception exception)
        {
            //System.Data.EntityException
            //    System.Data.EntityCommandCompilationException
            //    System.Data.EntityCommandExecutionException
            //    System.Data.EntitySqlException
            //    System.Data.MappingException
            //    System.Data.MetadataException
            //    System.Data.ProviderIncompatibleException

            //System.Data.DataException
            //    System.Data.Entity.Validation.DbEntityValidationException
            //    System.Data.Entity.Validation.DbUnexpectedValidationException

            if (exception is DbEntityValidationException)
            {
                operationResult.ErrorMessage = exception.Message;

                foreach (DbEntityValidationResult validationResult in (exception as DbEntityValidationException).EntityValidationErrors)
                {
                    foreach (DbValidationError validationError in validationResult.ValidationErrors)
                    {
                        operationResult.AddOperationError("", validationError.ErrorMessage, new List <string> {
                            validationError.PropertyName
                        });
                    }
                }
            }
            else
            {
                operationResult.ParseException(exception);
            }
        }
 public static void ParseIdentityResult(this ZOperationResult operationResult, IdentityResult identityResult)
 {
     if (!identityResult.Succeeded)
     {
         foreach (string error in identityResult.Errors)
         {
             operationResult.AddOperationError("", error);
         }
     }
 }
Exemple #4
0
        public static bool IsDelete(ZIsSecurityOperations isSecurityOperations, ZOperationResult operationResult)
        {
            bool result = true;

            if (!isSecurityOperations.IsDelete)
            {
                result = false;
                operationResult.AddOperationError("", MessageNotAuthorized(isSecurityOperations.Activity, ZSecurityOperations.Delete));
            }

            return(result);
        }
Exemple #5
0
        public System.Web.Http.IHttpActionResult AuthorizeActivity()
        {
            ZOperationResult operationResult = new ZOperationResult();

            ISecurityManager securityManager = System.Web.Mvc.DependencyResolver.Current.GetService <ISecurityManager>();

            string activity = ActivityHelper.TaskActivity(AppDefaults.Domain, "AuthorizeActivity");

            if (!securityManager.IsAuthorized(activity, ZSecurityOperations.Execute))
            {
                operationResult.AddOperationError("", SecurityHelper.MessageNotAuthorized(activity, ZSecurityOperations.Execute));
            }

            return(new OperationResultActionResult(Request, operationResult));
        }
        public static void ParseExceptionNHibernate(this ZOperationResult operationResult, Exception exception)
        {
            //NHibernate.ADOException
            //NHibernate.CallbackException
            //NHibernate.HibernateException
            //NHibernate.InstantiationException
            //NHibernate.LazyInitializationException
            //NHibernate.MappingException
            //NHibernate.NonUniqueObjectException
            //NHibernate.NonUniqueResultException
            //NHibernate.ObjectDeletedException
            //NHibernate.ObjectNotFoundException
            //NHibernate.PersistentObjectException
            //NHibernate.PropertyAccessException
            //NHibernate.PropertyNotFoundException
            //NHibernate.PropertyValueException
            //NHibernate.QueryParameterException
            //NHibernate.SessionException
            //NHibernate.StaleObjectStateException
            //NHibernate.StaleStateException
            //NHibernate.TransactionException
            //NHibernate.TransientObjectException
            //NHibernate.TypeMismatchException
            //NHibernate.UnresolvableObjectException
            //NHibernate.WrongClassException

            if (exception is MappingException)
            {
                operationResult.ErrorMessage = exception.Message;

                foreach (KeyValuePair <string, object> keyValue in (exception as MappingException).Data)
                {
                    operationResult.AddOperationError("", "Mapping Exception: " + keyValue.Value.ToString(), new List <string> {
                        keyValue.Key
                    });
                }
            }
            else
            {
                operationResult.ParseException(exception);
            }
        }
Exemple #7
0
        private static void Demo()
        {
            bool exit = false;

            while (!exit)
            {
                Console.Clear();
                Console.WriteLine("Demo\n");
                Console.WriteLine("<0> RETURN");
                Console.WriteLine("<1> DI Demo");
                Console.WriteLine("<2> e-mail Demo");
                Console.WriteLine("<3> Environment Application Demo");
                Console.WriteLine("<4> Environment Session Demo");
                Console.WriteLine("<5> Multi-Tenant Demo");
                Console.WriteLine("<6> Log Demo");
                Console.WriteLine("<7> ZOperationResult Serialization");
                Console.Write("\nChoose an option... ");

                ConsoleKeyInfo key = Console.ReadKey();
                Console.WriteLine();

                switch (key.KeyChar) // <ENTER> = '\r'
                {
                case ('0'):
                    exit = true;
                    break;

                case ('1'):
                    DemoDI();
                    break;

                case ('2'):
                    DemoEMail();
                    break;

                case ('3'):
                    DemoEnvironmentApplication();
                    break;

                case ('4'):
                    DemoEnvironmentSession();
                    break;

                case ('5'):
                    DemoMultiTenant();
                    break;

                case ('6'):
                    DemoLog();
                    break;

                case ('7'):
                    ZOperationResult operationResult = new ZOperationResult();

                    operationResult.InformationCode    = "1";
                    operationResult.InformationMessage = "Information";
                    operationResult.WarningCode        = "2";
                    operationResult.WarningMessage     = "Warning";
                    operationResult.ErrorCode          = "3";
                    operationResult.ErrorMessage       = "Error";
                    operationResult.Data = "123";
                    operationResult.AddOperationInformation("11", "Information");
                    operationResult.AddOperationWarning("22", "Warning");
                    operationResult.AddOperationError("33", "Error");
                    operationResult.ParseException(new Exception("Exception"));

                    string json = JsonConvert.SerializeObject(operationResult);
                    operationResult = JsonConvert.DeserializeObject <ZOperationResult>(json);
                    int i = operationResult.Data.ToInt32();

                    WriteObject(operationResult);

                    break;
                }

                if (!exit)
                {
                    Console.Write("\nPress <KEY> to continue... ");
                    Console.ReadKey();
                }
            }
        }