コード例 #1
0
        public static Result WrapInEvolutionSdk(
            this EvolutionConnectionStrings connectionStrings,
            int branchId,
            Func <Result> func)
        {
            try {
                DatabaseContext.CreateCommonDBConnection(connectionStrings.CommonDatabase);
                DatabaseContext.SetLicense("DE09110064", "2428759");
                DatabaseContext.CreateConnection(connectionStrings.CompanyDatabase);
                DatabaseContext.BeginTran();
                if (branchId > 0)
                {
                    DatabaseContext.SetBranchContext(branchId);
                }

                return(func()
                       .OnSuccess(() => { DatabaseContext.CommitTran(); })
                       .OnFailure(() => { DatabaseContext.RollbackTran(); }));
            }
            catch (Exception ex) {
                ex.LogException();
                DatabaseContext.RollbackTran();
                return(Result.Fail(ex.GetExceptionMessages()));
            }
        }