Example #1
0
      internal static BplIdentity DeviceResolveId(DbConnector dbConn, string sn, string hwId) {
         if (IsFactory(sn)) {
            sn = null;
            Log.Trace("Device Id '{0}' is a Factory Id, so it was cleared", sn);
         }

         if (!sn.IsEmpty()) {
            Log.Trace("Device Id '{0}' is valid for operations, but device may not present in database", sn);
            return BplIdentity.Get(sn);
         }

         Log.Trace("Device SN is empty, trying by HardwareId");

         if (hwId.IsEmpty() == true) {
            Log.Error("EXITING: No device HardwareId found");
            return BplIdentity.Empty;
         }

         var deviceId = dbConn.ExecuteBpl(new DeviceGetIdByHardwareId { HardwareId = hwId });
         if ((deviceId == null) || (deviceId.IsEmpty)) {
            Log.Error("EXITING: No device with HardwareId {0} not found in database", hwId);
            return BplIdentity.Empty;
         }

         Log.Trace("Device with HardwareId {0} found in database with Id {1}", hwId, deviceId);
         return deviceId;
      }
Example #2
0
      internal static DbVehicleInfo VehicleSave(DbConnector dbConn, VehicleInfo vi) {
         var dbvi = new DbVehicleInfo { VehicleInfo = vi.Clone() };

         dbvi.VehicleInfo.DataSource = DataSources.Backend;

         if (!dbvi.VehicleInfo.BatteryId.IsEmpty) {
            var dbbi = dbConn.ExecuteBpl(new BatteryGetById { BatteryId = dbvi.VehicleInfo.BatteryId });
            if (dbbi != null) {
               dbvi.BatteryKey = dbbi.BatteryKey;
            } else {
               Log.Warn("Battery with Id {0} not found in DB. Cleared.", dbvi.VehicleInfo.BatteryId.LocalId.ToString());
               dbvi.VehicleInfo.BatteryId = BplIdentity.Empty;
            }
         }

         var exVehicle = dbConn.ExecuteBpl(new VehicleGetById { VehicleId = dbvi.VehicleInfo.VehicleId });
         if (exVehicle != null) {
            // TK: we are using OpCo settings from SD (periodic)
            dbvi.VehicleInfo.Operator = exVehicle.VehicleInfo.Operator;
            dbvi.VehicleKey = exVehicle.VehicleKey;

            if ((exVehicle.VehicleInfo.DataSource == DataSources.Backend) || (OscarServer.UseBackendMasterData)) {
               dbConn.ExecuteBpl(new VehicleUpdate { i = dbvi });
            }
         } else {
            dbvi = null;
         }

         return dbvi;
      }
Example #3
0
        public void CloseTest()
        {
            using (var dbCon = new DbConnector()) {
                dbCon.Close();
                Assert.AreEqual(dbCon.State, ConnectionState.Closed);

                //何度も発行しても大丈夫か
                dbCon.Close();
            }
        }
Example #4
0
      internal static void ReportIntegrityError(DbConnector dbConn, string caller, string request, string format, params object[] args) {
         try {
            var errId = Guid.NewGuid().ToString();
            var errMsg = format.Substitute(args);

            Log.Warn("{0}: integrity error: {1}", caller, errMsg);
            dbConn.ExecuteBpl(new IntegrityErrorAdd { ErrorId = errId, Caller = caller, ErrorMsg = errMsg, CommMsg = request });
         } catch (Exception ex) {
            Log.Exception(ex, "Exception reporting integrity error. Caller: {0}, Error: {1}, Request: {2}", caller, format.Substitute(args), request);
         }
      }
Example #5
0
      internal static DbBatteryInfo BatterySave(DbConnector dbConn, DeviceType dt, DbBatteryInfo bi) {
         if ((bi == null) || (bi.BatteryInfo == null)) {
            Log.Warn("Exiting: Battery info is null.");
            return null;
         }

         if (bi.BatteryInfo.BatterySN.IsEmpty()) {
            Log.Warn("Exiting: Battery serial number is empty.");
            return null;
         }

         if (IsSimulated(bi.BatteryInfo.BatterySN) || IsFactory(bi.BatteryInfo.BatterySN)) {
            Log.Warn("Exiting: Battery serial number '{0}' is factory or simulated.", bi.BatteryInfo.BatterySN);
            return null;
         }

         if (!bi.BatteryInfo.BatteryId.IsEmpty) {
            if (!bi.BatteryInfo.BatteryId.LocalId.ToString().EndsWith(bi.BatteryInfo.BatterySN)) {
               Log.Warn("BatteryId '{0}' does not match BatterySN '{1}'. Cleared.", bi.BatteryInfo.BatteryId.LocalId.ToString(), bi.BatteryInfo.BatterySN);
               bi.BatteryInfo.BatteryId = BplIdentity.Empty;
            }
         }

         bi.BatteryKey = BuildKey(dt, bi.BatteryInfo.BatterySN);
         if (bi.BatteryKey.IsEmpty()) {
            Log.Warn("Exiting: Battery Key is empty.");
            return null;
         }
        
         var exBattery = dbConn.ExecuteBpl(new BatteryGetByKey { BatteryKey = bi.BatteryKey });
         if (exBattery != null) {
            if ((exBattery.BatteryInfo.DataSource == DataSources.Vehicle) || (!OscarServer.UseBackendMasterData)) {
               if (bi.BatteryInfo.Operator == null) {
                  bi.BatteryInfo.Operator = exBattery.BatteryInfo.Operator;
               }

               dbConn.ExecuteBpl(new BatteryUpdate { i = bi });
            }
         } else {
            dbConn.ExecuteBpl(new BatteryAdd { i = bi });
         }

         return bi;
      }
