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; }
/// <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; } } }