Пример #1
0
        public static void RecordHistory(this IPassport self
                                         , string messageTemplate
                                         , object[] messageTemplateData = null
                                         , string user           = ""
                                         , bool includeScopes    = false
                                         , string memberName     = ""
                                         , string sourceFilePath = ""
                                         , int sourceLineNumber  = 0
                                         )
        {
            if (PassportLevel.Debug < PassportLevel.Current)
            {
                return;
            }

            var messageContext = MessageContext(self
                                                , PassportLevel.Debug
                                                , messageTemplate
                                                , messageTemplateData
                                                , user
                                                , memberName
                                                , sourceFilePath
                                                , sourceLineNumber
                                                , logCaller: true
                                                , scopeDepth: 0
                                                );

            self.Stamp(messageContext, includeCallContext: true, includeSnapshot: includeScopes);
        }
Пример #2
0
        public async Task<StandardResponse<int>> Calculate(IPassport passport, int lhs, string @operator, int rhs)
        {
            return await passport.ScopeAsync(async () =>
            {
                var result = 0;

                passport.Scope.Record(() => result, "First Recording");
                const string invalideOperatorMessage = "Invalid Operator";
                await Task.Delay(100);
                result = -1;
                passport.Scope.Record(() => result, "Second Recording");
                switch (@operator)
                {
                    case "/":
                        result = lhs / rhs;
                        break;
                    case "*":
                        result = lhs * rhs;
                        break;
                    case "-":
                        result = lhs - rhs;
                        break;
                    case "+":
                        result = lhs + rhs;
                        break;
                    default:
                        passport.Scope.Record(() => result, "Operation failed");
                        passport.Error(invalideOperatorMessage);
                        return result.GenerateStandardError(invalideOperatorMessage);
                }
                passport.Scope.Record(() => result, "Operation succeeded");
                return result.GenerateStandardResponse();
            });
        }
Пример #3
0
        /// <summary>
        /// 初始化
        /// </summary>
        private void init()
        {
            try
            {
#if !UNITY_EDITOR
                try
                {
                    //todo:可根据配置获取平台名
                    //mInstance = (IPassport)Activator.CreateInstance(Type.GetType(ClassSpace + "Plat_" + PlatformName));
                    mInstance    = (IPassport)Activator.CreateInstance(Type.GetType(mClassSpace + "Plat_Android_xiaomi"));
                    mIsPlatReady = true;
                    //AllSdkMain.instance().setDebugMode(true);
                }
                catch (Exception ex)
                {
                    mIsPlatReady = false;
                }
#else
                mIsPlatReady = false;
#endif
            }
            catch (Exception ex)
            {
                mIsPlatReady = false;
            }
        }
        public override void OnEntry(MethodExecutionArgs args)
        {
            IPassport thisPassport = null;

            if (_passportParameterIndex >= 0)
            {
                thisPassport = (IPassport)args.Arguments[_passportParameterIndex];
            }

            if (thisPassport == null)
            {
                return;
            }

            var scopeName = args.ScopeName();

            thisPassport.PushScope(scopeName);

            IDictionary <string, object> parameters = new Dictionary <string, object>();

            for (var i = 0; i < args.Arguments.Count; i++)
            {
                if (!_passportParameters.Contains(_parameterNames[i]))
                {
                    parameters[_parameterNames[i]] = args.Arguments[i] ?? "null";
                }
            }
            thisPassport.Scope.RecordParameters(() => parameters, Constants.PassportScope.Enter);
            thisPassport.Debug("Has been entered", includeContext: true, includeScopes: true, scopeDepth: 0);
        }
Пример #5
0
        public static IPersonInApplication Get_PersonInApplication(IPassport passport)
        {
            if (passport.Person.IsEmployee)
            {
                IPersonInApplication temp = null;
                foreach (var empInApp in passport.Person.EmployeeInApplications)
                {
                    if (empInApp.ApplicationType == SubType.ApplicationForChangingPassport && empInApp.PreviousPassport == passport)
                    {
                        return(temp = empInApp);
                    }
                }

                return(temp);
            }

            else if (passport.Person.IsFamilyMember)
            {
                IPersonInApplication temp = null;
                foreach (var empInApp in passport.Person.FamilyMemberInApplications)
                {
                    if (empInApp.ApplicationType == SubType.ApplicationForChangingPassport && empInApp.PreviousPassport == passport)
                    {
                        return(temp = empInApp);
                    }
                }

                return(temp);
            }
            else
            {
                return(null);
            }
        }
