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);
        }
Beispiel #2
0
 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;
 }
Beispiel #3
0
 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;
 }
Beispiel #4
0
        /// <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()));
                }
            }
        }
Beispiel #5
0
        /// <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());
                }
            }
        }