Example #6
0
 public DBSpawner(String name, DbConnector connect)
 {
     dbName       = name;
     dbConnection = connect;
 }
Example #7
0
 public IActionResult Delete(int idQuoting)
 {
     DbConnector.Execute("DELETE FROM Quoting WHERE idQuoting = idQuoting");
     return(RedirectToAction("Add"));
 }
Example #8
0
 public IActionResult Index()
 {
     ViewBag.Users = DbConnector.Query("SELECT * FROM Quoting");
     return(View());
 }
        public TestSqlServerConnector()
        {
            string conn = "data source=(local);initial catalog=d_test;UID=sa;PWD=rdc;min pool size=4";

            _connector = new DbConnector(connectString: conn);
        }
Example #10
0
        // Function to get all the comments.
        public List <Dictionary <string, object> > GetComments()
        {
            string query = $@"SELECT comments.id AS comment_id, comments.comment, comments.created_at, comments.updated_at, users.first_name, users.last_name, users.id, comments.messages_id FROM comments JOIN users ON comments.users_id = users.id ORDER BY comments.created_at DESC";

            return(DbConnector.Query(query));
        }
Example #11
0
 public HomeController(DbConnector connect)
 {
     validatetrailfactory = new ValidateTrailFactory();
 }
Example #12
0
        public void Dispose()
        {
            try {

                if (null != dbConnector && dbConnector.IsConnected()) {
                    dbConnector.Disconnect();
                }
                //Common.StopAPI();
            }
            catch (Exception) {

            }
            _mInstance = null;
            tagTree = null;
            tagManager = null;
            dbConnector = null;
            rootNode = null;
            realSubscriber = null;
            //Common.StopAPI();
        }
 public IActionResult addQuote(string name, string quote)
 {
     DbConnector.Execute($"INSERT INTO quotes (name, quote, created_at, updated_at) VALUES ('{name}', '{quote}', now(), now())");
     return(Redirect("/"));
 }
Example #14
0
 public PositionsController()
 {
     dbConnector = new DbConnector();
 }
Example #15
0
        public void OpenTest()
        {
            using (var dbCon = new DbConnector(isOpenConnection: false)) {

                dbCon.Open();

                Assert.AreEqual(dbCon.State, ConnectionState.Open);
            }
        }
Example #16
0
      internal static DriverInfo DriverSave(DbConnector dbConn, DriverInfo di) {
         if ((di.DriverId.IsEmpty) || (MasterDataHelpers.IsFactory(di.DriverId))) {
            Log.Warn("Driver Id '{0}' is factory, guest or empty, exiting", di.DriverId);
            return null;
         }

         var exDriver = dbConn.ExecuteBpl(new DriverGetById { DriverId = di.DriverId });
         if (exDriver != null) {
            if ((exDriver.DataSource == DataSources.Vehicle) || (!OscarServer.UseBackendMasterData)) {
               if (di.Operator == null) {
                  di.Operator = exDriver.Operator;
               }

               if (di.BirthDate.IsUndefined == true) {
                  di.BirthDate = exDriver.BirthDate;
               }

               if (di.DriverSsn.IsEmpty() == true) {
                  di.DriverSsn = exDriver.DriverSsn;
               }

               dbConn.ExecuteBpl(new DriverUpdate { i = di });
            }
         } else {
            dbConn.ExecuteBpl(new DriverAdd { i = di });
         }

         if ((exDriver == null) ||
            ((exDriver.DataSource == DataSources.Vehicle) || (!OscarServer.UseBackendMasterData))) {
            dbConn.ExecuteBpl(new ContactRemoveById { ContactId = di.DriverId });
            foreach (var ct in di.Contacts) {
               if (ct.Value.IsEmpty()) {
                  continue;
               }

               var ci = new ContactInfo();
               ci.ContactId = di.DriverId;
               ci.Type = ct.Type;
               ci.Value = ct.Value;

               dbConn.ExecuteBpl(new ContactAdd { i = ci });
            }
         }

         if (OscarServer.UseBackendMasterData) {
            var driReq = new GetDriverInfoHandler();
            driReq.RequestDriverInfo(di.DriverId, false);
         }

         return di;
      }
