Exemplo n.º 1
0
 public SessionObject CheckPermissions(ParameterMessageBase request, Guid authToken)
 {
     var session = CheckPermissions(request.SessionID, authToken);
     if (session != null)
     {
         if (session.CompanyID != Guid.Empty && request.CompanyID != FullBusinessEntity.SystemGuid && request.CompanyID == Guid.Empty)
         {
             request.CompanyID = session.CompanyID;
         }
         if (session.CRMID != Guid.Empty)
         {
             request.UserID = session.CRMID;
         }
     }
     return session;
 }
Exemplo n.º 2
0
        /// <summary>
        /// Iterates thru the parameters of the request and converts every valid date in our standard date time format
        /// to UTC. It interprets the date time strings as being in the configured time zone.
        /// </summary>
        /// <param name="request"></param>
        /// <param name="so"></param>
        public static void GlobalizeRequest(ParameterMessageBase request, SessionObject so)
        {
            var cso = so as ConfiguredSessionObject;
            if (cso == null) return;

            if (cso.RequiresTimeZoneConversion)
            {
                var list = new List<KeyValuePair<string, string>>();
                foreach (string key in request.Keys)
                {
                    string val = request[key];
                    DateTime dt;
                    if (DateTime.TryParseExact(val, "s", null, DateTimeStyles.None, out dt) ||
                        DateTime.TryParseExact(val, Formats.JsDateTimeFmt, null, DateTimeStyles.None, out dt))
                    {
                        DateTime utc = cso.ToUtc(dt);
                        list.Add(new KeyValuePair<string, string> { Key = key, Value = utc.ToString("s") });
                    }
                }
                foreach (var kv in list)
                {
                    request[kv.Key] = kv.Value;
                }
            }
        }