예제 #1
0
        public static void Insert(Organisation_RegisterBindModel register)
        {
            Organisation       org = Organisations.GetById(register.OrganisationID);
            RegisterManagement registerFromDatabase = RegistersManagement.GetById(register.RegisterID);

            if (org == null || registerFromDatabase == null)
            {
                return;
            }

            string sql = "INSERT INTO Organisation_Register VALUES(@OrganisationID, @RegisterID, @FromDate, @UntilDate)";

            DbParameter par0 = Database.AddParameter(ConfigurationManager.AppSettings["ConnectionStringItBedrijf"], "@OrganisationID", register.OrganisationID);
            DbParameter par1 = Database.AddParameter(ConfigurationManager.AppSettings["ConnectionStringItBedrijf"], "@RegisterID", register.RegisterID);
            DbParameter par2 = Database.AddParameter(ConfigurationManager.AppSettings["ConnectionStringItBedrijf"], "@FromDate", register.FromDate);
            DbParameter par3 = Database.AddParameter(ConfigurationManager.AppSettings["ConnectionStringItBedrijf"], "@UntilDate", register.UntilDate);

            Database.InsertData(ConfigurationManager.AppSettings["ConnectionStringItBedrijf"], sql, par0, par1, par2, par3);

            sql = "INSERT INTO Registers VALUES(@ID, @RegisterName, @Device)";
            ConnectionStringSettings settings = new ConnectionStringSettings("KlantDynamicConnection", org.DatabaseConnectionString, "System.Data.SqlClient");;

            DbParameter parRegisterName   = Database.AddParameter(settings, "@RegisterName", registerFromDatabase.Name);
            DbParameter parID             = Database.AddParameter(settings, "@ID", registerFromDatabase.ID);
            DbParameter parRegisterDevice = Database.AddParameter(settings, "@Device", registerFromDatabase.Device);

            Database.InsertData(settings, sql, parRegisterDevice, parRegisterName, parID);
        }
예제 #2
0
        /// <summary>
        /// Initialisieren des Sensors mit den Festgelegten Einstellungen.
        /// </summary>
        /// <param name="regConfig">Zusammenstellung der festgelegten Einstellungen.</param>
        public void Init(IRegisterConfiguration regConfig)
        {
            if (regConfig == null)
            {
                regConfig = new RegisterManagement(RegisterManagementSetup.Default, this._sensorType);
            }

            // Konfiguration des Master Einheit
            // Einstellung für Beschleunigung,
            // Gyroskop, und Temperatur Sensor
            this._I2CConnector.SetConfiguration(regConfig.Address, regConfig.ClockRate);

            foreach (IRegisterItem item in regConfig.RegisterSequence)
            {
                if (item == null)
                {
                    continue;
                }

                if (item.RegisterSetup == RegisterItemUsing.ResgisterSetup)
                {
                    this._I2CConnector.Write(item.GetRegisterSetup());
                }

                if (item.RegisterSetup == RegisterItemUsing.AddressSetup)
                {
                    byte[] setup = item.GetRegisterSetup();
                    this._I2CConnector.SetConfiguration(setup[0], this.MapClockRate(setup[1]));
                }
            }
        }
예제 #3
0
 public ActionResult Create(RegisterManagement reg)
 {
     if (ModelState.IsValid)
     {
         RegistersManagement.InsertRegister(reg);
         return(RedirectToAction("Index"));
     }
     else
     {
         return(View(reg));
     }
 }
예제 #4
0
        public ActionResult Unassign(int id)
        {
            // validate register ID
            RegisterManagement reg = RegistersManagement.GetById(id);

            if (reg == null)
            {
                return(new HttpNotFoundResult());
            }

            AssignRegisterDA.DeleteRegister(id);
            return(RedirectToAction("Index"));
        }