Example #17
0
      internal static DbVehicleInfo VehicleSave(DbConnector dbConn, DeviceType dt, DbVehicleInfo vi) {
         if ((vi == null) || (vi.VehicleInfo == null)) {
            Log.Warn("Exiting: Vehicle info is null.");
            return null;
         }

         if (vi.VehicleInfo.VehicleSN.IsEmpty()) {
            Log.Warn("Exiting: Vehicle serial number is empty.");
            return null;
         }

         if (IsSimulated(vi.VehicleInfo.VehicleSN) || IsFactory(vi.VehicleInfo.VehicleSN)) {
            Log.Warn("Exiting: Vehicle serial number '{0}' is factory or simulated.", vi.VehicleInfo.VehicleSN);
            return null;
         }

         if (!vi.VehicleInfo.VehicleId.IsEmpty) {
            if (!vi.VehicleInfo.VehicleId.LocalId.ToString().EndsWith(vi.VehicleInfo.VehicleSN)) {
               Log.Warn("VehicleId '{0}' does not match VehicleSN '{1}'. Cleared.", vi.VehicleInfo.VehicleId.LocalId.ToString(), vi.VehicleInfo.VehicleSN);
               vi.VehicleInfo.VehicleId = BplIdentity.Empty;
            }
         }

         vi.VehicleKey = BuildKey(dt, vi.VehicleInfo.VehicleSN);
         if (vi.VehicleKey.IsEmpty()) {
            Log.Warn("Exiting: Vehicle Key is empty.");
            return null;
         }

         var exVehicle = dbConn.ExecuteBpl(new VehicleGetByKey { VehicleKey = vi.VehicleKey });
         if (exVehicle != null) {
            if ((exVehicle.VehicleInfo.DataSource == DataSources.Vehicle) || (!OscarServer.UseBackendMasterData)) {
               if (vi.VehicleInfo.Operator == null) {
                  vi.VehicleInfo.Operator = exVehicle.VehicleInfo.Operator;
               }

               dbConn.ExecuteBpl(new VehicleUpdate { i = vi });
            }
         } else {
            dbConn.ExecuteBpl(new VehicleAdd { i = vi });
         }

         if (OscarServer.UseBackendMasterData) {
            var viReq = new GetVehicleInfoHandler();
            viReq.RequestVehicleInfo(vi.VehicleInfo.VehicleId);
         }

         return vi;
      }
Example #18
0
 public UsersController(DbConnector connect)
 {
     _dbConnector = connect;
 }
Example #19
0
      private static void _transferTable(DbConnector dbConn, string tableName, string whereClause) {
         var q = "";

         q += "IF EXISTS( ";
         q += "    SELECT  sc.column_id ";
         q += "    FROM    sys.columns sc, ";
         q += "            sys.tables st ";
         q += "    WHERE   sc.object_id = st.object_id AND ";
         q += "            st.name = '{0}' AND ";
         q += "            sc.is_identity = 1) ";
         q += "    select 1 AS BPL_RETURNED_SCALAR ";
         q += "else ";
         q += "    select 0 AS BPL_RETURNED_SCALAR";

         var isIdentity = dbConn.ExecuteQueryScalar<bool>(string.Format(q, tableName));
         if (isIdentity) {
            dbConn.ExecuteQuery(string.Format("SET IDENTITY_INSERT [{0}].[dbo].[{1}] ON", AnonDBName, tableName));
         }

         q = "";

         q += "SELECT  sc.name                             AS ColumnName, ";
         q += "        CAST(ISNULL(ep.value, '0') AS bit)  AS IsAnonimize ";
         q += "FROM    syscolumns sc ";
         q += "INNER JOIN sysobjects so ON sc.id = so.id ";
         q += "LEFT JOIN sys.extended_properties ep ON so.id = ep.major_id AND sc.colorder = ep.minor_id AND ep.name = 'Anon' ";
         q += "WHERE   so.type = 'U' AND ";
         q += "        so.name = '{0}'";

         q = string.Format(q, tableName);

         var columns = dbConn.ExecuteQueryResultSet<TableColumn>(q);

         q = string.Format("INSERT INTO [{0}].[dbo].[{1}] (", AnonDBName, tableName);
         var comma = "";

         foreach (var column in columns) {
            q += comma;
            q += string.Format("[{0}]", column.ColumnName);

            comma = ",";
         }

         q += ") SELECT ";
         comma = "";

         foreach (var column in columns) {
            q += comma;

            if (column.IsAnonimize) {
               q += string.Format("CASE WHEN {0} IS NULL THEN NULL ELSE dbo.F_BIN_TO_HEXSTR(CONVERT(VARBINARY(4), CHECKSUM(HASHBYTES('SHA1',[{1}])))) END AS {2}",
                  column.ColumnName, column.ColumnName, column.ColumnName);
            } else {
               q += string.Format("[{0}]", column.ColumnName);
            }

            comma = ",";
         }

         q += string.Format(" FROM [{0}] {1}", tableName, (whereClause != null) ? whereClause : "");

         dbConn.ExecuteQuery(q);

         if (isIdentity) {
            dbConn.ExecuteQuery(string.Format("SET IDENTITY_INSERT [{0}].[dbo].[{1}] OFF", AnonDBName, tableName));
         }
      }
