Files
BeWoPlaner/BeWo/View/ChatView.xaml.cs
2016-08-05 12:48:13 +02:00

929 lines
35 KiB
C#

using System;
using System.Linq;
using System.Windows;
using System.Windows.Input;
using System.Windows.Media;
using BeWo.ServiceProxy;
using BeWo.ViewModel;
using BS.Shared.Extensions;
using System.Windows.Controls;
using System.Net.Sockets;
using System.Threading;
using System.Windows.Threading;
using System.Collections;
using System.Collections.Generic;
using System.Collections.Specialized;
using System.IO;
using System.Text;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Media.Imaging;
using BS.Shared;
using BS.Shared.DataContracts;
using BS.Shared.DataContracts.Compact;
using DevExpress.XtraPrinting.Native;
using DevExpress.XtraPrinting.XamlExport;
using Microsoft.Office.Interop.Word;
using Color = System.Drawing.Color;
namespace BeWo.View
{
public partial class ChatView
{
public UserVM ViewModel { get; set; }
public int abr = 0;
protected TcpClient tcpClient;
protected CollectionView view;
protected List<KontaktlistBuilder> ita = new List<KontaktlistBuilder>();
public ChatView(String nameinf, String Chatinf, TcpClient tcpClient)
{
InitializeComponent();
rootGroupBox.Header = nameinf;
this.tcpClient = tcpClient;
closeWindow();
LoadallChatKontakts();
ErstelleContextMenue();
}
/* private void SetChatSetting()
{
try
{
List<string> data = new List<string>();
data.Add("Gerade Online");
data.Add("Gerade Offline");
chatSettingControll.ItemsSource = data;
chatSettingControll.SelectedIndex = 0;
}
catch (Exception e)
{
MessageBox.Show("Das Aufbauen der Chat-Settings ist fehlgeschlagen.", "Fehler: 2200 ", MessageBoxButton.OK);
}
}*/
private void RootGroupBox_OnMouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{
try
{
DragMove();
}
catch (Exception) { }
}
public void closeWindow() {
CommandBindings.Add(new CommandBinding(ApplicationCommands.Close, (s, e) =>
{
abr = 1;
//Close();
Visibility = Visibility.Collapsed;
}));
}
/* public void SetTextFromMiniV(String[] text, String nameclient, long personoid)
{
try
{
if (AktChatUser.ItemsSource != null)
{
KontaktlistBuilder curItem = (KontaktlistBuilder) AktChatUser.Items[0];
if (curItem.EmpfaengerOid == personoid)
{
curItem.Receivems = "";
if (!nameclient.Equals("NULL") && personoid != 0)
{
foreach (String i in text)
{
Chat.Items.Add(new KontakMessageBuilder(nameclient, i, DateTime.Now.ToString(),personoid));
// SaveChatMessageinDB(personoid,BeWoApp.LoggedOnEmployee.PersonOid.Value,i);
}
Chat.Items.MoveCurrentToLast();
Chat.ScrollIntoView(Chat.Items.CurrentItem);
}
}
else
{
if (!nameclient.Equals("NULL") && personoid != 0)
{
int anzReceive = 0;
foreach (String i in text)
{
//hier muss aktualisierung hin für anzahl der ungelesenen nachrichten
foreach (var abc in ita)
{
if (abc.EmpfaengerOid == personoid)
{
abc.Receivems = anzReceive++.ToString();
view.Refresh();
}
}
//SaveChatMessageinDB( personoid,BeWoApp.LoggedOnEmployee.PersonOid.Value, i);
}
}
}
}
else
{
if (!nameclient.Equals("NULL") && personoid != 0)
{
int anzRec = 0;
foreach (String i in text)
{
//hier muss aktualisierung hin für anzahl der ungelesenen nachrichten
foreach (var abc in ita)
{
if (abc.EmpfaengerOid == personoid)
{
abc.Receivems = anzRec++.ToString();
view.Refresh();
}
}
//SaveChatMessageinDB(personoid, BeWoApp.LoggedOnEmployee.PersonOid.Value, i);
}
}
}
}
catch (Exception e)
{
MessageBox.Show("Die Übername einer Message der Mini-View ist fehlgeschlagen.", "Fehler: 2210 ", MessageBoxButton.OK);
}
}*/
public void SetText(String text, String nameclient, long personoid )
{
try
{
if (!nameclient.Equals("NULL") && personoid != 0)
{
if (AktChatUser.Items.Count != 0)
{
KontaktlistBuilder curItem = (KontaktlistBuilder) AktChatUser.Items[0];
if (curItem.EmpfaengerOid == personoid)
{
foreach (var collection in ita)
{
if (collection.EmpfaengerOid == personoid)
collection.Receivems = "";
view.Refresh();
}
curItem.Receivems = "";
if (!nameclient.Equals("NULL") && personoid != 0)
{
Chat.Items.Add(new KontakMessageBuilder(nameclient, text, DateTime.Now.ToString(),personoid));
//SaveChatMessageinDB(personoid,BeWoApp.LoggedOnUser.Employee.PersonOid, text);
Chat.Items.MoveCurrentToLast();
Chat.ScrollIntoView(Chat.Items.CurrentItem);
}
}
}
else
{
if (!nameclient.Equals("NULL") && personoid != 0)
{
foreach (var abc in ita)
{
if (abc.EmpfaengerOid == personoid)
{
int x;
bool wasdrin = int.TryParse(abc.Receivems, out x);
if (wasdrin)
abc.Receivems = x++.ToString();
else
abc.Receivems = 1.ToString();
}
}
view.Refresh();
//SaveChatMessageinDB(personoid, BeWoApp.LoggedOnUser.Employee.PersonOid, text);
}
}
}
}
catch (Exception e)
{
MessageBox.Show("Beim verarbeiten der Nachricht ist ein Fehler aufgetreten.", "Fehler: 2220 ", MessageBoxButton.OK);
}
}
public void SetList(String clientname,long personoid)
{
try
{
List<long> x = new List<long>();
x.Add(personoid);
var person = ServiceFacade.DoCustomerServiceSync(s => s.GetPersonsById(x));
var a = person[0].Type;
if ( a == PersonType.Employee)
{
var mitarbeiter = ServiceFacade.DoEmployeeServiceSync(s => s.GetEmployeeWithPersonOid(personoid));
KontaktlistBuilder konbuild = new KontaktlistBuilder(clientname, "Online", BuildImg(ServiceFacade.DoEmployeeServiceSync(s => s.GetEmployeeImage(mitarbeiter.EmployeeOid.Value))), personoid,ChatType.Mitarbeiter);
foreach (var variable in ita)
{
if (konbuild.Name.Equals(variable.Name))
variable.Lastms = "Online";
}
view.Refresh();
}
else if ( a == PersonType.Customer)
{
var klienten = ServiceFacade.DoCustomerServiceSync(s => s.GetCustomerWithPersonOid(personoid));
KontaktlistBuilder konbuild = new KontaktlistBuilder(clientname, "Online", BuildImg(ServiceFacade.DoCustomerServiceSync(s => s.GetCustomerImage(klienten.CustomerOid.Value))), personoid, ChatType.Klienten);
foreach (var variable in ita)
{
if (konbuild.Name.Equals(variable.Name))
variable.Lastms = "Online";
}
view.Refresh();
}
}
catch (Exception)
{
MessageBox.Show("Beim Erweitern der 'Gerade Online' liste ist ein fehler aufgetreten.", "Fehler: 2230 ", MessageBoxButton.OK);
}
}
public void RemoveListItem(long clientid)
{
try
{
foreach (var abc in ita)
{
if (abc.EmpfaengerOid == clientid)
{
abc.Lastms = "Offline";
}
}
view.Refresh();
}
catch (Exception e)
{
MessageBox.Show("Beim Entfernen eines Users von der 'Gerade Online' liste ist ein Fehler aufgetreten .", "Fehler: 2240 ", MessageBoxButton.OK);
}
}
public Boolean CompareWithListItem(long personid)
{
try
{
foreach (var abc in ita)
{
if (abc.EmpfaengerOid == personid)
{
if(abc.Lastms.Equals("Online"))
return true;
}
}
return false;
}
catch (Exception edf)
{
MessageBox.Show("Das Vergleichen mit der User-Liste ist nicht möglich.", "Fehler: 2350 ",
MessageBoxButton.OK);
return false;
}
}
public void SetServerStats(String servstats)
{
ServerStats.Text = servstats;
}
private void SendButton_Click(object sender, RoutedEventArgs e)
{
try
{
if (!AktChatUser.Items.IsEmpty && !Chatbox.Text.Equals(""))
{
KontaktlistBuilder curItem = (KontaktlistBuilder) AktChatUser.Items[0];
SendMessage(curItem.EmpfaengerOid,curItem.TypeChat);
// SaveChatMessageinDB(BeWoApp.LoggedOnEmployee.PersonOid.Value,curItem.EmpfaengerOid, Chatbox.Text);
Chat.Items.MoveCurrentToLast();
Chat.ScrollIntoView(Chat.Items.CurrentItem);
Chatbox.Text = "";
if (Chatbox.Text.Equals(""))
{
Chatbox.Text = "Nachricht schreiben";
Chatbox.Foreground = new SolidColorBrush(Colors.DarkGray);
}
}
else
{
// gebe eine Nachricht aus das man éinen Chat partner wählen muss
if (AktChatUser.Items.IsEmpty)
{
MessageBox.Show("Bitte wählen Sie einen Chatpartner aus.", "Fehler", MessageBoxButton.OK);
if (Chatbox.Text.Equals(""))
{
Chatbox.Text = "Nachricht schreiben";
Chatbox.Foreground = new SolidColorBrush(Colors.DarkGray);
}
}
else if (Chatbox.Text.Equals(""))
{
MessageBox.Show("Sie können keine lehre Nachricht verschicken.", "Fehler", MessageBoxButton.OK);
if (Chatbox.Text.Equals(""))
{
Chatbox.Text = "Nachricht schreiben";
Chatbox.Foreground = new SolidColorBrush(Colors.DarkGray);
}
}
}
}
catch (Exception sf)
{
MessageBox.Show("Beim Senden einer Nachricht ist ein Fehler aufgetreten.", "Fehler: 2250 ", MessageBoxButton.OK);
}
}
private void OnKeyDownHandler(object sender, KeyEventArgs e)
{
try
{
if (e.Key == Key.Return)
{
if (!AktChatUser.Items.IsEmpty && !Chatbox.Text.Equals(""))
{
KontaktlistBuilder curItem = (KontaktlistBuilder) AktChatUser.Items[0];
SendMessage(curItem.EmpfaengerOid,curItem.TypeChat);
// SaveChatMessageinDB(BeWoApp.LoggedOnEmployee.PersonOid.Value, curItem.EmpfaengerOid, Chatbox.Text);
Chat.Items.MoveCurrentToLast();
Chat.ScrollIntoView(Chat.Items.CurrentItem);
Chatbox.Text = "";
}
else
{
if (AktChatUser.Items.IsEmpty)
{
MessageBox.Show("Bitte wählen Sie einen Chatpartner aus.", "Fehler", MessageBoxButton.OK);
}
else if (Chatbox.Text.Equals(""))
{
MessageBox.Show("Sie können keine lehre Nachricht verschicken.", "Fehler", MessageBoxButton.OK);
}
}
}
}
catch (Exception ed)
{
MessageBox.Show("Beim Senden einer Nachricht ist ein Fehler aufgetreten.", "Fehler: 2260 ", MessageBoxButton.OK);
}
}
private void LoadallChatKontakts()
{
try
{
var offteams = ServiceFacade.DoEmployeeServiceSync(s => s.GetAllTeamsCompact());
var offmitarbeiter =
ServiceFacade.DoEmployeeServiceSync(s => s.GetAllChatActiveEmployeesCompact());
var offklienten = ServiceFacade.DoCustomerServiceSync(s => s.GetAllChatActiveCustomersCompact());
string Goff = "Offline";
foreach (var team in offteams)
{
Clientlist.Items.Add(new KontaktlistBuilder(team.Name, Goff, BuildImg(null), team.TeamOid, ChatType.Team));
}
foreach (var list in offmitarbeiter)
{
Clientlist.Items.Add(new KontaktlistBuilder(list.FirstName + " " + list.LastName, Goff,
BuildImg(ServiceFacade.DoEmployeeServiceSync(s => s.GetEmployeeImage(list.EmployeeOid))),
list.PersonOid, ChatType.Mitarbeiter));
}
foreach (var list in offklienten)
{
Clientlist.Items.Add(new KontaktlistBuilder(list.FirstName + " " + list.LastName, Goff,
BuildImg(ServiceFacade.DoCustomerServiceSync(s => s.GetCustomerImage(list.CustomerOid))),
list.PersonOid, ChatType.Klienten));
}
foreach (var a in Clientlist.Items)
{
KontaktlistBuilder cl = (KontaktlistBuilder)a;
ita.Add(cl);
}
Clientlist.Items.Clear();
Clientlist.ItemsSource = ita;
view = (CollectionView)CollectionViewSource.GetDefaultView(Clientlist.ItemsSource);
PropertyGroupDescription groupDescription = new PropertyGroupDescription("TypeChat");
view.GroupDescriptions.Add(groupDescription);
}
catch (Exception edf)
{
MessageBox.Show("Beim Setzen einer Neuen Chat Einstellung ist ein Fehler aufgetreten.", "Fehler: 2270 ", MessageBoxButton.OK);
}
}
public void SetAllUserOfflineIfNoInet()
{
foreach (var list in ita)
{
list.Lastms = "Offline";
}
view.Refresh();
}
private void ErstelleContextMenue()
{
try
{
//Erstelle ContextMenue und Füge Items Hinzu
ContextMenu context = new ContextMenu();
MenuItem item1 = new MenuItem();
MenuItem item2 = new MenuItem();
context.Items.Add(item1);
context.Items.Add(item2);
item1.Header = "Lese Daten aus";
item1.Visibility = Visibility.Visible;
item1.Click += new RoutedEventHandler(OnChatRightClickMenue);
item2.Header = "Klick";
item2.Visibility = Visibility.Visible;
Chat.ContextMenu = context;
}
catch (Exception edf)
{
MessageBox.Show("Beim Setzen einer Neuen Chat Einstellung ist ein Fehler aufgetreten.", "Fehler: 2380 ", MessageBoxButton.OK);
}
}
private void OnChatRightClickMenue(object sender, RoutedEventArgs e)
{
KontakMessageBuilder Item;
foreach (Object selecteditem in Chat.SelectedItems)
{
Item = selecteditem as KontakMessageBuilder;
Console.WriteLine(Item.UserMessage +" Oid: "+Item.MessagePersonOid); // <---- Gibt die UserMessages in der Console aus.
}
}
/* private void ComboBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
try
{
string value = chatSettingControll.SelectedItem as string;
switch (value)
{
case "Gerade Online":
// Alle zurzeit Online namen in eine liste packen und zwischen speichern und diese liste dann mit der anderen ersetzen
Clientlist.Items.Clear();
foreach (var xyz in saveOnlineList.Items)
//added alle Save list daten in die Clientlist list data
{
Clientlist.Items.Add(xyz);
}
break;
}
}
catch (Exception edf)
{
MessageBox.Show("Beim Setzen einer Neuen Chat Einstellung ist ein Fehler aufgetreten.", "Fehler: 2270 ", MessageBoxButton.OK);
}
}*/
public void SetListBoxSelection(long personoid,string name)
{
try
{
foreach (var blub in ita)
{
if (blub.EmpfaengerOid == personoid && blub.Name.Equals(name))
{
AktChatUser.Items.Clear();
Chat.Items.Clear();
AktChatUser.Items.Add(new KontaktlistBuilder(blub.Name, blub.Lastms, blub.Image, blub.EmpfaengerOid, blub.TypeChat));
LoadChatMessagefromDB(BeWoApp.LoggedOnEmployee.PersonOid.Value, blub.EmpfaengerOid, blub);
}
}
Chat.Items.MoveCurrentToLast();
Chat.ScrollIntoView(Chat.Items.CurrentItem);
}
catch (Exception edf)
{
MessageBox.Show("Fehler siehe Fehlercode", "Fehler: 2370 ", MessageBoxButton.OK);
}
}
private void ListBoxSelectedIndexChanged(object sender, System.EventArgs e)
{
KontaktlistBuilder curItem;
try
{
if (!Clientlist.Items.IsEmpty)
{
curItem = (KontaktlistBuilder) Clientlist.SelectedItem;
Chat.Items.Clear();
AktChatUser.Items.Clear();
if(!curItem.Receivems.Equals("")){
curItem.Receivems = "";
}
ChatType a = curItem.TypeChat;
AktChatUser.Items.Add(new KontaktlistBuilder(curItem.Name, curItem.Lastms, curItem.Image, curItem.EmpfaengerOid, curItem.TypeChat));
LoadChatMessagefromDB(BeWoApp.LoggedOnEmployee.PersonOid.Value, curItem.EmpfaengerOid, curItem);
Chat.Items.MoveCurrentToLast();
Chat.ScrollIntoView(Chat.Items.CurrentItem);
view.Refresh();
}
}
catch (Exception s)
{
curItem = null;
MessageBox.Show("Beim Auswählen eines Users ist ein Fehler aufgetreten.", "Fehler: 2280 ", MessageBoxButton.OK);
}
}
public ImageSource BuildImg(Byte[] c)
{
try
{
if (c != null)
{
var biImg = new BitmapImage();
var ms = new MemoryStream(c);
biImg.BeginInit();
biImg.StreamSource = ms;
biImg.EndInit();
return biImg;
}
else
{
return
(ImageSource)
new ImageSourceConverter().ConvertFromString(
"../../Ressources/Icons/UserHomeBoyDisabled.png");
}
}
catch (Exception edf)
{
MessageBox.Show("Beim Aufbauen der Profilbilder ist ein Fehler aufgetreten.", "Fehler: 2290 ", MessageBoxButton.OK);
return null;
}
}
public void setConnectionLostIcon()
{
System.Drawing.Icon icon = System.Drawing.SystemIcons.Warning;
BitmapSource bs = System.Windows.Interop.Imaging.CreateBitmapSourceFromHIcon(icon.Handle, Int32Rect.Empty, BitmapSizeOptions.FromEmptyOptions());
AlarmLabel.Source = bs;
ButtonAlarmLabel.Visibility = Visibility.Visible;
}
public void ReConnect(object sender, EventArgs e)
{
try
{
if (MessageBox.Show("Versuchen eine Verbindung aufzubauen?", "Verbinden ?",
MessageBoxButton.YesNo, MessageBoxImage.Question) == MessageBoxResult.Yes)
{
BeWoApp.MainControl.HomeView.ReconnectServer();
}
}
catch (Exception edf)
{
MessageBox.Show("Erneute Verbindung Fehlgeschlagen", "Fehler 2360", MessageBoxButton.OK);
}
}
public void SendMessage(long empfängeroid,ChatType type)
{
try
{
string msg = Chatbox.Text;
Chat.Items.Add(new KontakMessageBuilder(BeWoApp.LoggedOnUser.Employee.FirstName, msg, DateTime.Now.ToString(), BeWoApp.LoggedOnUser.Employee.PersonOid));
if (tcpClient.Connected)
{
NetworkStream serverStream = tcpClient.GetStream();
Packet a = new Packet();
byte[] outStream;
if (type == ChatType.Team)
{
outStream = a.GetDataStream(BeWoApp.LoggedOnUser.Employee.PersonOid, empfängeroid, BeWoApp.LoggedOnUser.LoginName, msg, DataIdentifier.Team, BeWoApp.Tenant, false);
}
else
{
outStream = a.GetDataStream(BeWoApp.LoggedOnUser.Employee.PersonOid, empfängeroid, BeWoApp.LoggedOnUser.LoginName, msg, 0, BeWoApp.Tenant, false);
}
serverStream.Write(outStream, 0, outStream.Length);
serverStream.Flush();
Dispatcher.Invoke(
DispatcherPriority.Normal,
(ThreadStart) delegate { ServerStats.Text = "Nachricht erfolgreich gesendet"; });
}
else
{
SaveChatMessageinDB(BeWoApp.LoggedOnUser.Employee.PersonOid,empfängeroid, msg, 0, type);
MessageBox.Show("Die Daten werden in der Datenbank Gespeichert, da der Server nicht zur Verfügung steht.", "Info ", MessageBoxButton.OK);
}
}
catch (Exception xe)
{
if (tcpClient.Connected){
MessageBox.Show("Beim Senden einer Nachricht zum Server ist ein Fehler aufgetreten.",
"Fehler: 2300 ", MessageBoxButton.OK);
Dispatcher.Invoke(
DispatcherPriority.Normal,
(ThreadStart) // <--- Muss dass nicht Weg
delegate { ServerStats.Text = "Fehler: Die Nachricht konnte nicht gesendet werden."; });
}
}
}
public void SaveChatMessageinDB( long senderoid,long empfangid,string message,int istZugestellt,ChatType type)
{
try
{
//hier abfrage für team
if (type == ChatType.Team)
{
ServiceFacade.DoOperationsServiceSync(s => s.CreateNewChatMessagesDC(senderoid, empfangid, message, istZugestellt,empfangid));
}
else
{
ServiceFacade.DoOperationsServiceSync(s => s.CreateNewChatMessagesDC(senderoid, empfangid, message, istZugestellt,0));
}
}
catch (InvalidOperationException e)
{
MessageBox.Show("Beim Speichern einer Nachricht in die Datenbank ist ein Fehler aufgetreten.", "Fehler: 2310 ", MessageBoxButton.OK);
}
}
public void LoadChatMessagefromDB(long senderoid ,long empfaengerOid, KontaktlistBuilder Curitem)
{
try
{
//######################################### Funktioniert auf anhieb ################################
if (Curitem.TypeChat == ChatType.Team)
{
var allTeamItems =
ServiceFacade.DoCustomerServiceSync(
s => s.FindAllChatMessagesFromTeam(senderoid, empfaengerOid));
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))
{
// Hier muss noch abfrage für ungelesene Nachricht hin
int zahl = (int) x.IndexOf(anzeige.SenderPersonOid.Value);
Chat.Items.Add(new KontakMessageBuilder(person[zahl].FirstName, anzeige.ChatText,
anzeige.Uhrzeit.ToString(), anzeige.SenderPersonOid.Value));
}
}
}
else
{
// von hier aus alles original funktionierende Funktionen
var allitems =
ServiceFacade.DoCustomerServiceSync(
s => s.FindAllChatMessages(senderoid, empfaengerOid));
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)
{
if (list.IstGelesen == 1 && list.TeamOid == null)
{
if (list.SenderPersonOid == senderoid) //<- Funktionsfähiges Original hehe
{
Chat.Items.Add(new KontakMessageBuilder(person[0].FirstName, list.ChatText,
list.Uhrzeit.ToString(), senderoid));
}
else
{
Chat.Items.Add(new KontakMessageBuilder(person[1].FirstName, list.ChatText,
list.Uhrzeit.ToString(), empfaengerOid));
} //<- Funktionsfähiges Original hehe
}
else
{
if (list.TeamOid == null){
if (i == 0) // mus entweder zum empfänger oder zum sender mit hinein implementiert werden.
{
Chat.Items.Add(new KontakMessageBuilder("", "------------------------ Ungelesene Nachrichten -----------------------", "", 0));
i++;
}
if (list.SenderPersonOid == senderoid)
{
Chat.Items.Add(new KontakMessageBuilder(person[0].FirstName, list.ChatText, // also hier
list.Uhrzeit.ToString(), senderoid));
}
else
{
Chat.Items.Add(new KontakMessageBuilder(person[1].FirstName, list.ChatText, // oder hier
list.Uhrzeit.ToString(), empfaengerOid));
}
}
}
}
// abfrage für team muss auch hier hin
ServiceFacade.DoCustomerServiceSync(s => s.UpdateIstGelesen(senderoid, empfaengerOid, true));
}
}
catch (Exception edf)
{
MessageBox.Show("Beim Laden einer Nachricht aus der Datenbank ist ein Fehler aufgetreten.", "Fehler: 2320 ", MessageBoxButton.OK);
}
}
//placeholder
private void OnFocus(object sender, EventArgs e)
{
try
{
Chatbox.Text = "";
Chatbox.Foreground = new SolidColorBrush(Colors.Black);
}
catch (Exception edf)
{
MessageBox.Show("Fehler beim Fokusieren der Nachrichten Leiste.", "Fehler: 2330 ", MessageBoxButton.OK);
}
}
/* private void OnDefocus(object sender, EventArgs e)
{
try
{
if (Chatbox.Text.Equals(""))
{
/* Chatbox.Text = "Nachricht schreiben";
Chatbox.Foreground = new SolidColorBrush(Colors.DarkGray);
}
}
catch (Exception edf)
{
MessageBox.Show("Fehler beim De-Fokusieren der Nachrichten Leiste.", "Fehler: 2340 ", MessageBoxButton.OK);
}
}*/
}
//KontaklisteFormat und KontaktMessageBuilder Klasse
public class KontaktlistBuilder
{
public KontaktlistBuilder(string name, string lastms, ImageSource image, long empfaengerid,ChatType typeChat)
{
this.Name = name;
this.Lastms = lastms;
this.Image = image;
this.EmpfaengerOid = empfaengerid;
Receivems = "";
TypeChat = typeChat;
}
public string Name { get; private set; }
public string Lastms { get; set; }
public ImageSource Image { get; private set; }
public long EmpfaengerOid { get; private set; }
public string Receivems { get; set; }
public ChatType TypeChat { get; set; }
}
public enum ChatType{ Mitarbeiter,Klienten,Team };
public class KontakMessageBuilder
{
public KontakMessageBuilder(string username, string message, string sendtime,long messagePersonOid)
{
Username = username;
UserMessage = message;
SendTime = sendtime;
MessagePersonOid = messagePersonOid;
}
public string Username { get; private set; }
public string UserMessage { get; private set; }
public string SendTime { get; private set; }
public long MessagePersonOid { get; private set; }
}
}