Exemplo n.º 1
0
        public async Task <bool> AssignFirmwareUpgradeToLoggers(int?firmwareUpgradeId, IEnumerable <int> loggerIds)
        {
            // Set all the loggers to the selected upgrade ID.
            foreach (int loggerId in loggerIds)
            {
                LoggingDevice device = new LoggingDevice
                {
                    Id = loggerId,
                    FirmwareUpgradeId       = firmwareUpgradeId,
                    FirmwareUpgradeAttempts = firmwareUpgradeId.HasValue ? 0 : (int?)null
                };
                db.LoggingDevices.Attach(device);
                db.Entry(device).Property(dbLoggingDevice => dbLoggingDevice.FirmwareUpgradeId).IsModified       = true;
                db.Entry(device).Property(dbLoggingDevice => dbLoggingDevice.FirmwareUpgradeAttempts).IsModified = true;
            }

            // Save the changes.
            try
            {
                await db.SaveChangesNoValidationAsync();
            }
            catch (Exception e)
            {
                Trace.TraceError("Failed to assign upgrade to loggers: {0}", e);
                return(false);
            }
            return(true);
        }