Example #20
0
        public void Delete(int id)
        {
            string query = $"DELETE FROM notes WHERE id = {id};";

            DbConnector.Execute(query);
        }
Example #21
0
 /// <summary>
 /// 是否连接实时库
 /// </summary>
 /// <returns></returns>
 public Boolean Connection()
 {
     try {
         String serverName = ConfigurationManager.AppSettings["PIServer"];
         //格式:"UID=kkk;PWD="
         String userNameAndpassword = ConfigurationManager.AppSettings["PIConnectionString"];
         if (null == dbConnector) {
             dbConnector = new DbConnector();
         }
         dbConnector.ServerName = serverName;
         String userName = String.Empty;
         String password = String.Empty;
         GetUserIDAndPwd(userNameAndpassword, out userName, out password);
         dbConnector.UserName = userName;
         dbConnector.Password = password;
         dbConnector.TimeOut = 10;  //超时时间,单位为秒
         if (null != dbConnector && dbConnector.IsConnected()) {
             tagTree = TagTree.CreateInstance(dbConnector);
             tagManager = tagTree.GetMgr();
             rootNode = tagTree.GetTreeRoot();
             return true;
         }
         DbError error = dbConnector.Connect();
         if (error.HasErrors) {
             _ErrorInfo = "pSpaceApi类Connect函数出错:" + error.ErrorMessage + ",错误编码为: " + error.ErrorCode;
             return false;
         }
         tagTree = TagTree.CreateInstance(dbConnector);
         tagManager = tagTree.GetMgr();
         rootNode = tagTree.GetTreeRoot();
         return true;
     }
     catch (Exception e) {
         _ErrorInfo = "pSpaceApi类Connect函数异常:" + e.Message + " $$$ " + e.StackTrace;
         return false;
     }
 }
Example #22
0
 public static void DeleteUser(string name)
 {
     DbConnector.Execute($"DELETE FROM Users WHERE (FirstName = '{name}') or (LastName = '{name}')");
     AllUsers();
 }
Example #23
0
 public static DataTable RemoveWhiteSpace(string municipal)
 {
     municipal = municipal.Replace(" ", String.Empty);
     return(DbConnector.GetTowersFromDB(municipal));
 }
Example #24
0
 public CommentController(DbConnector connect)
 {
     _dbConnector = connect;
 }
Example #25
0
 public HomeController(DbConnector dbConnector)
 {
     _dbConnector = dbConnector;
 }
Example #26
0
 public IActionResult Show(int userId)
 {
     // One user will be represented as an item in the list of dictionaries, shown here by indexing 0
     Dictionary <string, object> User = DbConnector.Query($"SELECT * FROM users WHERE id = {userId}")[0];
     // Other code
 }
        public void DeleteByKey(int employeeKey)
        {
            const string sql = @"DELETE HR.Employee WHERE EmployeeKey = @employeeKey;";

            DbConnector.NonQuery(sql, new { employeeKey }).Execute();
        }
Example #28
0
        // Function to get all the messages.
        public List <Dictionary <string, object> > GetMessages()
        {
            string query = $@"SELECT messages.id AS message_id, messages.message, messages.created_at, messages.updated_at, users.first_name, users.last_name, users.id FROM messages JOIN users ON messages.users_id = users.id ORDER BY messages.created_at DESC";

            return(DbConnector.Query(query));
        }
Example #29
0
 public IActionResult Index()
 {
     ViewBag.Friends = DbConnector.Query("SELECT * FROM friends");
     return(View());
 }
Example #30
0
 public Employees()
 {
     dbConnector = new DbConnector();
 }
Example #31
0
      internal static void PackageDelete(DbConnector dbConn, PackageInfo packageInfo, Mpcr.Services.Oscar.Logistics.SoftwareUpdateType type) {
         dbConn.ExecuteBpl(new PackageDeleteById(packageInfo.PackageId));

         var typeDirectory = "";

         switch (type) {
            case Mpcr.Services.Oscar.Logistics.SoftwareUpdateType.Image:
               typeDirectory = StorageManager.PackagesPath;
               break;

            case Mpcr.Services.Oscar.Logistics.SoftwareUpdateType.Config:
               typeDirectory = StorageManager.ConfigsPath;
               break;

            default:
               return;
         }

         var packagePath = Path.Combine(typeDirectory, packageInfo.PackageName);

         if (File.Exists(packagePath)) {
            File.Delete(packagePath);
         }
      }
Example #32
0
 public Home(DbConnector connect)
 {
     _dbConnector = connect;
 }
