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(); } }
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(); }