Laden der ungelesenen Nachrichten verbessert

This commit is contained in:
staccatomamba
2016-09-22 14:29:57 +02:00
parent ff307fe8f0
commit a79346e145
6 changed files with 834 additions and 837 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -1296,54 +1296,40 @@ namespace BeWo.View
{
try
{
List<long> listeOid = new List<long>();
foreach (var count in ita)
{
if (!listeOid.Contains(count.EmpfaengerOid))
{
listeOid.Add(count.EmpfaengerOid);
}
}
var x = ServiceFacade.DoOperationsServiceSync(s => s.GetAllUnreadChatMessages(listeOid));
var x = ServiceFacade.DoOperationsServiceSync(s => s.FindUnreadChatMessagesForRecipient(BeWoApp.LoggedOnEmployee.PersonOid.Value));
foreach (var ChatMessage in x)
{
if (ChatMessage.IstGelesen != 1)
foreach (var aktChatPersons in ita)
{
foreach (var aktChatPersons in ita)
if (aktChatPersons.EmpfaengerOid == ChatMessage.SenderPersonOid && aktChatPersons.TypeChat != ChatType.Team)
{
if (aktChatPersons.EmpfaengerOid == ChatMessage.SenderPersonOid && aktChatPersons.TypeChat != ChatType.Team)
int aktc;
bool wasdrin = int.TryParse(aktChatPersons.Receivems, out aktc);
if (wasdrin)
{
int aktc;
bool wasdrin = int.TryParse(aktChatPersons.Receivems, out aktc);
aktc++;
aktChatPersons.Receivems = aktc.ToString();
if (wasdrin)
{
aktc++;
aktChatPersons.Receivems = aktc.ToString();
}
else
aktChatPersons.Receivems = 1.ToString();
}else if(aktChatPersons.EmpfaengerOid == ChatMessage.TeamOid)
{
int aktt;
bool wasdrin = int.TryParse(aktChatPersons.Receivems, out aktt);
if (wasdrin)
{
aktt++;
aktChatPersons.Receivems = aktt.ToString();
}
else
aktChatPersons.Receivems = 1.ToString();
}
else
aktChatPersons.Receivems = 1.ToString();
}else if(aktChatPersons.EmpfaengerOid == ChatMessage.TeamOid)
{
int aktt;
bool wasdrin = int.TryParse(aktChatPersons.Receivems, out aktt);
if (wasdrin)
{
aktt++;
aktChatPersons.Receivems = aktt.ToString();
}
else
aktChatPersons.Receivems = 1.ToString();
}
}
}

View File

@@ -1653,5 +1653,14 @@ namespace BeWo.Data.Access
return c.List<Person>();
}
public IEnumerable<ChatMessage> FindUnreadChatMessagesForRecipient(long pRecipientOid)
{
var c = CreateCriteriaIsActive<ChatMessage>()
.Add(Restrictions.Eq(ChatMessage.PropertyName_EmpfängerPersonOid, pRecipientOid))
.Add(Restrictions.Eq(ChatMessage.PropertyName_IstGelesen, 0));
return c.List<ChatMessage>();
}
}
}

View File

@@ -528,7 +528,7 @@ namespace BeWo.Service.ServiceContracts
[FaultContract(typeof(BeWoFault))]
[OperationContract]
List<ChatMessageDC> GetAllUnreadChatMessages(List<long> personOid);
List<ChatMessageDC> FindUnreadChatMessagesForRecipient(long personOid);
[FaultContract(typeof(BeWoFault))]
[OperationContract]

View File

@@ -3146,6 +3146,7 @@ namespace BeWo.Service.ServiceImplementations
}
}
// TODO: CompactPersonDCs benutzen
public List<CompactCustomerDC> GetAllChatActiveCustomersCompact(long personOid)
{
try

View File

@@ -3216,11 +3216,11 @@ namespace BeWo.Service.ServiceImplementations
return Code;
}
public List<ChatMessageDC> GetAllUnreadChatMessages(List<long>personOid)
public List<ChatMessageDC> FindUnreadChatMessagesForRecipient(long personOid)
{
try
{
var chatMessage = DAOFactory.SearchDAO.FindAllUnreadChatMessages(personOid);
var chatMessage = DAOFactory.SearchDAO.FindUnreadChatMessagesForRecipient(personOid);
var ChatMessagesDC = MapperFactory.ChatMessagesDC_ChatMessages.MapToNewDCs(chatMessage);