Example #33
0
      internal static SwlResult InstallAddNewImage(DbConnector dbConn, BplIdentity requestPlatformId, string requestCodeName, string sourcePath) {
         sourcePath = Path.Combine(LogisticsHelpers.PathTemp, sourcePath);

         var tempImageFile = Path.Combine(sourcePath, InstallImageFileName);
         var tempMasterPackageFile = Path.Combine(sourcePath, InstallMasterPackageFileName);

         var imageHdr = Interop.GetImageHeader(tempImageFile);
         if (imageHdr == null) {
            Log.Error("Bad image file {0}", tempImageFile);
            return SwlResult.INVALID_DATA;
         }

         var platformId = BplIdentity.Get(string.Format("{0:X08}", imageHdr.Value.PlatformId));
         if (platformId != requestPlatformId) {
            Log.Error("Platform id ({0}) in request is not equal image file platform id ({1})", requestPlatformId, platformId);
            return SwlResult.INVALID_PLATFORM;
         }

         var pi = dbConn.ExecuteBpl(new PlatformGetById(platformId));
         if (pi == null) {
            pi = new PlatformInfo();
            pi.PlatformId = platformId;
            pi.PlatformUId = (int)imageHdr.Value.PlatformId;
            pi.PlatformName = imageHdr.Value.PlatformName;
            pi.PlatformVersion = imageHdr.Value.PlatformVersion.ToInt32();

            dbConn.ExecuteBpl(new PlatformAdd(pi));

            dbConn.ExecuteBpl(new PlatformSetLock(platformId, PlatformLockType.ByClient, BplIdentity.Empty));
         }

         var ii = dbConn.ExecuteBpl(new InstallGetByPlatformIdTypeVersionNumber(pi.PlatformId, Mpcr.Services.Oscar.Logistics.SoftwareUpdateType.Image, imageHdr.Value.Version.ToInt32()));
         if (ii != null) {
            return SwlResult.ALREADY_EXISTS;
         }

         ii = new InstallInfo();

         ii.InstallId = BplIdentity.Get(string.Format("PLID{0:X08}-IID{1:000}{2:000}{3:00000}",
            imageHdr.Value.PlatformId,
            imageHdr.Value.Version.Major, imageHdr.Value.Version.Minor, imageHdr.Value.Version.Release));
         ii.Type = Mpcr.Services.Oscar.Logistics.SoftwareUpdateType.Image;
         ii.PlatformId = platformId;
         ii.VersionNumber = imageHdr.Value.Version.ToInt32(); ;
         ii.Description = imageHdr.Value.Desc;
         ii.Date = imageHdr.Value.Date.ToDateTime();
         ii.Status = InstallStatus.Ready;
         ii.CodeName = requestCodeName;

         var installStoragePath = LogisticsHelpers.InstallGetStoragePath(ii);

         Directory.CreateDirectory(installStoragePath);
         File.Move(tempImageFile, Path.Combine(installStoragePath, LogisticsHelpers.InstallImageFileName));
         File.Move(tempMasterPackageFile, Path.Combine(installStoragePath, LogisticsHelpers.InstallMasterPackageFileName));
         Directory.Delete(sourcePath, true);

         dbConn.ExecuteBpl(new InstallAdd(ii));

         var swlr = LogisticsHelpers.InstallCreatePackages(dbConn, ii.InstallId);
         if (swlr != SwlResult.OK) {
            return swlr;
         }

         return SwlResult.OK;
      }
Example #34
0
 public IActionResult Add(string name, string quote)
 {
     ViewBag.Users = DbConnector.Query($"INSERT INTO Quoting (name, quote) VALUES ('{name}', '{quote}')");
     ViewBag.Users = DbConnector.Query("SELECT * FROM Quoting");
     return(View("newpage"));
 }
Example #35
0
      internal static SwlResult InstallAddNewConfig(DbConnector dbConn, InstallInfo installInfo, string sourcePath) {
         sourcePath = Path.Combine(LogisticsHelpers.PathTemp, sourcePath);
         if (!File.Exists(sourcePath)) {
            Log.Error("Config file {0} not exists", sourcePath);
            return SwlResult.INVALID_PARAMETER;
         }

         var pi = dbConn.ExecuteBpl(new PlatformGetById(installInfo.PlatformId));
         if (pi == null) {
            Log.Error("Platform with Id {0} not found in database", installInfo.PlatformId);
            return SwlResult.INVALID_PLATFORM;
         }

         var ii = dbConn.ExecuteBpl(new InstallGetByPlatformIdTypeVersionNumber(pi.PlatformId, Mpcr.Services.Oscar.Logistics.SoftwareUpdateType.Config, installInfo.VersionNumber));
         if (ii != null) {
            return SwlResult.ALREADY_EXISTS;
         }

         var version = SwlVersion.FromInt32(installInfo.VersionNumber);

         ii = new InstallInfo();

         ii.InstallId = BplIdentity.Get(string.Format("PLID{0}-CID{1:000}{2:000}{3:00000}",
            pi.PlatformId.LocalId.ToString(),
            version.Major, version.Minor, version.Release));
         ii.Type = Mpcr.Services.Oscar.Logistics.SoftwareUpdateType.Config;
         ii.PlatformId = installInfo.PlatformId;
         ii.VersionNumber = installInfo.VersionNumber;
         ii.Description = installInfo.Description;
         ii.Date = installInfo.Date;
         ii.Status = InstallStatus.Ready;

         dbConn.ExecuteBpl(new InstallAdd(ii));

         var pki = new PackageInfo();

         pki.PackageId = BplIdentity.Get(string.Format("PLID{0}-T{1:000}{2:000}{3:00000}-FXXX-XXX-XXXXX",
            ii.PlatformId.LocalId.ToString(),
            version.Major, version.Minor, version.Release));

         pki.PackageName = pki.PackageId.LocalId.ToString() + ".pkg";

         var packagePath = Path.Combine(StorageManager.ConfigsPath, pki.PackageName);
         File.Move(sourcePath, packagePath);

         pki.PackageCRC = ComputeCRC(packagePath);
         pki.PackageSize = (int)(new FileInfo(packagePath).Length);
         pki.TargetInstallId = ii.InstallId;
         pki.SourceInstallId = BplIdentity.Empty;

         dbConn.ExecuteBpl(new PackageAdd(pki));

         return SwlResult.OK;
      }