Пример #6
0
        public static void Debug(this IPassport self
                                 , string messageTemplate
                                 , object[] messageTemplateData = null
                                 , string user         = ""
                                 , bool includeContext = false
                                 , bool includeScopes  = false
                                 , int scopeDepth      = -1
                                 , [System.Runtime.CompilerServices.CallerMemberName] string memberName    = ""
                                 , [System.Runtime.CompilerServices.CallerFilePath] string sourceFilePath  = ""
                                 , [System.Runtime.CompilerServices.CallerLineNumber] int sourceLineNumber = 0
                                 )
        {
            if (PassportLevel.Debug < PassportLevel.Current)
            {
                return;
            }

            var messageContext = MessageContext(self
                                                , PassportLevel.Debug
                                                , messageTemplate
                                                , messageTemplateData
                                                , user
                                                , memberName
                                                , sourceFilePath
                                                , sourceLineNumber
                                                , scopeDepth: scopeDepth
                                                );

            self.Stamp(messageContext, includeContext, includeScopes);
        }
Пример #7
0
 public PassportScope(IPassport passport, string name, Guid id, PassportScope parent)
 {
     _passport = passport;
     Name      = name;
     Timestamp = new DateTimeOffset(DateTime.UtcNow);
     Id        = id;
     Parent    = parent;
 }
Пример #8
0
        public static async Task <T> ScopeAsync <T>(this IPassport self, Func <Task <T> > actionAsync)
            where T : StandardResponse
        {
            Stopwatch sw = null;

            try
            {
                sw = Stopwatch.StartNew();
                return(await actionAsync());
            }
            catch (Exception e)
            {
                if (sw != null)
                {
                    sw.Stop();
                }

                if (!PassportSettings.Settings.ExcludedExceptions.Any(x => x.Equals(e.GetType().FullName, StringComparison.InvariantCultureIgnoreCase)))
                {
                    if (sw != null)
                    {
                        sw.Stop();
                        var ElapsedMilliseconds = sw.ElapsedMilliseconds;
                        self.Scope.Record(() => ElapsedMilliseconds, Constants.Passports.KeyOnExit);
                        sw = null;
                    }

                    self.Exception(e);
                }

                var standardError = new StandardError();

                standardError.Errors.Add(Constants.Passports.KeyError);

                var instance = Activator.CreateInstance <T>();
                instance.StandardError = standardError;

                return(instance);
            }
            finally
            {
                if (self != null)
                {
                    if (sw != null)
                    {
                        sw.Stop();
                        var ElapsedMilliseconds = sw.ElapsedMilliseconds;
                        self.Scope.Record(() => ElapsedMilliseconds, Constants.Passports.KeyOnExit);
                    }

                    self.Debug(Constants.Passports.KeyEndOfRequest, includeContext: true, includeScopes: true);
                    //self.PopScope();
                }
            }
        }
Пример #9
0
 public static string Get_Message(IPassport passport)
 {
     if (passport.AppConf != null)
     {
         return(passport.AppConf.Messge);
     }
     else
     {
         return(null);
     }
 }
 public Contract(ICompany company, IPassport individualPassport, string phoneNumber, ITariff tariff,
                 IEquipment clientEquipment)
 {
     Company        = company;
     ContractNumber = Guid.NewGuid();
     DateOfContract = DateTime.Now;
     Passport       = individualPassport;
     PhoneNumber    = phoneNumber;
     Tariff         = tariff;
     Equipment      = clientEquipment;
 }
Пример #11
0
        public static void AfterConstruction(IPassport passport, IObjectSpace obspace)


        {
            var appConf = obspace.FindObject <AppConf>(new BinaryOperator("ID", 1));

            if (appConf != null)
            {
                passport.AppConf = obspace.FindObject <AppConf>(new BinaryOperator("ID", 1));
            }
        }
Пример #12
0
        public async Task <StandardResponse <int> > Add(IPassport passport, int value, int increment)
        {
            return(await this.ScopeAsync(async() =>
            {
                var result = value + increment;

                Passport.Scope.Record(() => result, "Added", record: true);

                await Task.Delay(1000);

                return result.GenerateStandardResponse();
            }));
        }
