Exemple #1
0
 private void updateTitle()
 {
     if (!isActive)
     {
         var newMessagesCount = LastReadedRepository.GetLastReadedMessagesCountForEmployee(chatUoW, chatUoW.Root, currentEmployee);
         if (newMessagesCount > 0)
         {
             if (chatUoW.Root.ChatType == ChatType.DriverAndLogists)
             {
                 this.TabName = String.Format("Чат ({0}) + {1}", chatUoW.Root.Driver.ShortName, newMessagesCount);
             }
         }
         else
         {
             if (chatUoW.Root.ChatType == ChatType.DriverAndLogists)
             {
                 this.TabName = String.Format("Чат ({0})", chatUoW.Root.Driver.ShortName);
             }
         }
     }
     else
     {
         if (chatUoW.Root.ChatType == ChatType.DriverAndLogists)
         {
             this.TabName = String.Format("Чат ({0})", chatUoW.Root.Driver.ShortName);
         }
         updateLastReadedMessage();
     }
 }
Exemple #2
0
        private void configure(int chatId)
        {
            chatUoW         = UnitOfWorkFactory.CreateForRoot <Chat>(chatId);
            currentEmployee = EmployeeRepository.GetEmployeeForCurrentUser(chatUoW);

            if (currentEmployee == null)
            {
                MessageDialogHelper.RunErrorDialog("Ваш пользователь не привязан к сотруднику. Невозможно открыть чат.");
                this.Destroy();
                return;
            }
            if (!ChatCallbackObservable.IsInitiated)
            {
                ChatCallbackObservable.CreateInstance(currentEmployee.Id);
            }
            ChatCallbackObservable.GetInstance().AddObserver(this);
            var lastReaded = LastReadedRepository.GetLastReadedMessageForEmloyee(chatUoW, chatUoW.Root, currentEmployee);

            if (lastReaded != null)
            {
                var readDays = (DateTime.Today - lastReaded.LastDateTime.Date).Days;
                if (showMessagePeriod < readDays)
                {
                    showMessagePeriod = readDays;
                }
            }
            else
            {
                var readDays = (DateTime.Today - currentEmployee.CreationDate.Date).Days;
                if (showMessagePeriod < readDays)
                {
                    showMessagePeriod = readDays;
                }
            }
            updateChat();
        }