Example #36
0
 public Trigger(string name, string owner, DbConnector db, DbObjectType DbObjectTypeName) : base(name, owner, db, DbObjectTypeName)
 {
 }
Example #37
0
      internal static SwlResult InstallCreatePackages(DbConnector dbConn, BplIdentity installId) {
         var installInfo = dbConn.ExecuteBpl(new InstallGetById(installId));
         if (installInfo == null) {
            return SwlResult.NOT_FOUND;
         }

         if (installInfo.Status != InstallStatus.Ready) {
            return SwlResult.NOT_READY;
         }

         installInfo.Status = InstallStatus.Busy;
         dbConn.ExecuteBpl(new InstallSetStatus(installInfo));

         var packages = dbConn.ExecuteBpl(new PackageGetByTargetInstallId { TargetInstallId = installInfo.InstallId });
         foreach (var pkg in packages) {
            PackageDelete(dbConn, pkg, installInfo.Type);
         }

         var platformInstalls = dbConn.ExecuteBpl(new InstallGetByPlatformId(installInfo.PlatformId));
         foreach (var inst in platformInstalls) {
            var currentVersion = SwlVersion.FromInt32(installInfo.VersionNumber);
            var sourceVersion = SwlVersion.FromInt32(inst.VersionNumber);

            if (SwlVersion.Compare(sourceVersion, currentVersion) >= 0) {
               continue;
            }

            var sourceDescriptor = dbConn.ExecuteBpl(new InstallGetRuntimeDescriptor(inst.InstallId));
            if ((sourceDescriptor == null) || (sourceDescriptor.Length == 0)) {
               continue;
            }

            var pkgInfo = new PackageInfo();

            pkgInfo.PackageId = BplIdentity.Get(string.Format("PLID{0}-T{1:000}{2:000}{3:00000}-F{4:000}{5:000}{6:00000}",
               installInfo.PlatformId.LocalId.ToString(),
               currentVersion.Major, currentVersion.Minor, currentVersion.Release,
               sourceVersion.Major, sourceVersion.Minor, sourceVersion.Release));

            pkgInfo.PackageName = pkgInfo.PackageId.LocalId.ToString() + ".pkg";

            var packagePath = Path.Combine(StorageManager.PackagesPath, pkgInfo.PackageName);

            if (!Interop.CreatePackage(_getInstallMasterPackageFileName(installInfo), sourceVersion, sourceDescriptor, packagePath)) {
               continue;
            }

            pkgInfo.PackageCRC = ComputeCRC(packagePath);
            pkgInfo.PackageSize = (int)(new FileInfo(packagePath).Length);
            pkgInfo.TargetInstallId = installInfo.InstallId;
            pkgInfo.SourceInstallId = inst.InstallId;

            dbConn.ExecuteBpl(new PackageAdd(pkgInfo));
         }

         installInfo.Status = InstallStatus.Ready;
         dbConn.ExecuteBpl(new InstallSetStatus(installInfo));

         return SwlResult.OK;
      }
Example #38
0
 public QuotingDojoController()
 {
     cnx = new DbConnector();
 }
Example #39
0
      internal static SwlResult InstallDelete(DbConnector dbConn, BplIdentity installId) {
         var ii = dbConn.ExecuteBpl(new InstallGetById(installId));
         if (ii == null) {
            Log.Error("Installation with id {0} not found", installId);
            return SwlResult.NOT_FOUND;
         }

         var packages = dbConn.ExecuteBpl(new PackageGetByTargetInstallId { TargetInstallId = ii.InstallId });
         foreach (var pkg in packages) {
            LogisticsHelpers.PackageDelete(dbConn, pkg, ii.Type);
         }

         packages = dbConn.ExecuteBpl(new PackageGetByTargetInstallId { TargetInstallId = ii.InstallId });
         foreach (var pkg in packages) {
            LogisticsHelpers.PackageDelete(dbConn, pkg, ii.Type);
         }

         if (ii.Type == Mpcr.Services.Oscar.Logistics.SoftwareUpdateType.Image) {
            var installStoragePath = LogisticsHelpers.InstallGetStoragePath(ii);

            File.Delete(Path.Combine(installStoragePath, LogisticsHelpers.InstallImageFileName));
            File.Delete(Path.Combine(installStoragePath, LogisticsHelpers.InstallMasterPackageFileName));
            Directory.Delete(installStoragePath, true);
         }

         dbConn.ExecuteBpl(new InstallDelete { InstallId = ii.InstallId });

         return SwlResult.OK;
      }