Пример #13
0
 public static void OnSaving(IPassport passport, IObjectSpace obspace)
 {
     /*
      * //Passport Type
      * if (!String.IsNullOrEmpty(passport.ImpPassportType))
      * {
      *  IPassportType passportType = obspace.FindObject<IPassportType>(new BinaryOperator("TypeOfPassportL", passport.ImpPassportType));
      *
      *  passport.PassportType = passportType;
      * }
      *
      * // Passport Issued Country
      *
      * if (!String.IsNullOrEmpty(passport.ImpPassportIssuedCountry))
      * {
      *
      *
      *  ICountries passportIssuedCountry = obspace.FindObject<ICountries>(new BinaryOperator("NameOfCountry", passport.ImpPassportIssuedCountry));
      *
      *  passport.PassportIssuedCountry = passportIssuedCountry;
      *
      * }
      *
      * //Citizenship
      * if (!String.IsNullOrEmpty(passport.ImpCitizenship))
      * {
      *
      *
      *  ICountries citizenship = obspace.FindObject<ICountries>(new BinaryOperator("NameOfCountry", passport.ImpCitizenship));
      *
      *  passport.Citizenship = citizenship;
      *
      *
      * }
      *
      *
      * // Person
      * if (!String.IsNullOrEmpty(passport.ImpPersonID))
      * {
      *
      *
      *  IPersonn personID = obspace.FindObject<IPersonn>(new BinaryOperator("IDNumber", passport.ImpPersonID));
      *
      *  passport.Person = personID;
      *
      *
      * }
      *
      *
      */
 }
Пример #14
0
        public static string Get_PassportExpireingDateForLetter(IPassport passport)

        {
            if (passport.PassportExpiringDate != null)
            {
                return(passport.PassportExpiringDate.ToString("dd.MM.yyyy ý."));
            }


            else
            {
                return(null);
            }
        }
Пример #15
0
        public async Task <StandardResponse <bool> > Add1Then100(IPassport passport, int value)
        {
            return(await this.ScopeAsync(async() =>
            {
                var valuePlus1Result = await Add(passport, value, 1);
                var valuePlus1 = valuePlus1Result.Response;
                Passport.Scope.Record(() => valuePlus1);

                var valuePlus100Result = await Add100(passport, valuePlus1);
                var valuePlus100 = valuePlus100Result.Response;
                Passport.Scope.Record(() => valuePlus100);

                return true.GenerateStandardResponse();
            }));
        }
Пример #16
0
        public async Task<StandardResponse<bool>> Add1Then100(IPassport passport,int value)
        {
            return await this.ScopeAsync(async () =>
            {
                var valuePlus1Result = await Add(passport, value, 1);
                var valuePlus1 = valuePlus1Result.Response;
                Passport.Scope.Record(() => valuePlus1);

                var valuePlus100Result = await Add100(passport, valuePlus1);
                var valuePlus100 = valuePlus100Result.Response;
                Passport.Scope.Record(() => valuePlus100);

                return true.GenerateStandardResponse();
            });
        }
Пример #17
0
        public static PassportStateEnum Get_PassportState(IPassport passport)
        {
            PassportStateEnum ps = PassportStateEnum.None;

            if (passport.Person != null && passport.Person.Passports.Count > 0)
            {
                foreach (var passp in passport.Person.Passports)
                {
                    if (passport == passp.Person.LastPassport && passport.RemainingDays > passport.AppConf.PassportExpireDay)
                    {
                        ps = PassportStateEnum.Valid;
                        break;
                    }

                    if (passport == passp.Person.LastPassport && passport.RemainingDays == 0)
                    {
                        ps = PassportStateEnum.Expired;
                        break;
                    }
                    else if (passport == passp.Person.LastPassport && passport.RemainingDays <= passport.AppConf.PassportExpireDay)
                    {
                        ps = PassportStateEnum.Expiring;
                        break;
                    }
                    else if (passport != passp.Person.LastPassport)
                    {
                        ps = PassportStateEnum.Previous;
                        break;
                    }
                    else
                    {
                        ps = PassportStateEnum.None;
                    }
                }


                return(ps);
            }

            else
            {
                return(PassportStateEnum.None);
            }
        }
