void OnRequestChanged(RequestChangedMessage message)
        {
            // Нажатие "ОК" или "Применить" при создании обращения
            if (message.ChangeType == RequestChangeType.Create &&
                Request.IsMyClone(message.Request))
            {
                Request = message.Request;
                SetCaption();
                SetStatusMessage(LogLevel.Info, Properties.Resources.RequestCreateSuccess);
            }

            else if (message.Request.Equals(Request))
            {
                if (message.ChangeType == RequestChangeType.Update)
                {
                    // Нажатие "ОК" или "Применить" при редактировании обращения
                    if (Request.IsMyClone(message.Request))
                    {
                        Request = message.Request;
                        SetStatusMessage(LogLevel.Info, Properties.Resources.RequestSaveSuccess);
                    }
                    // Обращение было изменено в другой форме
                    else
                    {
                        SetStatusMessage(LogLevel.Warn, StatusMessage = Properties.Resources.RequestAlreadyChanged);
                    }
                }
                // Обращение было удалено
                else if (message.ChangeType == RequestChangeType.Delete)
                {
                    SetStatusMessage(LogLevel.Error, Properties.Resources.RequestAlreadyRemoved);
                }
            }
        }
        void OnRequestChanged(RequestChangedMessage message)
        {
            RequestEntity request = null;
            if (message.ChangeType == RequestChangeType.Create)
            {
                request = message.Request.Clone();
                request.IsPersisit = !_mainController.IsRequestFiltered(request, _filter);
                RequestList.Entities.Add(request);
            }
            
            else if (message.ChangeType == RequestChangeType.Update)
            {
                if (_mainController.IsRequestFiltered(message.Request, _filter))
                {
                    int index = RequestList.Entities.IndexOf(message.Request);
                    if (index != -1)
                    {
                        request = message.Request.Clone();
                        RequestList.Entities[index] = request;
                        RequestList.Current = request;
                    }
                }
            }

            if (message.ChangeType == RequestChangeType.Delete)
            {
                RequestList.Entities.Remove(message.Request);
            }
            
            _requestIdentCash.Remove(message.Request.CloneKey);
        }
Example #3
0
 void FireRequestChangedEvent(RequestChangedMessage changedMessage)
 {
     _eventMgr.GetEvent <RequestChangedEvent>().Publish(changedMessage);
 }