Example #40
0
        public bool DeleteByKeyWithStatus(int employeeClassificationKey)
        {
            var sql = @"DELETE HR.EmployeeClassification WHERE EmployeeClassificationKey = @employeeClassificationKey;";

            return(1 == DbConnector.NonQuery(sql, new { employeeClassificationKey }).Execute());
        }
Example #41
0
      internal static SwlResult CampaignCheckStatus(DbConnector dbConn, BplIdentity campaignId) {
         var ci = dbConn.ExecuteBpl(new CampaignGetById(campaignId));
         if (ci == null) {
            return SwlResult.NOT_FOUND;
         }

         var targets = dbConn.ExecuteBpl(new CampaignTargetGetByCampaignId { CampaignId = campaignId });

         int pending = 0;
         int inprogress = 0;
         int success = 0;
         int failed = 0;
         int cancelled = 0;

         foreach (var target in targets) {
            switch (target.Status) {
               case CampaignTargetStatus.Pending: { pending++; break; }
               case CampaignTargetStatus.Inprogress: { inprogress++; break; }
               case CampaignTargetStatus.Success: { success++; break; }
               case CampaignTargetStatus.Failed: { failed++; break; }
               case CampaignTargetStatus.Canceled: { cancelled++; break; }
            }
         }

         if ((inprogress == 0) && (success == 0) && (failed == 0) && (cancelled == 0)) {
            ci.CompletionStatus = CampaignCompletionStatus.Pending;
         } else if (inprogress > 0) {
            ci.CompletionStatus = CampaignCompletionStatus.Inprogress;
            ci.WorkStatus = CampaignWorkStatus.Active;
         } else if (failed > 0) {
            ci.CompletionStatus = CampaignCompletionStatus.Failed;
         } else if (cancelled > 0) {
            ci.CompletionStatus = CampaignCompletionStatus.Stopped;
         } else {
            if (success == targets.Count) {
               ci.CompletionStatus = CampaignCompletionStatus.Success;
            }
         }

         if ((success + failed + cancelled) == targets.Count) {
            ci.WorkStatus = CampaignWorkStatus.Closed;
         }

         dbConn.ExecuteBpl(new CampaignChangeStatus(ci.CampaignId, ci.WorkStatus, ci.CompletionStatus));

         return SwlResult.OK;
      }
Example #42
0
 public SkillService(DbConnector connector)
 {
     _connector = connector;
 }
Example #43
0
      internal static CampaignTargetInfoEx CampaignTargetCheckForUpdate(DbConnector dbConn, BplIdentity deviceId) {
         var targets = dbConn.ExecuteBpl(new CampaignTargetGetByDeviceId { DeviceId = deviceId });
         if (targets.Count == 0) {
            return null;
         }

         foreach (var target in targets) {
            if (target.CampaignCompleteonStatus == CampaignCompletionStatus.Failed) {
               return null;
            }

            if (target.CampaignWorkStatus != CampaignWorkStatus.Active) {
               continue;
            }

            if ((int)target.Status < (int)CampaignTargetStatus.Success) {
               return target;
            }
         }

         return null;
      }
Example #44
0
 private static DbConnector CreateConnector() => DbConnector.Create(
     new MySqlConnection("Server=localhost;User Id=root;Password=test;SSL Mode=none;Database=test;Ignore Prepare=false;AllowPublicKeyRetrieval=true"),
     new DbConnectorSettings {
     AutoOpen = true, LazyOpen = true, SqlSyntax = SqlSyntax.MySql
 });
Example #45
0
      internal static SwlResult CampaignTargetSetStatus(DbConnector dbConn, BplIdentity targetId, Mpcr.Services.Oscar.Logistics.CampaignTargetStatus status) {
         var ti = dbConn.ExecuteBpl(new CampaignTargetGetById { TargetId = targetId });
         if (ti == null) {
            return SwlResult.NOT_FOUND;
         }

         switch (status) {
            case CampaignTargetStatus.Success:
               dbConn.ExecuteBpl(new CampaignTargetUpdateProgress { TargetId = targetId, ClientUpdateState = SoftwareUpdateState.Completed, ClientUpdateStatus = "Update completed successfully" });
               break;

            case CampaignTargetStatus.Failed:
               dbConn.ExecuteBpl(new CampaignTargetUpdateProgress { TargetId = targetId, ClientUpdateState = SoftwareUpdateState.Failed, ClientUpdateStatus = "Update failed" });
               break;
         }

         dbConn.ExecuteBpl(new CampaignTargetChangeStatus { TargetId = targetId, Status = status });

         return CampaignCheckStatus(dbConn, ti.CampaignId);
      }