Пример #18
0
        public static IVisa Get_LastVisa(IPassport passport)


        {
            if (passport.Visas.Count == 1)
            {
                return(passport.Visas.First());
            }


            else if (passport.Visas.Count > 1)
            {
                return(passport.Visas.OrderByDescending(t => t.VisaStartDate).First());
            }
            else
            {
                return(null);
            }
        }
        public PassportScope Push(IPassport passport, string name)
        {
            PassportScope parent = null;

            var parentCallContext = CallContext.LogicalGetData(Constants.Passports.KeyCurrentCallContext);
            if (parentCallContext != null)
                parent = _scopes[(string)parentCallContext];
            var currentId = Guid.NewGuid();
            var key = currentId.ToString("N");
            CallContext.LogicalSetData(Constants.Passports.KeyCurrentCallContext, key);

            var current = new PassportScope(passport, name, currentId, parent);
            lock (Lock)
            {
                _scopes[key] = current;
            }

            return current;
        }
Пример #20
0
        public static void Exception(this IPassport self
                                     , Exception e
                                     , string user = ""
                                     , [System.Runtime.CompilerServices.CallerMemberName] string memberName    = ""
                                     , [System.Runtime.CompilerServices.CallerFilePath] string sourceFilePath  = ""
                                     , [System.Runtime.CompilerServices.CallerLineNumber] int sourceLineNumber = 0
                                     )
        {
            var messageContext = MessageContext(self
                                                , PassportLevel.Exception
                                                , null
                                                , null
                                                , null
                                                , memberName
                                                , sourceFilePath
                                                , sourceLineNumber
                                                );

            self.StampException(messageContext, e);
        }
Пример #21
0
        private static MessageContext MessageContext(IPassport passport
                                                     , PassportLevel level
                                                     , string messageTemplate
                                                     , object[] messageTemplateParameters
                                                     , string user
                                                     , string memberName
                                                     , string sourceFilePath
                                                     , int sourceLineNumber
                                                     , bool logCaller = false
                                                     , int scopeDepth = -1
                                                     )
        {
            var scope = passport.Scope;

            var messageContext = new MessageContext
            {
                Session     = passport.SessionId,
                Passport    = passport.PassportId,
                Member      = scope != null ? scope.Name ?? string.Empty : string.Empty,
                CallContext = scope != null?scope.Id.ToString() : string.Empty,
                                  ParentContext             = scope != null ? (scope.Parent != null ? scope.Parent.Id.ToString() : string.Empty) : string.Empty,
                                  Level                     = level,
                                  MessageTemplate           = messageTemplate,
                                  MessageTemplateParameters = messageTemplateParameters,
                                  User             = user,
                                  MemberName       = memberName,
                                  SourceFilePath   = sourceFilePath,
                                  SourceLineNumber = sourceLineNumber,
                                  LogCaller        = logCaller,
                                  ScopeDepth       = scopeDepth
            };

            Console.WriteLine("{0} {1}"
                              , messageContext.Timestamp.ToString("HH:mm:ss.FFFFFFF")
                              , messageContext.Id
                              //, messageContext.Session
                              //, messageContext.Passport
                              //, messageContext.MessageTemplate
                              );
            return(messageContext);
        }
        private static MessageContext MessageContext(IPassport passport
                                                            , PassportLevel level
                                                            , string messageTemplate
                                                            , object[] messageTemplateParameters
                                                            , string user
                                                            , string memberName
                                                            , string sourceFilePath
                                                            , int sourceLineNumber
                                                            , bool logCaller = false
                                                            , int scopeDepth = -1
                                                            )
        {
            var scope = passport.Scope;

            var messageContext = new MessageContext
            {
                Session = passport.SessionId,
                Passport = passport.PassportId,
                Member = scope != null ? scope.Name ?? string.Empty : string.Empty,
                CallContext = scope != null ? scope.Id.ToString() : string.Empty,
                ParentContext = scope != null ? (scope.Parent != null ? scope.Parent.Id.ToString() : string.Empty) : string.Empty,
                Level = level,
                MessageTemplate = messageTemplate,
                MessageTemplateParameters = messageTemplateParameters,
                User = user,
                MemberName = memberName,
                SourceFilePath = sourceFilePath,
                SourceLineNumber = sourceLineNumber,
                LogCaller = logCaller,
                ScopeDepth = scopeDepth
            };

            Console.WriteLine("{0} {1}"
                                    , messageContext.Timestamp.ToString("HH:mm:ss.FFFFFFF")
                                    , messageContext.Id
                                    //, messageContext.Session
                                    //, messageContext.Passport
                                    //, messageContext.MessageTemplate
                                    );
            return messageContext;
        }
