Пример #1
0
        public void PrintCallBack(GlobalFlags.CallbackTypes callbackTypes, EventDTO[] events)
        {
            string callbackType;

            switch (callbackTypes)
            {
            case GlobalFlags.CallbackTypes.OnEvensUpdated:
                callbackType = "This event was updated on";
                break;

            case GlobalFlags.CallbackTypes.OnEventsAdded:
                callbackType = "This event was added on";
                break;

            case GlobalFlags.CallbackTypes.OnEventsDeleted:
                callbackType = "This event was deleted from the";
                break;

            default:
                return;
            }
            if (events != null && events.Length != 0)
            {
                foreach (var eventDto in events)
                {
                    AddNote(String.Format("{4}  server:{2} in list:{3} =>ID={0} Title={1} Prot. Index={5} \r\n",
                                          eventDto.ID, eventDto.Title, _operationLogInfo.ServerName,
                                          _operationLogInfo.AirList, callbackType, eventDto.BackupDeviceIndex), GlobalFlags.CallbackDestination.ListService);
                    File.AppendAllText(AppConstants.ListserviceCallBackFname, String.Format("{4}  server:{2} in list:{3} =>ID={0} Title={1} Prot. Index={5} \r\n",
                                                                                            eventDto.ID, eventDto.Title, _operationLogInfo.ServerName,
                                                                                            _operationLogInfo.AirList, callbackType, eventDto.BackupDeviceIndex));
                }
            }
        }
Пример #2
0
        public void PrintCallBack(GlobalFlags.CallbackTypes cTypes, CallbackObjects.ListLock lstLockData)
        {
            string msg     = (cTypes == GlobalFlags.CallbackTypes.ListLocked) ? "locked" : "unlocked";
            string fullMsg = String.Format("The list {0} was {1} on server {2} by client {3} \r\n", lstLockData.ListIndex,
                                           msg, lstLockData.ServerName, lstLockData.ClientName);

            AddNote(fullMsg, GlobalFlags.CallbackDestination.ListService);
            File.AppendAllText(AppConstants.ListserviceCallBackFname, fullMsg);
        }
        // ReSharper restore FunctionNeverReturns

        #endregion

        #region DATA PRINTING

        public void UpdateGrid(EventDTO[] eventsToUpdate, GlobalFlags.CallbackTypes gridUpdateType)
        {
            foreach (var eventDTO in eventsToUpdate)
            {
                var      found = _eventsCollection.FirstOrDefault(targetGuid => targetGuid.EventGuid == eventDTO.AdcEventId);
                int      index = _eventsCollection.IndexOf(found);
                EventDTO dto   = eventDTO;
                if (index >= 0)
                {
                    if (gridUpdateType == GlobalFlags.CallbackTypes.OnEvensUpdated)
                    {
                        Dispatcher.Invoke(new Action(() => _eventsCollection[index] = new EventData
                        {
                            EventGuid            = dto.AdcEventId,
                            EventNumber          = (index + 1).ToString(),
                            EventOnAirTime       = TimeCodeDTOToStringConverter(dto.OnAirTime, false),
                            EventID              = dto.ID,
                            EventTitle           = dto.Title,
                            EventStatus          = GetStatusString(dto.EventStatus, dto.DeviceIndex),
                            EventDuration        = TimeCodeDTOToStringConverter(dto.Duration),
                            EventSOM             = TimeCodeDTOToStringConverter(dto.Som),
                            EventProtectedDevice = GetDeviceByIndex(dto.BackupDeviceIndex)
                        }
                                                     ));
                    }
                    MarkLine(GetGridLineType(dto.EventStatus, dto.DeviceIndex), index, false);
                    if (gridUpdateType == GlobalFlags.CallbackTypes.OnEventsDeleted)
                    {
                        Dispatcher.Invoke(new Action(() => _eventsCollection.Remove(found)));
                    }
                }
                if (gridUpdateType == GlobalFlags.CallbackTypes.OnEventsAdded)
                {
                    Dispatcher.Invoke(new Action(() => _eventsCollection.Add(new EventData
                    {
                        EventGuid            = dto.AdcEventId,
                        EventNumber          = (_eventsCollection.Count + 1).ToString(),
                        EventOnAirTime       = TimeCodeDTOToStringConverter(dto.OnAirTime, false),
                        EventID              = dto.ID,
                        EventTitle           = dto.Title,
                        EventStatus          = GetStatusString(dto.EventStatus, dto.DeviceIndex),
                        EventDuration        = TimeCodeDTOToStringConverter(dto.Duration),
                        EventSOM             = TimeCodeDTOToStringConverter(dto.Som),
                        EventProtectedDevice = GetDeviceByIndex(dto.BackupDeviceIndex)
                    })));
                    MarkLine(GetGridLineType(dto.EventStatus, dto.DeviceIndex), _eventsCollection.Count, false);
                }
            }
        }