Example #46
0
 public static void UpdateUser(string fname, string lname, int favnum, string dummy1, string dummy2, string dummy3, int userid)
 {
     DbConnector.Execute($"UPDATE Users SET FirstName = \'{fname}\', LastName = \'{lname}\', FavoriteNumber = \'{favnum}\', DummyData1 = \'{dummy1}\', DummyData2 = \'{dummy2}\', DummyData3 = \'{dummy3}\' WHERE id = \'{userid}\'");
     AllUsers();
 }
Example #47
0
      public static SwlResult CampaignTargetCompletion(DbConnector dbConn, BplIdentity targetId, SoftwareUpdateResult updateResult) {
         var target = dbConn.ExecuteBpl(new CampaignTargetGetById { TargetId = targetId });
         if (target == null) {
            Log.Warn("CAMPAIGN TARGET with ID {0} not found in database, EXITING !!!", targetId);
            return SwlResult.NOT_FOUND;
         }

         var targetStatus = CampaignTargetStatus.Failed;

         if (updateResult == SoftwareUpdateResult.Success) {
            var di = dbConn.ExecuteBpl(new DeviceGetById { DeviceId = target.DeviceId });
            if (di == null) {
               Log.Error("Device with ID: {0} not found in database, EXITING !!!", target.DeviceId);
               return SwlResult.INVALID_DATA;
            }

            dbConn.ExecuteBpl(new DeviceInstallAdd(di.DeviceId, target.CampaignType, target.CampaignDstInstallId));

            targetStatus = CampaignTargetStatus.Success;
         }

         return LogisticsHelpers.CampaignTargetSetStatus(dbConn, targetId, targetStatus);
      }
Example #48
0
 public HomeController(DbConnector connect)
 {
     _dbConnector = connect;
 }
Example #49
0
 public RegController(DbConnector connect)
 {
     _dbConnector = connect;
 }
        /// <summary>
        /// Handles DataGridView button click events
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void dgvProject_CellContentClick(object sender, DataGridViewCellEventArgs e)
        {
            var Column = ((DataGridView)sender).Columns[e.ColumnIndex];

            if (Column is DataGridViewButtonColumn && e.RowIndex >= 0)
            {
                if (Column.Index == 9) // Modules button
                {
                    Modules_Tab.getInstance().BringToFront();
                    Modules_Tab.getInstance().populateDataGridView(Convert.ToInt32(dgvProject.Rows[e.RowIndex].Cells[0].Value));
                }
                else if (Column.Index == 10)             // Update button
                {
                    if (DbConnector.OpenSQLConnection()) // Open connection to the database
                    {
                        // Connection opened
                        ProjectDataAccess project = new ProjectDataAccess();
                        var result = project.FindProject(Convert.ToInt32(dgvProject.Rows[e.RowIndex].Cells[0].Value));
                        if (result != null)
                        {
                            Projects_Tab_Child.getInstance().BringToFront();
                            Projects_Tab_Child.getInstance().changeView(result);
                        }
                    }
                    else
                    {
                        // Connection could not be opened
                        MessageBox.Show("Connection to the database could not be established", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }

                    DbConnector.CloseSQLConnection(); // Close connection to the database
                }
                else if (Column.Index == 11)          // Delete button
                {
                    if (MessageBox.Show("Are you sure you want to delete this record?", "Confirm", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
                    {
                        if (DbConnector.OpenSQLConnection()) // Open connection to the database
                        {
                            // Connection opened
                            ProjectDataAccess project = new ProjectDataAccess();
                            if (project.DeleteProject(Convert.ToInt32(dgvProject.Rows[e.RowIndex].Cells[0].Value)))
                            {
                                // Record deleted successfully
                                MessageBox.Show("Record has been deleted successfully", "Success", MessageBoxButtons.OK, MessageBoxIcon.Information);
                                populateDataGridView();
                            }
                            else
                            {
                                // Record was not deleted
                                MessageBox.Show("The record could not be deleted", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                            }
                        }
                        else
                        {
                            // Connection could not be opened
                            MessageBox.Show("Connection to the database could not be established", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                        }

                        DbConnector.CloseSQLConnection(); // Close connection to the database
                    }
                }
            }
        }
Example #51
0
      private static bool _isTableExists(DbConnector dbConn, string dbName, string tableName) {
         var q = "";

         q += "IF EXISTS( ";
         q += "    SELECT  name ";
         q += "    FROM    {0}.sys.sysobjects ";
         q += "    WHERE   type = N'U' AND name = N'{1}') ";
         q += "    select 1 AS BPL_RETURNED_SCALAR ";
         q += "else ";
         q += "    select 0 AS BPL_RETURNED_SCALAR";

         return dbConn.ExecuteQueryScalar<bool>(string.Format(q, dbName, tableName));
      }