CmisSync.Lib.Events.PermissionDeniedEvent.PermissionDeniedEvent C# (CSharp) Method

PermissionDeniedEvent() public method

Initializes a new instance of the CmisSync.Lib.Events.PermissionDeniedEvent class.
public PermissionDeniedEvent ( DotCMIS.Exceptions.CmisPermissionDeniedException e ) : System
e DotCMIS.Exceptions.CmisPermissionDeniedException thrown permission denied exception
return System
        public PermissionDeniedEvent(CmisPermissionDeniedException e) : base(e) {
            if (e.Data != null && e.Data.Contains(HttpHeaderRetryAfter)) {
                string[] values = e.Data[HttpHeaderRetryAfter] as string[];
                if (values == null) {
                    return;
                }

                List<DateTime> dates = new List<DateTime>();
                foreach (var value in values) {
                    try {
                        long seconds = Convert.ToInt64(value);
                        dates.Add(DateTime.UtcNow + TimeSpan.FromSeconds(seconds));
                    } catch(FormatException) {
                        DateTime parsed;
                        if (DateTime.TryParse(value, out parsed)) {
                            dates.Add(parsed);
                        }
                    }
                }

                dates.Sort();
                this.IsBlockedUntil = dates.Count > 0 ? dates[0] : (DateTime?)null;
            }
        }
PermissionDeniedEvent