예제 #5
0
        public ActionResult AssignTo(int id)
        {
            // validate register ID
            RegisterManagement reg = RegistersManagement.GetById(id);

            if (reg == null)
            {
                return(new HttpNotFoundResult());
            }

            ViewBag.Orgs = Organisations.Get();
            return(View(new Organisation_RegisterBindModel()
            {
                FromDate = DateTime.Now.Date, UntilDate = DateTime.Now.AddYears(5).Date, RegisterID = id
            }));
        }
        public static int InsertRegister(RegisterManagement register)
        {
            string sql = "INSERT INTO Registers(RegisterName,Device,PurchaseDate,ExpiresDate) VALUES(@RegisterName,@Device, @Purchased, @Expires)";

            if (register.Name == null)
            {
                register.Name = "";
            }
            if (register.Device == null)
            {
                register.Device = "";
            }

            DbParameter par1 = Database.AddParameter(ConfigurationManager.AppSettings["ConnectionStringItBedrijf"], "@RegisterName", register.Name);
            DbParameter par2 = Database.AddParameter(ConfigurationManager.AppSettings["ConnectionStringItBedrijf"], "@Device", register.Device);
            DbParameter par3 = Database.AddParameter(ConfigurationManager.AppSettings["ConnectionStringItBedrijf"], "@Purchased", register.PurchaseDate);
            DbParameter par4 = Database.AddParameter(ConfigurationManager.AppSettings["ConnectionStringItBedrijf"], "@Expires", register.ExpiresDate);

            return(Database.InsertData(ConfigurationManager.AppSettings["ConnectionStringItBedrijf"], sql, par1, par2, par3, par4));
        }
예제 #7
0
        public override Task GrantResourceOwnerCredentials(OAuthGrantResourceOwnerCredentialsContext context)
        {
            Organisation       org = Organisations.TryLogin(context.UserName, context.Password);
            RegisterManagement reg = null;
            int tryId;

            if (Int32.TryParse(context.UserName, out tryId) &&
                RegistersManagement.GetRegisters().Exists(r => r.ID == Int32.Parse(context.UserName) && r.AssignedTo != null))
            {
                reg = RegistersManagement.GetRegisters().FirstOrDefault(r => r.ID == Int32.Parse(context.UserName));
            }

            // try to log in
            if (org != null)
            {
                var id = new ClaimsIdentity(context.Options.AuthenticationType);
                id.AddClaim(new Claim("username", context.UserName));
                id.AddClaim(new Claim("connectionString", org.DatabaseConnectionString));
                id.AddClaim(new Claim(ClaimTypes.Name, context.UserName));
                id.AddClaim(new Claim(ClaimTypes.Role, "OrganisationManager"));

                context.Validated(id);
            }
            else if (reg != null && reg.RemotePassword == context.Password)
            {
                var id = new ClaimsIdentity(context.Options.AuthenticationType);
                id.AddClaim(new Claim("username", context.UserName));
                id.AddClaim(new Claim("connectionString", reg.AssignedTo.DatabaseConnectionString));
                id.AddClaim(new Claim(ClaimTypes.Name, context.UserName));
                id.AddClaim(new Claim(ClaimTypes.Role, "Register"));

                context.Validated(id);
            }
            else
            {
                context.Rejected();
            }

            return(Task.FromResult(0));
        }
예제 #8
0
        public static void DeleteRegister(int id)
        {
            RegisterManagement register = RegistersManagement.GetById(id);

            string sql = "DELETE FROM Organisation_Register WHERE RegisterID=@ID";

            DbParameter parId = Database.AddParameter(ConfigurationManager.AppSettings["ConnectionStringItBedrijf"], "@ID", id);

            Database.ModifyData(ConfigurationManager.AppSettings["ConnectionStringItBedrijf"], sql, parId);

            // Delete the register from the client database
            if (register.AssignedTo != null)
            {
                sql = "DELETE FROM Registers WHERE ID=@ID";

                ConnectionStringSettings settings = new ConnectionStringSettings("KlantDynamicConnection", register.AssignedTo.DatabaseConnectionString, "System.Data.SqlClient");;

                DbParameter parRegisterID = Database.AddParameter(settings, "@ID", register.ID);

                Database.ModifyData(settings, sql, parRegisterID);
            }
        }