Merge branch 'master' of ssh://float.beyondsoft.de/git/beyondSoft/BeWo
This commit is contained in:
@@ -1195,11 +1195,15 @@ namespace BeWo.ServiceProxy
|
||||
|
||||
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/ICustomerService/FindAllChatMessages", ReplyAction="http://tempuri.org/ICustomerService/FindAllChatMessagesResponse")]
|
||||
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/ICustomerService/FindAllChatMessagesBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
|
||||
System.Collections.Generic.List<BS.Shared.DataContracts.ChatMessageDC> FindAllChatMessages(long senderOid, long empfaengerOid);
|
||||
System.Collections.Generic.List<BS.Shared.DataContracts.ChatMessageDC> FindAllChatMessages(long senderOid, long empfaengerOid, int maxNachricht);
|
||||
|
||||
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/ICustomerService/FindAllChatMessagesFromTeam", ReplyAction="http://tempuri.org/ICustomerService/FindAllChatMessagesFromTeamResponse")]
|
||||
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/ICustomerService/FindAllChatMessagesFromTeamBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
|
||||
System.Collections.Generic.List<BS.Shared.DataContracts.ChatMessageDC> FindAllChatMessagesFromTeam(long senderOid, long teamEmpfangOid);
|
||||
System.Collections.Generic.List<BS.Shared.DataContracts.ChatMessageDC> FindAllChatMessagesFromTeam(long senderOid, long teamEmpfangOid, int maxNachrichten);
|
||||
|
||||
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/ICustomerService/GetNextChatMessages", ReplyAction="http://tempuri.org/ICustomerService/GetNextChatMessagesResponse")]
|
||||
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/ICustomerService/GetNextChatMessagesBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
|
||||
System.Collections.Generic.List<BS.Shared.DataContracts.ChatMessageDC> GetNextChatMessages(long senderOid, long EmpfangOid, bool isteam, System.Collections.Generic.List<string> messageIds, int maxMessage);
|
||||
|
||||
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/ICustomerService/UpdateIstGelesen", ReplyAction="http://tempuri.org/ICustomerService/UpdateIstGelesenResponse")]
|
||||
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/ICustomerService/UpdateIstGelesenBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
|
||||
@@ -1916,14 +1920,19 @@ namespace BeWo.ServiceProxy
|
||||
return base.Channel.GetAllChatActiveCustomersCompact(personOid);
|
||||
}
|
||||
|
||||
public System.Collections.Generic.List<BS.Shared.DataContracts.ChatMessageDC> FindAllChatMessages(long senderOid, long empfaengerOid)
|
||||
public System.Collections.Generic.List<BS.Shared.DataContracts.ChatMessageDC> FindAllChatMessages(long senderOid, long empfaengerOid, int maxNachricht)
|
||||
{
|
||||
return base.Channel.FindAllChatMessages(senderOid, empfaengerOid);
|
||||
return base.Channel.FindAllChatMessages(senderOid, empfaengerOid, maxNachricht);
|
||||
}
|
||||
|
||||
public System.Collections.Generic.List<BS.Shared.DataContracts.ChatMessageDC> FindAllChatMessagesFromTeam(long senderOid, long teamEmpfangOid)
|
||||
public System.Collections.Generic.List<BS.Shared.DataContracts.ChatMessageDC> FindAllChatMessagesFromTeam(long senderOid, long teamEmpfangOid, int maxNachrichten)
|
||||
{
|
||||
return base.Channel.FindAllChatMessagesFromTeam(senderOid, teamEmpfangOid);
|
||||
return base.Channel.FindAllChatMessagesFromTeam(senderOid, teamEmpfangOid, maxNachrichten);
|
||||
}
|
||||
|
||||
public System.Collections.Generic.List<BS.Shared.DataContracts.ChatMessageDC> GetNextChatMessages(long senderOid, long EmpfangOid, bool isteam, System.Collections.Generic.List<string> messageIds, int maxMessage)
|
||||
{
|
||||
return base.Channel.GetNextChatMessages(senderOid, EmpfangOid, isteam, messageIds, maxMessage);
|
||||
}
|
||||
|
||||
public void UpdateIstGelesen(long senderOid, long empfaengerOid, bool istGelesen)
|
||||
|
||||
@@ -250,6 +250,16 @@
|
||||
<TextBlock VerticalAlignment="Center" Text="{Binding UserMessage}" MinWidth="0" MaxWidth="500" TextWrapping="Wrap" />
|
||||
</StackPanel>
|
||||
|
||||
|
||||
|
||||
<!-- ################################## Button Für Weitere Items Laden / Prototyp ############################### -->
|
||||
<StackPanel DockPanel.Dock="Bottom" Visibility="{Binding LoadNextVisibility}" >
|
||||
<Button Content="Lade weitere Nachrichten" ToolTip="weitere Nachrichten Herunterladen" HorizontalAlignment="Center" VerticalAlignment="Center" Width="150" Height="25" Tag="{Binding LoadObject}" Click="LadeWeitereBase_OnClick" />
|
||||
</StackPanel>
|
||||
|
||||
<!-- ################################## Ende Prototyp ########################################### -->
|
||||
|
||||
|
||||
<!--############################### Neu versuch ein Button in den Chat hinein zu packen ###############################################-->
|
||||
|
||||
<!--Sound bereich
|
||||
|
||||
@@ -86,6 +86,13 @@ namespace BeWo.View
|
||||
//protected IWavePlayer waveOutDevice = null;
|
||||
//protected AudioFileReader audioFileReader = null;
|
||||
|
||||
//Für anzeige MEhr Anzeigen wen mehr als 20 items Vorhanden
|
||||
|
||||
int itemGrenze = 5;
|
||||
List<string> aktuelleChatMessageIDListe = new List<string>();
|
||||
|
||||
|
||||
|
||||
//versuch oder | probieren geht über studieren
|
||||
protected Dictionary<string, byte[]> SoundZwischenSpeicher = new Dictionary<string, byte[]>();
|
||||
protected Dictionary<string, byte[]> BildZwischenSpeicher = new Dictionary<string, byte[]>();
|
||||
@@ -166,7 +173,7 @@ namespace BeWo.View
|
||||
|
||||
curItem.Receivems = "";
|
||||
|
||||
Chat.Items.Add(new KontakMessageBuilder(nameclient, text, DateTime.Now.ToString(), personoid,false));
|
||||
Chat.Items.Add(new KontakMessageBuilder(nameclient, text, DateTime.Now.ToString(), personoid,false,false,null));
|
||||
|
||||
Chat.Items.MoveCurrentToLast();
|
||||
Chat.ScrollIntoView(Chat.Items.CurrentItem);
|
||||
@@ -1235,7 +1242,7 @@ namespace BeWo.View
|
||||
{
|
||||
string msg = Chatbox.Text;
|
||||
|
||||
Chat.Items.Add(new KontakMessageBuilder(BeWoApp.LoggedOnUser.Employee.FirstName, msg, DateTime.Now.ToString(), BeWoApp.LoggedOnUser.Employee.PersonOid,true));
|
||||
Chat.Items.Add(new KontakMessageBuilder(BeWoApp.LoggedOnUser.Employee.FirstName, msg, DateTime.Now.ToString(), BeWoApp.LoggedOnUser.Employee.PersonOid,true,false,null));
|
||||
|
||||
|
||||
if (tcpClient.Connected)
|
||||
@@ -1307,21 +1314,28 @@ namespace BeWo.View
|
||||
{
|
||||
try
|
||||
{
|
||||
SoundZwischenSpeicher.Clear();
|
||||
BildZwischenSpeicher.Clear();
|
||||
DokumentZwischenSpeicher.Clear();
|
||||
//Für anzeige MEhr Anzeigen wen mehr als 20 items Vorhanden
|
||||
|
||||
int itemGrenze = 20;
|
||||
// SoundZwischenSpeicher.Clear();
|
||||
// BildZwischenSpeicher.Clear();
|
||||
//DokumentZwischenSpeicher.Clear();
|
||||
aktuelleChatMessageIDListe.Clear();
|
||||
|
||||
|
||||
if (Curitem.TypeChat == ChatType.Team)
|
||||
{
|
||||
int sx = 0;
|
||||
// int sx = 0;
|
||||
|
||||
var allTeamItems =
|
||||
ServiceFacade.DoCustomerServiceSync(
|
||||
s => s.FindAllChatMessagesFromTeam(senderoid, empfaengerOid));
|
||||
s => s.FindAllChatMessagesFromTeam(senderoid, empfaengerOid,itemGrenze));
|
||||
|
||||
ShowTeamMessageInChat(allTeamItems,true);
|
||||
|
||||
foreach (var item in allTeamItems)
|
||||
{
|
||||
aktuelleChatMessageIDListe.Add(item.MessageId);
|
||||
}
|
||||
|
||||
/* Ausgiebig testen wenn alles normal geht dann alles von hier löschen
|
||||
|
||||
// List<ChatMessageDC> allTeamItems = new List<ChatMessageDC>();
|
||||
//ServiceFacade.DoCustomerServiceAsync(
|
||||
@@ -1333,15 +1347,18 @@ namespace BeWo.View
|
||||
// });
|
||||
|
||||
//original
|
||||
//long[] longarrays =new long[2];
|
||||
//longarrays[0] = senderoid;
|
||||
//longarrays[1] = empfaengerOid;
|
||||
|
||||
//Umbauen daraus soll ein Button gemacht werden
|
||||
//Umbauen / Es sollen Später mal nur max 20 Nachrichten heraus geholt und angezeigt werden.
|
||||
if (allTeamItems.Count > itemGrenze)
|
||||
{
|
||||
Chat.Items.Add(new KontakMessageBuilder("", "------------------------ Mehr Nachrichten Vorhanden / Hier ist später mal ein Button -----------------------", "", 0, false));
|
||||
Chat.Items.Add(new KontakMessageBuilder("", "------------------------ Mehr Nachrichten Vorhanden / Hier ist später mal ein Button ----------------------------------", "", 0, false,true,allTeamItems));
|
||||
}
|
||||
else
|
||||
{
|
||||
Chat.Items.Add(new KontakMessageBuilder("", "------------------------ Keine weiteren Nachrichten Verfügbar / Hier ist später mal kein Button -----------------------", "", 0, false));
|
||||
Chat.Items.Add(new KontakMessageBuilder("", "------------------------ Keine weiteren Nachrichten Verfügbar / Hier ist später mal kein Button -----------------------", "", 0, false,false,null));
|
||||
}
|
||||
|
||||
|
||||
@@ -1375,7 +1392,7 @@ namespace BeWo.View
|
||||
|
||||
if (anzeige.MediaDatei == null)
|
||||
{
|
||||
Chat.Items.Add(new KontakMessageBuilder(person[zahl].FirstName, anzeige.ChatText,anzeige.Uhrzeit.ToString(), anzeige.SenderPersonOid.Value, true));
|
||||
Chat.Items.Add(new KontakMessageBuilder(person[zahl].FirstName, anzeige.ChatText,anzeige.Uhrzeit.ToString(), anzeige.SenderPersonOid.Value, true,false,null));
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -1423,7 +1440,7 @@ namespace BeWo.View
|
||||
{
|
||||
if (sx == 0 && anzeige.IstGelesen != 1 )
|
||||
{
|
||||
Chat.Items.Add(new KontakMessageBuilder("","------------------------ Ungelesene Nachrichten -----------------------", "", 0,false));
|
||||
Chat.Items.Add(new KontakMessageBuilder("","------------------------ Ungelesene Nachrichten -----------------------", "", 0,false,false,null));
|
||||
sx++;
|
||||
}
|
||||
|
||||
@@ -1433,7 +1450,7 @@ namespace BeWo.View
|
||||
if (anzeige.MediaDatei == null )
|
||||
{
|
||||
Chat.Items.Add(new KontakMessageBuilder(person[zahl].FirstName, anzeige.ChatText,
|
||||
anzeige.Uhrzeit.ToString(), anzeige.SenderPersonOid.Value, false));
|
||||
anzeige.Uhrzeit.ToString(), anzeige.SenderPersonOid.Value, false,false,null));
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -1484,15 +1501,23 @@ namespace BeWo.View
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
*/
|
||||
}
|
||||
else
|
||||
{
|
||||
var allitems =
|
||||
var allitems2 =
|
||||
ServiceFacade.DoCustomerServiceSync(
|
||||
s => s.FindAllChatMessages(senderoid, empfaengerOid));
|
||||
s => s.FindAllChatMessages(senderoid, empfaengerOid, itemGrenze));
|
||||
|
||||
ShowMessageInChat(allitems2,true);
|
||||
|
||||
foreach (var item in allitems2)
|
||||
{
|
||||
aktuelleChatMessageIDListe.Add(item.MessageId);
|
||||
}
|
||||
|
||||
|
||||
//var allitems = allitems2.OrderBy(r => r.Uhrzeit);
|
||||
/* List<ChatMessageDC> allitems = new List<ChatMessageDC>();
|
||||
|
||||
ServiceFacade.DoCustomerServiceAsync(
|
||||
@@ -1503,14 +1528,23 @@ namespace BeWo.View
|
||||
allitems = r;
|
||||
});*/
|
||||
|
||||
/* var allitems = allitems2.OrderBy(dc => dc.Uhrzeit).ToList();
|
||||
|
||||
|
||||
|
||||
//long[] arraylong = new long[2];
|
||||
|
||||
//arraylong[0] = senderoid;
|
||||
//arraylong[1] = empfaengerOid;
|
||||
|
||||
//Umbauen daraus soll ein Button gemacht werden
|
||||
if (allitems.Count > itemGrenze)
|
||||
if (allitems.Count == itemGrenze)
|
||||
{
|
||||
Chat.Items.Add(new KontakMessageBuilder("", "------------------------ Mehr Nachrichten Vorhanden / Hier ist später mal ein Button -----------------------", "", 0, false));
|
||||
Chat.Items.Add(new KontakMessageBuilder("", "------------------------ Mehr Nachrichten Vorhanden / Hier ist später mal ein Button ---------------------------------", "", 0, false, true, allitems));
|
||||
}
|
||||
else
|
||||
{
|
||||
Chat.Items.Add(new KontakMessageBuilder("", "------------------------ Keine weiteren Nachrichten Verfügbar / Hier ist später mal kein Button -----------------------", "", 0, false));
|
||||
Chat.Items.Add(new KontakMessageBuilder("", "------------------------ Keine weiteren Nachrichten Verfügbar / Hier ist später mal kein Button -----------------------", "", 0, false,false,null));
|
||||
}
|
||||
|
||||
List<long> x = new List<long>();
|
||||
@@ -1535,7 +1569,7 @@ namespace BeWo.View
|
||||
if (list.MediaDatei == null)
|
||||
{
|
||||
Chat.Items.Add(new KontakMessageBuilder(person[0].FirstName, list.ChatText,
|
||||
list.Uhrzeit.ToString(), senderoid,true));
|
||||
list.Uhrzeit.ToString(), senderoid,true,false,null));
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -1582,7 +1616,7 @@ namespace BeWo.View
|
||||
if (list.MediaDatei == null)
|
||||
{
|
||||
Chat.Items.Add(new KontakMessageBuilder(person[1].FirstName, list.ChatText,
|
||||
list.Uhrzeit.ToString(), empfaengerOid, false));
|
||||
list.Uhrzeit.ToString(), empfaengerOid, false,false,null));
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -1634,7 +1668,7 @@ namespace BeWo.View
|
||||
if (list.MediaDatei == null)
|
||||
{
|
||||
Chat.Items.Add(new KontakMessageBuilder(person[0].FirstName, list.ChatText,
|
||||
list.Uhrzeit.ToString(), senderoid, true));
|
||||
list.Uhrzeit.ToString(), senderoid, true,false,null));
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -1680,14 +1714,14 @@ namespace BeWo.View
|
||||
{
|
||||
if (i == 0)
|
||||
{
|
||||
Chat.Items.Add(new KontakMessageBuilder("", "------------------------ Ungelesene Nachrichten -----------------------", "", 0,false));
|
||||
Chat.Items.Add(new KontakMessageBuilder("", "------------------------ Ungelesene Nachrichten -----------------------", "", 0,false,false,null));
|
||||
i++;
|
||||
}
|
||||
|
||||
if (list.MediaDatei == null)
|
||||
{
|
||||
Chat.Items.Add(new KontakMessageBuilder(person[1].FirstName, list.ChatText,
|
||||
list.Uhrzeit.ToString(), empfaengerOid, false));
|
||||
list.Uhrzeit.ToString(), empfaengerOid, false,false,null));
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -1722,7 +1756,7 @@ namespace BeWo.View
|
||||
}
|
||||
}
|
||||
}
|
||||
ServiceFacade.DoCustomerServiceSync(s => s.UpdateIstGelesen(empfaengerOid, senderoid, true));
|
||||
ServiceFacade.DoCustomerServiceSync(s => s.UpdateIstGelesen(empfaengerOid, senderoid, true));*/
|
||||
}
|
||||
}
|
||||
catch (Exception edf)
|
||||
@@ -2523,7 +2557,7 @@ namespace BeWo.View
|
||||
// slider.Value = (int)audioFileReader.Position;
|
||||
//}
|
||||
|
||||
|
||||
//Lade Media Daten aus der Datenbank
|
||||
private void DatenRunterladen_OnClick(object sender, RoutedEventArgs e)
|
||||
{
|
||||
System.Windows.Controls.Button x = (System.Windows.Controls.Button)sender;
|
||||
@@ -2552,6 +2586,541 @@ namespace BeWo.View
|
||||
|
||||
Chat.Items.Refresh();
|
||||
}
|
||||
|
||||
//Lade Weitere Nachrichten von der Datenbank.
|
||||
private void LadeWeitereBase_OnClick(object sender, RoutedEventArgs e)
|
||||
{
|
||||
long senderoid, empfaengeroid;
|
||||
System.Windows.Controls.Button x = (System.Windows.Controls.Button)sender;
|
||||
|
||||
List<ChatMessageDC> chatlist = (List<ChatMessageDC>)x.Tag;
|
||||
|
||||
//List<string> chatMessageIdList = new List<string>();
|
||||
|
||||
//chatMessageIdList = chatlist.Select(c => c.MessageId).ToList();
|
||||
|
||||
|
||||
senderoid = chatlist[0].SenderPersonOid ?? 0;
|
||||
empfaengeroid = chatlist[0].EmpfängerPersonOid ?? 0;
|
||||
|
||||
|
||||
|
||||
//empfänger oid ist bei team die Team oid
|
||||
List<ChatMessageDC> newitems;
|
||||
|
||||
if (chatlist[0].TeamOid == 0 || chatlist[0].TeamOid == null)
|
||||
{
|
||||
newitems =
|
||||
ServiceFacade.DoCustomerServiceSync(
|
||||
s =>
|
||||
s.GetNextChatMessages(senderoid, empfaengeroid, false, aktuelleChatMessageIDListe,
|
||||
itemGrenze));
|
||||
}
|
||||
else
|
||||
{
|
||||
//istTeam | muss noch servertechnisch angepasst werden.
|
||||
newitems =
|
||||
ServiceFacade.DoCustomerServiceSync(
|
||||
s =>
|
||||
s.GetNextChatMessages(senderoid, empfaengeroid, true, aktuelleChatMessageIDListe,
|
||||
itemGrenze));
|
||||
}
|
||||
|
||||
|
||||
if(newitems.Count > 0){
|
||||
foreach (var item in newitems)
|
||||
{
|
||||
aktuelleChatMessageIDListe.Add(item.MessageId);
|
||||
}
|
||||
|
||||
if(chatlist[0].TeamOid == 0)
|
||||
ShowTeamMessageInChat(newitems,false);
|
||||
else
|
||||
ShowMessageInChat(newitems, false);
|
||||
}
|
||||
else
|
||||
{
|
||||
var itemprop = (KontakMessageBuilder)Chat.Items[0];
|
||||
|
||||
if(itemprop.MessagePersonOid == 0)
|
||||
Chat.Items.RemoveAt(0);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
#region ChatMessagebuilder
|
||||
private void ShowMessageInChat(List<ChatMessageDC> allitems2,bool firstTime)
|
||||
{
|
||||
try
|
||||
{
|
||||
SoundZwischenSpeicher.Clear();
|
||||
BildZwischenSpeicher.Clear();
|
||||
DokumentZwischenSpeicher.Clear();
|
||||
|
||||
var allitems = allitems2.OrderBy(dc => dc.Uhrzeit).ToList();
|
||||
|
||||
long senderoid = allitems[0].SenderPersonOid ?? 0;
|
||||
long empfaengerOid = allitems[0].EmpfängerPersonOid ?? 0;
|
||||
|
||||
if (firstTime)
|
||||
{
|
||||
if (allitems.Count == itemGrenze)
|
||||
{
|
||||
Chat.Items.Add(new KontakMessageBuilder("", "------------------------ Mehr Nachrichten Vorhanden ---------------------------------", "", 0, false, true, allitems));
|
||||
}
|
||||
else
|
||||
{
|
||||
Chat.Items.Add(new KontakMessageBuilder("", "------------------------ Keine weiteren Nachrichten Verfügbar -----------------------", "", 0, false, false, null));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
List<long> x = new List<long>();
|
||||
x.Add(senderoid);
|
||||
x.Add(empfaengerOid);
|
||||
|
||||
var person = ServiceFacade.DoCustomerServiceSync(s => s.GetPersonsById(x));
|
||||
|
||||
int i = 0;
|
||||
|
||||
foreach (var list in allitems)
|
||||
{
|
||||
|
||||
//Chat Message dem array übergeben
|
||||
object[] datenmengen = new object[2];
|
||||
datenmengen[0] = list;
|
||||
|
||||
if (list.IstGelesen == 1 && (list.TeamOid == null || list.TeamOid == 0))
|
||||
{
|
||||
if (list.SenderPersonOid == senderoid)
|
||||
{
|
||||
if (list.MediaDatei == null)
|
||||
{
|
||||
Chat.Items.Add(new KontakMessageBuilder(person[0].FirstName, list.ChatText,
|
||||
list.Uhrzeit.ToString(), senderoid, true, false, null));
|
||||
}
|
||||
else
|
||||
{
|
||||
if (list.MediaDatei != null && list.MediaTyp == 1)
|
||||
{
|
||||
|
||||
var bild = DecodeBild(list.MediaDatei);
|
||||
|
||||
if (!BildZwischenSpeicher.ContainsKey(list.ChatText))
|
||||
BildZwischenSpeicher.Add(list.ChatText, list.MediaDatei);
|
||||
|
||||
|
||||
KontakMessageBuilder builder =
|
||||
new KontakMessageBuilder(BeWoApp.LoggedOnUser.Employee.FirstName, list.ChatText,
|
||||
list.Uhrzeit.ToString(), senderoid, true, false, false, false, bild, null,
|
||||
null, true, datenmengen);
|
||||
|
||||
datenmengen[1] = builder;
|
||||
|
||||
|
||||
Chat.Items.Add(builder);
|
||||
}
|
||||
|
||||
//if (list.SoundDatei != null)
|
||||
//{
|
||||
// if (!SoundZwischenSpeicher.ContainsKey(list.ChatText))
|
||||
// SoundZwischenSpeicher.Add(list.ChatText,list.SoundDatei);
|
||||
|
||||
// Chat.Items.Add(new KontakMessageBuilder(BeWoApp.LoggedOnUser.Employee.FirstName, list.ChatText, list.Uhrzeit.ToString(), senderoid, true, true, false, false, null,null,null));
|
||||
//}
|
||||
|
||||
if (list.MediaDatei != null && list.MediaTyp == 2)
|
||||
{
|
||||
if (!DokumentZwischenSpeicher.ContainsKey(list.ChatText))
|
||||
DokumentZwischenSpeicher.Add(list.ChatText, list.MediaDatei);
|
||||
|
||||
KontakMessageBuilder builder =
|
||||
new KontakMessageBuilder(BeWoApp.LoggedOnUser.Employee.FirstName, list.ChatText,
|
||||
list.Uhrzeit.ToString(), senderoid, true, false, false, false, null,
|
||||
list.ChatText, list.MediaDatei, true, datenmengen);
|
||||
|
||||
datenmengen[1] = builder;
|
||||
|
||||
Chat.Items.Add(builder);
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (list.MediaDatei == null)
|
||||
{
|
||||
Chat.Items.Add(new KontakMessageBuilder(person[1].FirstName, list.ChatText,
|
||||
list.Uhrzeit.ToString(), empfaengerOid, false, false, null));
|
||||
}
|
||||
else
|
||||
{
|
||||
if (list.MediaDatei != null && list.MediaTyp == 1)
|
||||
{
|
||||
|
||||
var bild = DecodeBild(list.MediaDatei);
|
||||
|
||||
if (!BildZwischenSpeicher.ContainsKey(list.ChatText))
|
||||
BildZwischenSpeicher.Add(list.ChatText, list.MediaDatei);
|
||||
|
||||
KontakMessageBuilder builder =
|
||||
new KontakMessageBuilder(BeWoApp.LoggedOnUser.Employee.FirstName, list.ChatText,
|
||||
list.Uhrzeit.ToString(), empfaengerOid, false, false, false, false, bild,
|
||||
null, null, true, datenmengen);
|
||||
|
||||
datenmengen[1] = builder;
|
||||
|
||||
|
||||
Chat.Items.Add(builder);
|
||||
}
|
||||
|
||||
//if (list.SoundDatei != null)
|
||||
//{
|
||||
// if (!SoundZwischenSpeicher.ContainsKey(list.ChatText))
|
||||
// SoundZwischenSpeicher.Add(list.ChatText, list.SoundDatei);
|
||||
|
||||
// Chat.Items.Add(new KontakMessageBuilder(BeWoApp.LoggedOnUser.Employee.FirstName, list.ChatText, list.Uhrzeit.ToString(), empfaengerOid, true, true, false, false, null,null,null));
|
||||
//}
|
||||
|
||||
if (list.MediaDatei != null && list.MediaTyp == 2)
|
||||
{
|
||||
if (!DokumentZwischenSpeicher.ContainsKey(list.ChatText))
|
||||
DokumentZwischenSpeicher.Add(list.ChatText, list.MediaDatei);
|
||||
|
||||
|
||||
KontakMessageBuilder builder =
|
||||
new KontakMessageBuilder(BeWoApp.LoggedOnUser.Employee.FirstName, list.ChatText,
|
||||
list.Uhrzeit.ToString(), empfaengerOid, false, false, false, false, null,
|
||||
list.ChatText, list.MediaDatei, true, datenmengen);
|
||||
|
||||
datenmengen[1] = builder;
|
||||
|
||||
Chat.Items.Add(builder);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (list.TeamOid == null || list.TeamOid == 0)
|
||||
{
|
||||
if (list.SenderPersonOid == senderoid)
|
||||
{
|
||||
if (list.MediaDatei == null)
|
||||
{
|
||||
Chat.Items.Add(new KontakMessageBuilder(person[0].FirstName, list.ChatText,
|
||||
list.Uhrzeit.ToString(), senderoid, true, false, null));
|
||||
}
|
||||
else
|
||||
{
|
||||
if (list.MediaDatei != null && list.MediaTyp == 1)
|
||||
{
|
||||
|
||||
var bild = DecodeBild(list.MediaDatei);
|
||||
|
||||
if (!BildZwischenSpeicher.ContainsKey(list.ChatText))
|
||||
BildZwischenSpeicher.Add(list.ChatText, list.MediaDatei);
|
||||
|
||||
|
||||
KontakMessageBuilder builder =
|
||||
new KontakMessageBuilder(BeWoApp.LoggedOnUser.Employee.FirstName,
|
||||
list.ChatText, list.Uhrzeit.ToString(), senderoid, true, false, false,
|
||||
false, bild, null, null, true, datenmengen);
|
||||
|
||||
datenmengen[1] = builder;
|
||||
|
||||
Chat.Items.Add(builder);
|
||||
}
|
||||
|
||||
//if (list.SoundDatei != null)
|
||||
//{
|
||||
// if (!SoundZwischenSpeicher.ContainsKey(list.ChatText))
|
||||
// SoundZwischenSpeicher.Add(list.ChatText, list.SoundDatei);
|
||||
|
||||
// Chat.Items.Add(new KontakMessageBuilder(BeWoApp.LoggedOnUser.Employee.FirstName, list.ChatText, list.Uhrzeit.ToString(), senderoid, true, true, false, false, null,null,null));
|
||||
//}
|
||||
|
||||
if (list.MediaDatei != null && list.MediaTyp == 2)
|
||||
{
|
||||
if (!DokumentZwischenSpeicher.ContainsKey(list.ChatText))
|
||||
DokumentZwischenSpeicher.Add(list.ChatText, list.MediaDatei);
|
||||
|
||||
|
||||
KontakMessageBuilder builder =
|
||||
new KontakMessageBuilder(BeWoApp.LoggedOnUser.Employee.FirstName,
|
||||
list.ChatText, list.Uhrzeit.ToString(), senderoid, true, false, false,
|
||||
false, null, list.ChatText, list.MediaDatei, true, datenmengen);
|
||||
|
||||
datenmengen[1] = builder;
|
||||
|
||||
Chat.Items.Add(builder);
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (i == 0)
|
||||
{
|
||||
Chat.Items.Add(new KontakMessageBuilder("",
|
||||
"------------------------ Ungelesene Nachrichten -----------------------", "", 0,
|
||||
false, false, null));
|
||||
i++;
|
||||
}
|
||||
|
||||
if (list.MediaDatei == null)
|
||||
{
|
||||
Chat.Items.Add(new KontakMessageBuilder(person[1].FirstName, list.ChatText,
|
||||
list.Uhrzeit.ToString(), empfaengerOid, false, false, null));
|
||||
}
|
||||
else
|
||||
{
|
||||
if (list.MediaDatei != null && list.MediaTyp == 1)
|
||||
{
|
||||
|
||||
var bild = DecodeBild(list.MediaDatei);
|
||||
|
||||
if (!BildZwischenSpeicher.ContainsKey(list.ChatText))
|
||||
BildZwischenSpeicher.Add(list.ChatText, list.MediaDatei);
|
||||
|
||||
Chat.Items.Add(new KontakMessageBuilder(
|
||||
BeWoApp.LoggedOnUser.Employee.FirstName, list.ChatText,
|
||||
list.Uhrzeit.ToString(), empfaengerOid, false, false, false, false, bild,
|
||||
null, null, true, datenmengen));
|
||||
}
|
||||
|
||||
//if (list.SoundDatei != null)
|
||||
//{
|
||||
// if (!SoundZwischenSpeicher.ContainsKey(list.ChatText))
|
||||
// SoundZwischenSpeicher.Add(list.ChatText, list.SoundDatei);
|
||||
|
||||
// Chat.Items.Add(new KontakMessageBuilder(BeWoApp.LoggedOnUser.Employee.FirstName, list.ChatText, list.Uhrzeit.ToString(), empfaengerOid, true, true, false, false, null,null,null));
|
||||
//}
|
||||
|
||||
if (list.MediaDatei != null && list.MediaTyp == 2)
|
||||
{
|
||||
if (!DokumentZwischenSpeicher.ContainsKey(list.ChatText))
|
||||
DokumentZwischenSpeicher.Add(list.ChatText, list.MediaDatei);
|
||||
|
||||
Chat.Items.Add(new KontakMessageBuilder(
|
||||
BeWoApp.LoggedOnUser.Employee.FirstName, list.ChatText,
|
||||
list.Uhrzeit.ToString(), empfaengerOid, false, false, false, false, null,
|
||||
list.ChatText, list.MediaDatei, true, datenmengen));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
ServiceFacade.DoCustomerServiceSync(s => s.UpdateIstGelesen(empfaengerOid, senderoid, true));
|
||||
|
||||
var lisadst = Chat.Items.Cast<KontakMessageBuilder>().OrderBy(item => item.SendTime).ToList();
|
||||
|
||||
Chat.Items.Clear();
|
||||
foreach (KontakMessageBuilder listItem in lisadst)
|
||||
{
|
||||
Chat.Items.Add(listItem);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
catch (Exception edf)
|
||||
{
|
||||
MessageBox.Show("Beim Laden der Nachricht aus der Datenbank ist ein Fehler aufgetreten. " + edf.Message + "\n" + edf.StackTrace, "Fehler: 2320 ", MessageBoxButton.OK);
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
|
||||
|
||||
#region ChatTeamMessageBuilder
|
||||
|
||||
private void ShowTeamMessageInChat(List<ChatMessageDC> allTeamItems2,bool firstTime)
|
||||
{
|
||||
try
|
||||
{
|
||||
SoundZwischenSpeicher.Clear();
|
||||
BildZwischenSpeicher.Clear();
|
||||
DokumentZwischenSpeicher.Clear();
|
||||
|
||||
int sx = 0;
|
||||
|
||||
var allTeamItems = allTeamItems2.OrderBy(dc => dc.Uhrzeit).ToList();
|
||||
|
||||
if (firstTime)
|
||||
{
|
||||
if (allTeamItems.Count == itemGrenze)
|
||||
{
|
||||
Chat.Items.Add(new KontakMessageBuilder("",
|
||||
"------------------------ Mehr Nachrichten Vorhanden / Hier ist später mal ein Button ----------------------------------",
|
||||
"", 0, false, true, allTeamItems));
|
||||
}
|
||||
else
|
||||
{
|
||||
Chat.Items.Add(new KontakMessageBuilder("",
|
||||
"------------------------ Keine weiteren Nachrichten Verfügbar / Hier ist später mal kein Button -----------------------",
|
||||
"", 0, false, false, null));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
List<long> x = new List<long>();
|
||||
|
||||
foreach (var team in allTeamItems)
|
||||
{
|
||||
if (!x.Contains(team.SenderPersonOid.Value))
|
||||
x.Add(team.SenderPersonOid.Value);
|
||||
}
|
||||
|
||||
x.Sort();
|
||||
|
||||
|
||||
var person = ServiceFacade.DoCustomerServiceSync(s => s.GetPersonsById(x));
|
||||
|
||||
foreach (var anzeige in allTeamItems)
|
||||
{
|
||||
|
||||
if (x.Contains(anzeige.SenderPersonOid.Value))
|
||||
{
|
||||
|
||||
//Chat Message dem array übergeben
|
||||
object[] datenmengen = new object[2];
|
||||
datenmengen[0] = anzeige;
|
||||
|
||||
if (anzeige.SenderPersonOid.Value == BeWoApp.LoggedOnUser.Employee.PersonOid)
|
||||
{
|
||||
int zahl = (int) x.IndexOf(anzeige.SenderPersonOid.Value);
|
||||
|
||||
|
||||
if (anzeige.MediaDatei == null)
|
||||
{
|
||||
Chat.Items.Add(new KontakMessageBuilder(person[zahl].FirstName, anzeige.ChatText,
|
||||
anzeige.Uhrzeit.ToString(), anzeige.SenderPersonOid.Value, true, false, null));
|
||||
}
|
||||
else
|
||||
{
|
||||
if (anzeige.MediaDatei != null && anzeige.MediaTyp == 1)
|
||||
{
|
||||
|
||||
var bild = DecodeBild(anzeige.MediaDatei);
|
||||
|
||||
if (!BildZwischenSpeicher.ContainsKey(anzeige.ChatText))
|
||||
BildZwischenSpeicher.Add(anzeige.ChatText, anzeige.MediaDatei);
|
||||
|
||||
KontakMessageBuilder builder = new KontakMessageBuilder(person[zahl].FirstName,
|
||||
anzeige.ChatText, anzeige.Uhrzeit.ToString(), anzeige.SenderPersonOid.Value,
|
||||
true, false, false, false, bild, null, null, true, datenmengen);
|
||||
|
||||
datenmengen[1] = builder;
|
||||
|
||||
//Bearbeiten ,false,null
|
||||
Chat.Items.Add(builder);
|
||||
}
|
||||
|
||||
//if (anzeige.SoundDatei != null)
|
||||
//{
|
||||
// if (!SoundZwischenSpeicher.ContainsKey(anzeige.ChatText))
|
||||
// SoundZwischenSpeicher.Add(anzeige.ChatText, anzeige.SoundDatei);
|
||||
|
||||
// Chat.Items.Add(new KontakMessageBuilder(person[zahl].FirstName, anzeige.ChatText,anzeige.Uhrzeit.ToString(), anzeige.SenderPersonOid.Value, true, true, false,false, null,null,null));
|
||||
//}
|
||||
|
||||
if (anzeige.MediaDatei != null && anzeige.MediaTyp == 2)
|
||||
{
|
||||
if (!DokumentZwischenSpeicher.ContainsKey(anzeige.ChatText))
|
||||
DokumentZwischenSpeicher.Add(anzeige.ChatText, anzeige.MediaDatei);
|
||||
|
||||
KontakMessageBuilder builder = new KontakMessageBuilder(person[zahl].FirstName,
|
||||
anzeige.ChatText, anzeige.Uhrzeit.ToString(), anzeige.SenderPersonOid.Value,
|
||||
true, false, false, false, null, anzeige.ChatText, anzeige.MediaDatei, true,
|
||||
datenmengen);
|
||||
|
||||
datenmengen[1] = builder;
|
||||
|
||||
Chat.Items.Add(builder);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
if (sx == 0 && anzeige.IstGelesen != 1)
|
||||
{
|
||||
Chat.Items.Add(new KontakMessageBuilder("",
|
||||
"------------------------ Ungelesene Nachrichten -----------------------", "", 0,
|
||||
false, false, null));
|
||||
sx++;
|
||||
}
|
||||
|
||||
int zahl = (int) x.IndexOf(anzeige.SenderPersonOid.Value);
|
||||
|
||||
|
||||
if (anzeige.MediaDatei == null)
|
||||
{
|
||||
Chat.Items.Add(new KontakMessageBuilder(person[zahl].FirstName, anzeige.ChatText,
|
||||
anzeige.Uhrzeit.ToString(), anzeige.SenderPersonOid.Value, false, false, null));
|
||||
}
|
||||
else
|
||||
{
|
||||
if (anzeige.MediaDatei != null && anzeige.MediaTyp == 1)
|
||||
{
|
||||
|
||||
var bild = DecodeBild(anzeige.MediaDatei);
|
||||
|
||||
if (!BildZwischenSpeicher.ContainsKey(anzeige.ChatText))
|
||||
BildZwischenSpeicher.Add(anzeige.ChatText, anzeige.MediaDatei);
|
||||
|
||||
|
||||
KontakMessageBuilder builder = new KontakMessageBuilder(person[zahl].FirstName,
|
||||
anzeige.ChatText, anzeige.Uhrzeit.ToString(), anzeige.SenderPersonOid.Value,
|
||||
false, false, false, false, bild, null, null, true, datenmengen);
|
||||
|
||||
datenmengen[1] = builder;
|
||||
|
||||
Chat.Items.Add(builder);
|
||||
}
|
||||
|
||||
//if (anzeige.SoundDatei != null)
|
||||
//{
|
||||
// if (!SoundZwischenSpeicher.ContainsKey(anzeige.ChatText))
|
||||
// SoundZwischenSpeicher.Add(anzeige.ChatText, anzeige.SoundDatei);
|
||||
|
||||
// Chat.Items.Add(new KontakMessageBuilder(person[zahl].FirstName, anzeige.ChatText,anzeige.Uhrzeit.ToString(), anzeige.SenderPersonOid.Value, false, true, false,false, null,null,null));
|
||||
//}
|
||||
|
||||
if (anzeige.MediaDatei != null && anzeige.MediaTyp == 1)
|
||||
{
|
||||
if (!DokumentZwischenSpeicher.ContainsKey(anzeige.ChatText))
|
||||
DokumentZwischenSpeicher.Add(anzeige.ChatText, anzeige.MediaDatei);
|
||||
|
||||
KontakMessageBuilder builder = new KontakMessageBuilder(person[zahl].FirstName,
|
||||
anzeige.ChatText, anzeige.Uhrzeit.ToString(), anzeige.SenderPersonOid.Value,
|
||||
false, false, false, false, null, anzeige.ChatText, anzeige.MediaDatei, true,
|
||||
datenmengen);
|
||||
|
||||
datenmengen[1] = builder;
|
||||
|
||||
Chat.Items.Add(builder);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (anzeige.IstGelesen != 1)
|
||||
{
|
||||
ServiceFacade.DoCustomerServiceSync(
|
||||
s =>
|
||||
s.UpdateIstGelesen(anzeige.EmpfängerPersonOid.Value,
|
||||
anzeige.SenderPersonOid.Value, true));
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
MessageBox.Show("Es ist ein Fehler aufgetreten ", "Fehler", MessageBoxButton.OK);
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
|
||||
|
||||
}
|
||||
|
||||
public class KontaktlistBuilder : INotifyPropertyChanged
|
||||
@@ -2722,7 +3291,7 @@ namespace BeWo.View
|
||||
|
||||
public class KontakMessageBuilder
|
||||
{
|
||||
public KontakMessageBuilder(string username, string message, string sendtime, long messagePersonOid, bool isme)
|
||||
public KontakMessageBuilder(string username, string message, string sendtime, long messagePersonOid, bool isme, bool loadnext, object loadObject)
|
||||
{
|
||||
Username = username;
|
||||
UserMessage = message;
|
||||
@@ -2745,7 +3314,20 @@ namespace BeWo.View
|
||||
Posi = "Left";
|
||||
}
|
||||
|
||||
ChatVisibility = Visibility.Visible;
|
||||
if (loadnext)
|
||||
{
|
||||
LoadNextVisibility = Visibility.Visible;
|
||||
ChatVisibility = Visibility.Collapsed;
|
||||
LoadObject = loadObject;
|
||||
}
|
||||
else
|
||||
{
|
||||
LoadNextVisibility = Visibility.Collapsed;
|
||||
ChatVisibility = Visibility.Visible;
|
||||
LoadObject = null;
|
||||
}
|
||||
|
||||
|
||||
SoundVisibility = Visibility.Collapsed;
|
||||
_pictureVisibility = Visibility.Collapsed;
|
||||
DokumentVisibility = Visibility.Collapsed;
|
||||
@@ -2763,7 +3345,7 @@ namespace BeWo.View
|
||||
|
||||
if (isme && messagePersonOid == 0)
|
||||
{
|
||||
ChatColor = new SolidColorBrush(Colors.Lavender);
|
||||
ChatColor = new SolidColorBrush(Colors.CornflowerBlue);
|
||||
Posi = "Center";
|
||||
}
|
||||
else if (isme)
|
||||
@@ -2854,7 +3436,7 @@ namespace BeWo.View
|
||||
|
||||
//array übergabe für Sound ermöglichen
|
||||
SoundArray = null;
|
||||
|
||||
LoadNextVisibility = Visibility.Collapsed;
|
||||
}
|
||||
|
||||
public string Username { get; private set; }
|
||||
@@ -2865,6 +3447,10 @@ namespace BeWo.View
|
||||
public int ChatPosition { get; private set; }
|
||||
public string Posi { get; private set; }
|
||||
public Visibility ChatVisibility { get; set; }
|
||||
|
||||
public Visibility LoadNextVisibility { get; set; }
|
||||
public object LoadObject { get; set; }
|
||||
|
||||
public Visibility SoundVisibility { get; set; }
|
||||
|
||||
private Visibility _pictureVisibility;
|
||||
|
||||
@@ -1530,7 +1530,7 @@ namespace BeWo.Data.Access
|
||||
return c.List<Employee2Customer>();
|
||||
}
|
||||
|
||||
public IEnumerable<ChatMessage> FindAllChatMessages(long senderOid, long empfaengerOid)
|
||||
public IEnumerable<ChatMessage> FindAllChatMessages(long senderOid, long empfaengerOid,int maxNachrichten)
|
||||
{
|
||||
var c = CreateCriteriaIsActive<ChatMessage>()
|
||||
.Add(
|
||||
@@ -1542,14 +1542,49 @@ namespace BeWo.Data.Access
|
||||
Restrictions.Eq(ChatMessage.PropertyName_SenderPersonOid, empfaengerOid),
|
||||
Restrictions.Eq(ChatMessage.PropertyName_EmpfaengerPersonOid, senderOid))));
|
||||
|
||||
c.AddOrder(Order.Desc(ChatMessage.PropertyName_Uhrzeit));
|
||||
c.SetMaxResults(maxNachrichten);
|
||||
|
||||
return c.List<ChatMessage>();
|
||||
}
|
||||
|
||||
public IEnumerable<ChatMessage> FindAllChatMessagesFromTeam(long senderOid, long teamOid)
|
||||
//neue funktion für weitere laden
|
||||
public IEnumerable<ChatMessage> FindNextChatMessages(long senderOid, long empfaengerOid, int messlateZahl, List<string> list,bool isteam )
|
||||
{
|
||||
var c = CreateCriteriaIsActive<ChatMessage>();
|
||||
if (!isteam)
|
||||
{
|
||||
c.Add(
|
||||
Restrictions.Or(
|
||||
Restrictions.And(
|
||||
Restrictions.Eq(ChatMessage.PropertyName_SenderPersonOid, senderOid),
|
||||
Restrictions.Eq(ChatMessage.PropertyName_EmpfaengerPersonOid, empfaengerOid)),
|
||||
Restrictions.And(
|
||||
Restrictions.Eq(ChatMessage.PropertyName_SenderPersonOid, empfaengerOid),
|
||||
Restrictions.Eq(ChatMessage.PropertyName_EmpfaengerPersonOid, senderOid))));
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
c.Add(Restrictions.Eq(ChatMessage.PropertyName_TeamOid, empfaengerOid));
|
||||
}
|
||||
|
||||
//geht
|
||||
c.Add(Restrictions.Not(Restrictions.In(ChatMessage.PropertyName_MessageId, list)));
|
||||
|
||||
c.AddOrder(Order.Desc(ChatMessage.PropertyName_Uhrzeit));
|
||||
c.SetMaxResults(messlateZahl);
|
||||
|
||||
return c.List<ChatMessage>();
|
||||
}
|
||||
|
||||
public IEnumerable<ChatMessage> FindAllChatMessagesFromTeam(long senderOid, long teamOid, int messlateZahl)
|
||||
{
|
||||
var c = CreateCriteriaIsActive<ChatMessage>()
|
||||
.Add(Restrictions.Eq(ChatMessage.PropertyName_TeamOid, teamOid));
|
||||
|
||||
c.AddOrder(Order.Desc(ChatMessage.PropertyName_Uhrzeit));
|
||||
c.SetMaxResults(messlateZahl);
|
||||
|
||||
return c.List<ChatMessage>();
|
||||
}
|
||||
|
||||
1358
ReportImp/KetteReports/QueryListReport.Designer.cs
generated
Normal file
1358
ReportImp/KetteReports/QueryListReport.Designer.cs
generated
Normal file
File diff suppressed because it is too large
Load Diff
64
ReportImp/KetteReports/QueryListReport.cs
Normal file
64
ReportImp/KetteReports/QueryListReport.cs
Normal file
@@ -0,0 +1,64 @@
|
||||
using System;
|
||||
using BeWo.Report.ReportObjects;
|
||||
using BeWo.Report;
|
||||
using DevExpress.XtraReports.UI;
|
||||
using System.Data;
|
||||
|
||||
namespace BeWo.Report.DefaultReports
|
||||
{
|
||||
public partial class Bericht : DevExpress.XtraReports.UI.XtraReport, IBeWoReport<QueryRO>
|
||||
{
|
||||
public Bericht()
|
||||
{
|
||||
InitializeComponent();
|
||||
|
||||
}
|
||||
|
||||
public void SetReportDataSource(QueryRO pRO)
|
||||
{
|
||||
InitTable(pRO);
|
||||
this.bindingSource1.DataSource = pRO;
|
||||
}
|
||||
|
||||
private void InitTable(QueryRO ro)
|
||||
{
|
||||
xrTableRowHeader.Cells.Clear();
|
||||
xrTableRowDetail.Cells.Clear();
|
||||
int index = 1;
|
||||
foreach (DataColumn column in ro.DataTable.Columns)
|
||||
{
|
||||
Type type = column.DataType;
|
||||
XRTableCell headerCell = new XRTableCell();
|
||||
headerCell.Text = column.ColumnName;
|
||||
headerCell.WidthF = xrTableHeader.WidthF / ro.DataTable.Columns.Count;
|
||||
this.xrTableRowHeader.Cells.Add(headerCell);
|
||||
|
||||
XRTableCell rowCell = new XRTableCell();
|
||||
rowCell.WidthF = xrTableHeader.WidthF / ro.DataTable.Columns.Count;
|
||||
|
||||
if (type == typeof(DateTime))
|
||||
rowCell.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
|
||||
new DevExpress.XtraReports.UI.XRBinding("Text", null, "Rows.Field" + index, "{0:dd/MM/yyyy}")});
|
||||
else
|
||||
rowCell.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
|
||||
new DevExpress.XtraReports.UI.XRBinding("Text", null, "Rows.Field" + index)});
|
||||
|
||||
this.xrTableRowDetail.Cells.Add(rowCell);
|
||||
|
||||
index++;
|
||||
}
|
||||
|
||||
foreach (XRTableCell cell in xrTableRowHeader.Cells)
|
||||
{
|
||||
cell.WidthF = xrTableHeader.WidthF / ro.DataTable.Columns.Count;
|
||||
}
|
||||
|
||||
foreach (XRTableCell cell in xrTableRowDetail.Cells)
|
||||
{
|
||||
cell.WidthF = xrTableHeader.WidthF / ro.DataTable.Columns.Count;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
123
ReportImp/KetteReports/QueryListReport.resx
Normal file
123
ReportImp/KetteReports/QueryListReport.resx
Normal file
@@ -0,0 +1,123 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<metadata name="bindingSource1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>17, 17</value>
|
||||
</metadata>
|
||||
</root>
|
||||
@@ -591,11 +591,15 @@ namespace BeWo.Service.ServiceContracts
|
||||
|
||||
[FaultContract(typeof (BeWoFault))]
|
||||
[OperationContract]
|
||||
List<ChatMessageDC> FindAllChatMessages(long senderOid, long empfaengerOid);
|
||||
List<ChatMessageDC> FindAllChatMessages(long senderOid, long empfaengerOid, int maxNachricht);
|
||||
|
||||
[FaultContract(typeof (BeWoFault))]
|
||||
[OperationContract]
|
||||
List<ChatMessageDC> FindAllChatMessagesFromTeam(long senderOid, long teamEmpfangOid);
|
||||
List<ChatMessageDC> FindAllChatMessagesFromTeam(long senderOid, long teamEmpfangOid, int maxNachrichten);
|
||||
|
||||
[FaultContract(typeof(BeWoFault))]
|
||||
[OperationContract]
|
||||
List<ChatMessageDC> GetNextChatMessages(long senderOid, long EmpfangOid, bool isteam, List<string> messageIds, int maxMessage);
|
||||
|
||||
[FaultContract(typeof (BeWoFault))]
|
||||
[OperationContract]
|
||||
|
||||
@@ -3176,11 +3176,11 @@ namespace BeWo.Service.ServiceImplementations
|
||||
}
|
||||
}
|
||||
|
||||
public List<ChatMessageDC> FindAllChatMessages(long senderOid, long empfaengerOid)
|
||||
public List<ChatMessageDC> FindAllChatMessages(long senderOid, long empfaengerOid,int maxNachricht)
|
||||
{
|
||||
try
|
||||
{
|
||||
var messages = DAOFactory.SearchDAO.FindAllChatMessages(senderOid, empfaengerOid);
|
||||
var messages = DAOFactory.SearchDAO.FindAllChatMessages(senderOid, empfaengerOid, maxNachricht);
|
||||
|
||||
return MapperFactory.ChatMessagesDC_ChatMessages.MapToNewDCs(messages);
|
||||
}
|
||||
@@ -3190,11 +3190,11 @@ namespace BeWo.Service.ServiceImplementations
|
||||
}
|
||||
}
|
||||
|
||||
public List<ChatMessageDC> FindAllChatMessagesFromTeam (long senderOid, long teamEmpfangOid)
|
||||
public List<ChatMessageDC> FindAllChatMessagesFromTeam (long senderOid, long teamEmpfangOid, int maxNachrichten)
|
||||
{
|
||||
try
|
||||
{
|
||||
var messages = DAOFactory.SearchDAO.FindAllChatMessagesFromTeam(senderOid, teamEmpfangOid);
|
||||
var messages = DAOFactory.SearchDAO.FindAllChatMessagesFromTeam(senderOid, teamEmpfangOid,maxNachrichten);
|
||||
|
||||
return MapperFactory.ChatMessagesDC_ChatMessages.MapToNewDCs(messages);
|
||||
}
|
||||
@@ -3204,6 +3204,30 @@ namespace BeWo.Service.ServiceImplementations
|
||||
}
|
||||
}
|
||||
|
||||
public List<ChatMessageDC> GetNextChatMessages(long senderOid, long EmpfangOid,bool isteam,List<string> messageIds,int maxMessage )
|
||||
{
|
||||
try
|
||||
{
|
||||
if (isteam)
|
||||
{
|
||||
//empfangoid == teamempfang oid
|
||||
var messages = DAOFactory.SearchDAO.FindNextChatMessages(senderOid, EmpfangOid ,maxMessage,messageIds,true);
|
||||
|
||||
return MapperFactory.ChatMessagesDC_ChatMessages.MapToNewDCs(messages);
|
||||
}
|
||||
else
|
||||
{
|
||||
var messages = DAOFactory.SearchDAO.FindNextChatMessages(senderOid, EmpfangOid, maxMessage,messageIds,false);
|
||||
|
||||
return MapperFactory.ChatMessagesDC_ChatMessages.MapToNewDCs(messages);
|
||||
}
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
throw Utils.CreateBeWoFaultException(e);
|
||||
}
|
||||
}
|
||||
|
||||
public void UpdateIstGelesen(long senderOid, long empfaengerOid, bool istGelesen)
|
||||
{
|
||||
try
|
||||
|
||||
Reference in New Issue
Block a user