public void GetRoadLimit() { // arrange var hwy = "036B"; var dir = 2; decimal fromMeasure = 34.7m; decimal toMeasure = 57.494m; // act var data = new Massive.DynamicModel("DefaultConnection").Query("SELECT HWY, DIR, FROMMEASURE, TOMEASURE FROM RoadLimits ORDER BY HWY, DIR, FROMMEASURE, TOMEASURE"); var roadLimits = new List<RoadLimit>(); foreach (var d in data) { roadLimits.Add(new RoadLimit() { HWY = d.HWY.ToString(), DIR = int.Parse(d.DIR.ToString()), FROMMEASURE = decimal.Parse(d.FROMMEASURE.ToString()), TOMEASURE = decimal.Parse(d.TOMEASURE.ToString()) }); } roadLimits = roadLimits.Where(x => x.HWY == hwy && x.DIR == dir && x.FROMMEASURE >= fromMeasure && x.TOMEASURE <= toMeasure).ToList(); // Assert.Equal(dir, data.First().HWY); Assert.True(roadLimits.Count() == 1); Assert.Equal(roadLimits.First().FROMMEASURE, fromMeasure); Assert.Equal(roadLimits.First().TOMEASURE, toMeasure); }
public IList<RoadLimit> GetRoadLimits() { _output.Write("Getting all road limits"); var sql = string.Format("SELECT {0} FROM {1} ORDER BY {2}", this._roadLimitsFields, this._roadLimitsTable, this._roadLimitsOrderBy); var data = new Massive.DynamicModel(this._connection).Query(sql); var roadLimits = new List<RoadLimit>(); foreach(var d in data) { roadLimits.Add(new RoadLimit() { HWY = d.HWY.ToUpper().Trim(), DIR = int.Parse(d.DIR.ToString()), FROMMEASURE = decimal.Parse(d.FROMMEASURE.ToString()), TOMEASURE = decimal.Parse(d.TOMEASURE.ToString()) }); } return roadLimits; }
public IList<Condition> GetConditions() { _output.Write("Getting all conditions"); var sql = string.Format("SELECT {0} FROM {1} ORDER BY {2}", this._conditionFields, this._conditionsTable, this._conditionsOrderBy); var data = new Massive.DynamicModel(this._connection).Query(sql); var conditions = new List<Condition>(); foreach(var d in data) { conditions.Add(new Condition() { ID = int.Parse(d.ID.ToString()), HWY = d.HWY.ToUpper().Trim(), DIR = int.Parse(d.DIR.ToString()), FROMMEASURE = decimal.Parse(d.FROMMEASURE.ToString()), TOMEASURE = decimal.Parse(d.TOMEASURE.ToString()), IRIAVG = decimal.Parse(d.IRIAVG.ToString()) }); } return conditions; }
/// <summary> /// Determines whether the specified module ID has permissions. /// </summary> /// <param name="moduleID"> /// The module ID. /// </param> /// <param name="procedureName"> /// Name of the procedure. /// </param> /// <param name="parameterRol"> /// The parameter rol. /// </param> /// <returns> /// <c>true</c> if the specified module ID has permissions; otherwise, <c>false</c>. /// </returns> /// <remarks> /// </remarks> private static bool hasPermissions(int moduleID, string procedureName, string parameterRol) { if (Roles.IsUserInRole(HttpContext.Current.User.Identity.Name, "Admins")) { return(true); } if (RecyclerDB.ModuleIsInRecycler(moduleID)) { procedureName = procedureName + "Recycler"; } if (moduleID <= 0) { return(false); } // Obtain PortalSettings from Current Context var PortalSettings = (PortalSettings)HttpContext.Current.Items[StringsPortalSettings]; int portalID; if (PortalSettings != null) { portalID = PortalSettings.PortalID; } else { var alias = HttpContext.Current.Items["PortalAlias"]; var db = new Massive.DynamicModel("ConnectionString", "rb_Portals"); var elemenents = db.All("PortalAlias = @0", columns: "PortalID", args: alias); if (elemenents.Count() != 1) { return(false); } portalID = ((dynamic)((System.Dynamic.ExpandoObject)(elemenents.First()))).PortalID; } // [email protected]: Get users & roles from true portal (2004/09/23) if (Config.UseSingleUserBase) { portalID = 0; } // Create Instance of Connection and Command Object using (var myConnection = Config.SqlConnectionString) { using (var myCommand = new SqlCommand(procedureName, myConnection)) { // Mark the Command as a SPROC myCommand.CommandType = CommandType.StoredProcedure; // Add Parameters to SPROC var parameterModuleID = new SqlParameter("@ModuleID", SqlDbType.Int, 4); parameterModuleID.Value = moduleID; myCommand.Parameters.Add(parameterModuleID); var parameterPortalID = new SqlParameter("@PortalID", SqlDbType.Int, 4); parameterPortalID.Value = portalID; myCommand.Parameters.Add(parameterPortalID); // Add out parameters to Sproc var parameterAccessRoles = new SqlParameter("@AccessRoles", SqlDbType.NVarChar, 256); parameterAccessRoles.Direction = ParameterDirection.Output; myCommand.Parameters.Add(parameterAccessRoles); var parameterRoles = new SqlParameter(parameterRol, SqlDbType.NVarChar, 256); parameterRoles.Direction = ParameterDirection.Output; myCommand.Parameters.Add(parameterRoles); // Open the database connection and execute the command myConnection.Open(); try { myCommand.ExecuteNonQuery(); } finally { } return(IsInRoles(parameterAccessRoles.Value.ToString()) && IsInRoles(parameterRoles.Value.ToString())); } } }
/// <summary> /// Determines whether the specified module ID has permissions. /// </summary> /// <param name="moduleID"> /// The module ID. /// </param> /// <param name="procedureName"> /// Name of the procedure. /// </param> /// <param name="parameterRol"> /// The parameter rol. /// </param> /// <returns> /// <c>true</c> if the specified module ID has permissions; otherwise, <c>false</c>. /// </returns> /// <remarks> /// </remarks> private static bool hasPermissions(int moduleID, string procedureName, string parameterRol) { if (RecyclerDB.ModuleIsInRecycler(moduleID)) { procedureName = procedureName + "Recycler"; } if (moduleID <= 0) { return false; } // Obtain PortalSettings from Current Context var PortalSettings = (PortalSettings)HttpContext.Current.Items[StringsPortalSettings]; int portalID; if (PortalSettings != null) portalID = PortalSettings.PortalID; else { var alias = HttpContext.Current.Items["PortalAlias"]; var db = new Massive.DynamicModel("ConnectionString", "rb_Portals"); var elemenents = db.All("PortalAlias = @0", columns: "PortalID", args: alias); if (elemenents.Count() != 1) return false; portalID = ((dynamic)((System.Dynamic.ExpandoObject)(elemenents.First()))).PortalID; } // [email protected]: Get users & roles from true portal (2004/09/23) if (Config.UseSingleUserBase) { portalID = 0; } // Create Instance of Connection and Command Object using (var myConnection = Config.SqlConnectionString) { using (var myCommand = new SqlCommand(procedureName, myConnection)) { // Mark the Command as a SPROC myCommand.CommandType = CommandType.StoredProcedure; // Add Parameters to SPROC var parameterModuleID = new SqlParameter("@ModuleID", SqlDbType.Int, 4); parameterModuleID.Value = moduleID; myCommand.Parameters.Add(parameterModuleID); var parameterPortalID = new SqlParameter("@PortalID", SqlDbType.Int, 4); parameterPortalID.Value = portalID; myCommand.Parameters.Add(parameterPortalID); // Add out parameters to Sproc var parameterAccessRoles = new SqlParameter("@AccessRoles", SqlDbType.NVarChar, 256); parameterAccessRoles.Direction = ParameterDirection.Output; myCommand.Parameters.Add(parameterAccessRoles); var parameterRoles = new SqlParameter(parameterRol, SqlDbType.NVarChar, 256); parameterRoles.Direction = ParameterDirection.Output; myCommand.Parameters.Add(parameterRoles); // Open the database connection and execute the command myConnection.Open(); try { myCommand.ExecuteNonQuery(); } finally { myConnection.Close(); } return IsInRoles(parameterAccessRoles.Value.ToString()) && IsInRoles(parameterRoles.Value.ToString()); } } }