Пример #23
0
        public async Task <StandardResponse <int> > Calculate(IPassport passport, int lhs, string @operator, int rhs)
        {
            return(await passport.ScopeAsync(async() =>
            {
                var result = 0;

                passport.Scope.Record(() => result, "First Recording");
                const string invalideOperatorMessage = "Invalid Operator";
                await Task.Delay(100);
                result = -1;
                passport.Scope.Record(() => result, "Second Recording");
                switch (@operator)
                {
                case "/":
                    result = lhs / rhs;
                    break;

                case "*":
                    result = lhs *rhs;
                    break;

                case "-":
                    result = lhs - rhs;
                    break;

                case "+":
                    result = lhs + rhs;
                    break;

                default:
                    passport.Scope.Record(() => result, "Operation failed");
                    passport.Error(invalideOperatorMessage);
                    return result.GenerateStandardError(invalideOperatorMessage);
                }
                passport.Scope.Record(() => result, "Operation succeeded");
                return result.GenerateStandardResponse();
            }));
        }
Пример #24
0
        public PassportScope Push(IPassport passport, string name)
        {
            PassportScope parent = null;

            var parentCallContext = CallContext.LogicalGetData(Constants.Passports.KeyCurrentCallContext);

            if (parentCallContext != null)
            {
                parent = _scopes[(string)parentCallContext];
            }
            var currentId = Guid.NewGuid();
            var key       = currentId.ToString("N");

            CallContext.LogicalSetData(Constants.Passports.KeyCurrentCallContext, key);

            var current = new PassportScope(passport, name, currentId, parent);

            lock (Lock)
            {
                _scopes[key] = current;
            }

            return(current);
        }
 public ControllerUsingService(IPassport passport, IService service)
     : base(passport)
 {
     Service = service;
 }
Пример #26
0
 public int Get_RemainingDays(IPassport passport)
 {
     {
         return(Helper.GetRemainingDaysBeforeExpire(passport.PassportExpiringDate));
     }
 }
Пример #27
0
 public Client(IPassport passport)
 {
     Passport = passport;
 }
Пример #28
0
 public HasPassport(IPassport passport)
 {
     Passport = passport;
 }
Пример #29
0
 public HasPassport(IPassport passport)
 {
     Passport = passport;
 }
 protected PassportMvcController(IPassport passport)
 {
     Passport = passport;
 }
Пример #31
0
        public async Task<StandardResponse<int>> Add(IPassport passport, int value, int increment)
        {
            return await this.ScopeAsync(async () =>
            {
                var result = value + increment;

                Passport.Scope.Record(() => result, "Added", record: true);

                await Task.Delay(1000);

                return result.GenerateStandardResponse();
            });
        }
 public void Setup()
 {
     _storage = new PassportStorageService();
     _passport = new Passport(_storage);
     _target = new UserPassportAttributeClass(_passport);
 }
Пример #33
0
 public static bool Get_ApplicationLicenced(IPassport passport)
 {
     return(true);
 }
Пример #34
0
 public async Task<StandardResponse<int>> Add100(IPassport passport, int value)
 {
     return await this.ScopeAsync(async () => await Add(passport, value, 100));
 }
Пример #35
0
 public Controller(IPassport passport)
     : base(passport)
 {
 }
 public UserPassportAttributeClass(IPassport passport)
     : base(passport)
 {
     
 }
Пример #37
0
        public static IList <DevExpress.Persistent.BaseImpl.AuditDataItemPersistent> Get_ChangeHistory(IPassport passport, IObjectSpace os)



        {
            return(DevExpress.Persistent.BaseImpl.AuditedObjectWeakReference.GetAuditTrail(((XPObjectSpace)os).Session, passport));
        }
Пример #38
0
 public void PassControl(IPassport passport)
 {
     Passport = passport;
     CurrentState.PassControl();
 }
 public void Setup()
 {
     _storage  = new PassportStorageService();
     _passport = new Passport(_storage);
     _target   = new UserPassportAttributeClass(_passport);
 }
 protected PassportWebApiController(IPassport passport)
 {
     Passport = passport;
 }
 protected PassportWebApiController(IPassport passport)
 {
     Passport = passport;
 }
 public UserPassportAttributeClass(IPassport passport)
     : base(passport)
 {
 }
 public ControllerUsingService(IPassport passport, IService service)
     : base(passport)
 {
     Service = service;
 }