diff --git a/ChatController/ChatController.csproj b/ChatController/ChatController.csproj index ac659be..a3bdcbd 100644 --- a/ChatController/ChatController.csproj +++ b/ChatController/ChatController.csproj @@ -63,7 +63,7 @@ - + ChatMainControl.xaml diff --git a/ChatController/ChatKlassen/ChatMessage.cs b/ChatController/ChatKlassen/ChatMessage.cs new file mode 100644 index 0000000..42e39b0 --- /dev/null +++ b/ChatController/ChatKlassen/ChatMessage.cs @@ -0,0 +1,329 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Linq; +using System.Text; +using System.Text.RegularExpressions; +using System.Threading.Tasks; +using System.Windows; +using System.Windows.Media; + +namespace ChatController.ChatKlassen +{ + public class ChatMessage + { + //Chat Ansicht + public ChatMessage(string username, string message, DateTime sendtime, bool isme) + { + Username = username; + UserMessage = message; + SendTime = sendtime; + IsMyMessage = isme; + + Farbgebung(isme); + + if (IsHyperlink(message)) + { + VisibilityRegelung("HyperlinkMessage"); + } + else { + VisibilityRegelung("Message"); + } + } + + // Image Ansicht + public ChatMessage(string username, string message, DateTime sendtime, bool isme, ImageSource image, string originalImage, string imageName) + { + Username = username; + UserMessage = message; + SendTime = sendtime; + ImageSources = image; + IsMyMessage = isme; + + OriginalImage = originalImage; + OriginalImageName = imageName; + + Farbgebung(isme); + + VisibilityRegelung("Image"); + } + + //Image PlaceHolder | wird nicht benutzt und wird nicht gebraucht ? + public ChatMessage(string username, string message, DateTime sendtime, bool isme, string originalImage, string imageName) + { + Username = username; + UserMessage = message; + SendTime = sendtime; + IsMyMessage = isme; + OriginalImage = originalImage; + OriginalImageName = imageName; + + Farbgebung(isme); + + VisibilityRegelung("Default_Image"); + } + + //Dokument Ansicht + public ChatMessage(string username, string message, DateTime sendtime, bool isme, string url) + { + Username = username; + UserMessage = message; + SendTime = sendtime; + IsMyMessage = isme; + + Dokpfad = (object) url; + + Farbgebung(isme); + + VisibilityRegelung("Dokumente"); + } + + #region Farbgebung + private void Farbgebung(bool isme) + { + if (isme) + { + ChatColor = new BrushConverter().ConvertFromString("#ff5e00") as SolidColorBrush; + Posi = "Right"; + _farbeRechtsColor = new BrushConverter().ConvertFromString("#505050") as SolidColorBrush; + _farbeLinksColor = new BrushConverter().ConvertFromString("#505050") as SolidColorBrush; + } + else + { + ChatColor = new BrushConverter().ConvertFromString("#FFFFFF") as SolidColorBrush; //"#cccccc" + Posi = "Left"; + _farbeRechtsColor = new BrushConverter().ConvertFromString("#505050") as SolidColorBrush; + _farbeLinksColor = new BrushConverter().ConvertFromString("#505050") as SolidColorBrush; + } + } + #endregion + + #region Visibility Regelung + private void VisibilityRegelung(string Ansicht) + { + switch (Ansicht) + { + case "Message": + ChatVisibility = Visibility.Visible; + + HyperlinkVisibility = Visibility.Collapsed; + _pictureVisibility = Visibility.Collapsed; + DokumentVisibility = Visibility.Collapsed; + _gifPictureVisibility = Visibility.Collapsed; + _picturePlaceHolderVisibility = Visibility.Collapsed; + break; + case "HyperlinkMessage": + HyperlinkVisibility = Visibility.Visible; + + ChatVisibility = Visibility.Collapsed; + _pictureVisibility = Visibility.Collapsed; + DokumentVisibility = Visibility.Collapsed; + _gifPictureVisibility = Visibility.Collapsed; + _picturePlaceHolderVisibility = Visibility.Collapsed; + break; + case "Image": + _pictureVisibility = Visibility.Visible; + + ChatVisibility = Visibility.Collapsed; + HyperlinkVisibility = Visibility.Collapsed; + DokumentVisibility = Visibility.Collapsed; + _picturePlaceHolderVisibility = Visibility.Collapsed; + break; + case "Default_Image": + _picturePlaceHolderVisibility = Visibility.Visible; + + _pictureVisibility = Visibility.Collapsed; + ChatVisibility = Visibility.Collapsed; + HyperlinkVisibility = Visibility.Collapsed; + DokumentVisibility = Visibility.Collapsed; + break; + case "Dokumente": + DokumentVisibility = Visibility.Visible; + + _pictureVisibility = Visibility.Collapsed; + ChatVisibility = Visibility.Collapsed; + HyperlinkVisibility = Visibility.Collapsed; + _picturePlaceHolderVisibility = Visibility.Collapsed; + break; + } + } + #endregion + + #region Hyperlink Detection + + private static readonly Regex UrlRegex = new Regex(@"(?#Protocol)(?:(?:ht|f)tp(?:s?)\:\/\/|~/|/)?(?#Username:Password)(?:\w+:\w+@)?(?#Subdomains)(?:(?:[-\w]+\.)+(?#TopLevel Domains)(?:com|org|net|gov|mil|biz|info|mobi|name|aero|jobs|museum|travel|[a-z]{2}))(?#Port)(?::[\d]{1,5})?(?#Directories)(?:(?:(?:/(?:[-\w~!$+|.,=]|%[a-f\d]{2})+)+|/)+|\?|#)?(?#Query)(?:(?:\?(?:[-\w~!$+|.,*:]|%[a-f\d{2}])+=(?:[-\w~!$+|.,*:=]|%[a-f\d]{2})*)(?:&(?:[-\w~!$+|.,*:]|%[a-f\d{2}])+=(?:[-\w~!$+|.,*:=]|%[a-f\d]{2})*)*)*(?#Anchor)(?:#(?:[-\w~!$+|.,*:=]|%[a-f\d]{2})*)?"); + + public static bool IsHyperlink(string word) + { + // First check to make sure the word has at least one of the characters we need to make a hyperlink + try + { + if (word.IndexOfAny(@":.\/".ToCharArray()) != -1) + { + if (Uri.IsWellFormedUriString(word, UriKind.Absolute)) + { + // The string is an Absolute URI + if (word.StartsWith("http://")) { + return true; + } + else + { + return false; + } + } + else if (UrlRegex.IsMatch(word)) + { + //hier der Bereich hin der die uri splittet wenn neben dem link auch text gesendet wird + + + Uri uri = new Uri(word, UriKind.RelativeOrAbsolute); + + if (!uri.IsAbsoluteUri) + { + // rebuild it it with http to turn it into an Absolute URI + uri = new Uri(@"http://" + word, UriKind.Absolute); + } + + if (uri.IsAbsoluteUri) + { + return true; + } + } + else + { + return false; + } + } + } + catch (Exception e) + { + return false; + } + + return false; + } + + #endregion + + + #region Variablen + + public bool IsMyMessage { get; set; } + public string Username { get; private set; } + public string UserMessage { get; private set; } + public DateTime SendTime { get; private set; } + + public string UserTimeStringLeft + { + get + { + if (IsMyMessage) + { + return null; + } + return Username; //String.Format("{0} {1}", Username, SendTimeString); + } + } + + public string UserTimeStringRight + { + get + { + //if (!IsMyMessage) + //{ + // return null; + //} + return SendTimeString; + } + } + + public string SendTimeString + { + get + { + if (SendTime.Date == DateTime.Today) + { + return String.Format("Heute {0:HH:mm}", SendTime); + } + return SendTime.ToString("dd.MMM HH:mm"); + } + } + //public long MessagePersonOid { get; private set; } + + public Brush ChatColor { get; private set; } + + public string Posi { get; private set; } + + public string OriginalImage { get; private set; } + public string OriginalImageName { get; private set; } + + public Visibility ChatVisibility { get; set; } + public Visibility HyperlinkVisibility { get; set; } + + + private Visibility _pictureVisibility; + public Visibility PictureVisibility { get { return _pictureVisibility; } set { _pictureVisibility = value; OnPropertyChanged("PictureVisibility"); } } + + private Visibility _picturePlaceHolderVisibility; + public Visibility PicturePlaceHolderVisibility { get { return _picturePlaceHolderVisibility; } set { _picturePlaceHolderVisibility = value; OnPropertyChanged("PicturePlaceHolderVisibility"); } } + + private Visibility _gifPictureVisibility; + public Visibility GifPictureVisibility { get { return _gifPictureVisibility; } set { _gifPictureVisibility = value; OnPropertyChanged("GifPictureVisibility"); } } + + + public Visibility DokumentVisibility { get; set; } + public ImageSource ImageSources { get; private set; } + public object Dokpfad { get; private set; } + + public long? ChatMessageOid { get; private set; } + + + //Farbe Links MEssageHeader + private Brush _farbeLinksColor; + public Brush FarbeLinksColor + { + get + { + return _farbeLinksColor; + } + set + { + + _farbeLinksColor = value; + + OnPropertyChanged("FarbeLinksColor"); + } + } + + //Farbe Rechts MessageHeader + private Brush _farbeRechtsColor; + public Brush FarbeRechtsColor + { + get + { + return _farbeRechtsColor; + } + set + { + + _farbeRechtsColor = value; + + OnPropertyChanged("FarbeRechtsColor"); + } + } + + + + + public event PropertyChangedEventHandler PropertyChanged; + + protected virtual void OnPropertyChanged(string propertyName) + { + var handler = PropertyChanged; + if (handler != null) handler(this, new PropertyChangedEventArgs(propertyName)); + } + #endregion + + + } +} diff --git a/ChatController/ChatKlassen/KontaktMessageBuilder.cs b/ChatController/ChatKlassen/KontaktMessageBuilder.cs deleted file mode 100644 index 35fc847..0000000 --- a/ChatController/ChatKlassen/KontaktMessageBuilder.cs +++ /dev/null @@ -1,464 +0,0 @@ -using System; -using System.Collections.Generic; -using System.ComponentModel; -using System.Linq; -using System.Text; -using System.Text.RegularExpressions; -using System.Threading.Tasks; -using System.Windows; -using System.Windows.Media; - -namespace ChatController.ChatKlassen -{ - public class KontaktMessageBuilder - { - - public string OriginalImage { get; private set; } - - //Chat Ansicht - public KontaktMessageBuilder(string username, string message, string sendtime, bool isme, DateTime convertedSendTimeString) - { - Username = username; - UserMessage = message; - SendTime = sendtime; - InternalSendTime = convertedSendTimeString; - - Farbgebung(isme); - - if (IsHyperlink(message)) - { - HyperlinkVisibility = Visibility.Visible; - ChatVisibility = Visibility.Collapsed; - } - else { - ChatVisibility = Visibility.Visible; - HyperlinkVisibility = Visibility.Collapsed; - } - - - SoundVisibility = Visibility.Collapsed; - _pictureVisibility = Visibility.Collapsed; - DokumentVisibility = Visibility.Collapsed; - _herunterladen = Visibility.Collapsed; - _gifPictureVisibility = Visibility.Collapsed; - _picturePlaceHolderVisibility = Visibility.Collapsed; - - - - - } - - // IMage Ansicht - public KontaktMessageBuilder(string username, string message, string sendtime, bool isme, ImageSource image, DateTime convertedSendTimeString,string originalImage, string imageName) - { - Username = username; - UserMessage = message; - SendTime = sendtime; - ImageSources = image; - InternalSendTime = convertedSendTimeString; - OriginalImage = originalImage; - OriginalImageName = imageName; - // Dokpfad = - Farbgebung(isme); - - //if (!isGif) - //{ - _pictureVisibility = Visibility.Visible; - //_gifPictureVisibility = Visibility.Collapsed; - //} - //else - //{ - // _pictureVisibility = Visibility.Collapsed; - // _gifPictureVisibility = Visibility.Visible; - //} - - - ChatVisibility = Visibility.Collapsed; - SoundVisibility = Visibility.Collapsed; - HyperlinkVisibility = Visibility.Collapsed; - DokumentVisibility = Visibility.Collapsed; - _herunterladen = Visibility.Collapsed; - _picturePlaceHolderVisibility = Visibility.Collapsed; - - } - - //Konstruktor PlaceHolder - public KontaktMessageBuilder(string username, string message, string sendtime, bool isme, DateTime convertedSendTimeString, string originalImage, string imageName) - { - - - Username = username; - UserMessage = message; - SendTime = sendtime; - InternalSendTime = convertedSendTimeString; - OriginalImage = originalImage; - OriginalImageName = imageName; - - Farbgebung(isme); - - - _pictureVisibility = Visibility.Collapsed; - ChatVisibility = Visibility.Collapsed; - SoundVisibility = Visibility.Collapsed; - HyperlinkVisibility = Visibility.Collapsed; - DokumentVisibility = Visibility.Collapsed; - _herunterladen = Visibility.Collapsed; - - _picturePlaceHolderVisibility = Visibility.Visible; - } - - //Dokument Ansicht - public KontaktMessageBuilder(string username, string message, string sendtime, bool isme, string url, DateTime convertedSendTimeString) - { - Username = username; - UserMessage = message; - SendTime = sendtime; - InternalSendTime = convertedSendTimeString; - - Dokpfad = (object) url; - - Farbgebung(isme); - - - DokumentVisibility = Visibility.Visible; - - _pictureVisibility = Visibility.Collapsed; - ChatVisibility = Visibility.Collapsed; - SoundVisibility = Visibility.Collapsed; - _herunterladen = Visibility.Collapsed; - HyperlinkVisibility = Visibility.Collapsed; - _picturePlaceHolderVisibility = Visibility.Collapsed; - - } - - private void Farbgebung(bool isme) - { - if (isme) - { - ChatColor = new BrushConverter().ConvertFromString("#ff5e00") as SolidColorBrush; - Posi = "Right"; - _farbeRechtsColor = new BrushConverter().ConvertFromString("#636363") as SolidColorBrush; - _farbeLinksColor = new BrushConverter().ConvertFromString("#636363") as SolidColorBrush; - } - else - { - ChatColor = new BrushConverter().ConvertFromString("#FFFFFF") as SolidColorBrush; //"#cccccc" - Posi = "Left"; - _farbeRechtsColor = new BrushConverter().ConvertFromString("#A0A0A0") as SolidColorBrush; - _farbeLinksColor = new BrushConverter().ConvertFromString("#A0A0A0") as SolidColorBrush; - } - } - - - #region Hyperlink Detection - - private static readonly Regex UrlRegex = new Regex(@"(?#Protocol)(?:(?:ht|f)tp(?:s?)\:\/\/|~/|/)?(?#Username:Password)(?:\w+:\w+@)?(?#Subdomains)(?:(?:[-\w]+\.)+(?#TopLevel Domains)(?:com|org|net|gov|mil|biz|info|mobi|name|aero|jobs|museum|travel|[a-z]{2}))(?#Port)(?::[\d]{1,5})?(?#Directories)(?:(?:(?:/(?:[-\w~!$+|.,=]|%[a-f\d]{2})+)+|/)+|\?|#)?(?#Query)(?:(?:\?(?:[-\w~!$+|.,*:]|%[a-f\d{2}])+=(?:[-\w~!$+|.,*:=]|%[a-f\d]{2})*)(?:&(?:[-\w~!$+|.,*:]|%[a-f\d{2}])+=(?:[-\w~!$+|.,*:=]|%[a-f\d]{2})*)*)*(?#Anchor)(?:#(?:[-\w~!$+|.,*:=]|%[a-f\d]{2})*)?"); - - public static bool IsHyperlink(string word) - { - // First check to make sure the word has at least one of the characters we need to make a hyperlink - try - { - if (word.IndexOfAny(@":.\/".ToCharArray()) != -1) - { - if (Uri.IsWellFormedUriString(word, UriKind.Absolute)) - { - // The string is an Absolute URI - if (word.StartsWith("http://")) { - return true; - } - else - { - return false; - } - } - else if (UrlRegex.IsMatch(word)) - { - //hier der Bereich hin der die uri splittet wenn neben dem link auch text gesendet wird - - - Uri uri = new Uri(word, UriKind.RelativeOrAbsolute); - - if (!uri.IsAbsoluteUri) - { - // rebuild it it with http to turn it into an Absolute URI - uri = new Uri(@"http://" + word, UriKind.Absolute); - } - - if (uri.IsAbsoluteUri) - { - return true; - } - } - else - { - return false; - } - } - } - catch (Exception e) - { - return false; - } - - return false; - } - - #endregion - - - #region kram der sortiert werden muss - //Alter Kram - public KontaktMessageBuilder(string username, string message, string sendtime, long messagePersonOid, bool isme, bool loadnext, object loadObject) - { - Username = username; - UserMessage = message; - SendTime = sendtime; - MessagePersonOid = messagePersonOid; - - if (messagePersonOid == 0 && !loadnext) - { - ChatColor = new SolidColorBrush(Colors.AliceBlue); //CornflowerBlue - Posi = "Center"; - } - else - if (isme) - { - ChatColor = new BrushConverter().ConvertFromString("#ff5e00") as SolidColorBrush; - Posi = "Right"; - } - else - { - ChatColor = new BrushConverter().ConvertFromString("#cccccc") as SolidColorBrush; - Posi = "Left"; - } - - - if (loadnext) - { - Posi = "Right"; - LoadNextVisibility = Visibility.Visible; - ChatVisibility = Visibility.Collapsed; - LoadObject = loadObject; - MainVisibility = Visibility.Collapsed; - } - else - { - LoadNextVisibility = Visibility.Collapsed; - ChatVisibility = Visibility.Visible; - LoadObject = null; - MainVisibility = Visibility.Visible; - } - - - SoundVisibility = Visibility.Collapsed; - _pictureVisibility = Visibility.Collapsed; - DokumentVisibility = Visibility.Collapsed; - _herunterladen = Visibility.Collapsed; - - } - - public KontaktMessageBuilder(string username, string message, string sendtime, long messagePersonOid, bool isme, - bool isSoundDatei, bool isPicDatei, bool isDokument, ImageSource source, string fulldokpfad, byte[] dokarray, bool isHerunterladen, object[] herunterladbares, long? chatMessageOid) - { - Username = username; - UserMessage = message; - SendTime = sendtime; - MessagePersonOid = messagePersonOid; - ChatMessageOid = chatMessageOid; - - - if (isme && messagePersonOid == 0) - { - ChatColor = new SolidColorBrush(Colors.CornflowerBlue); - Posi = "Center"; - } - else if (isme) - { - - ChatColor = new BrushConverter().ConvertFromString("#ff5e00") as SolidColorBrush; - Posi = "Right"; - } - else - { - - ChatColor = new BrushConverter().ConvertFromString("#cccccc") as SolidColorBrush; - Posi = "Left"; - } - - if (isSoundDatei) - { - ChatVisibility = Visibility.Collapsed; - SoundVisibility = Visibility.Visible; - _pictureVisibility = Visibility.Collapsed; - DokumentVisibility = Visibility.Collapsed; - _herunterladen = Visibility.Collapsed; - - } - else if (isDokument) - { - ChatVisibility = Visibility.Collapsed; - SoundVisibility = Visibility.Collapsed; - _pictureVisibility = Visibility.Collapsed; - DokumentVisibility = Visibility.Visible; - _herunterladen = Visibility.Collapsed; - - } - else if (isPicDatei && source != null) - { - ChatVisibility = Visibility.Collapsed; - SoundVisibility = Visibility.Collapsed; - _pictureVisibility = Visibility.Visible; - DokumentVisibility = Visibility.Collapsed; - _herunterladen = Visibility.Collapsed; - } - else if (isHerunterladen) - { - _herunterladen = Visibility.Visible; - ChatVisibility = Visibility.Collapsed; - SoundVisibility = Visibility.Collapsed; - _pictureVisibility = Visibility.Collapsed; - DokumentVisibility = Visibility.Collapsed; - - } - else - { - ChatVisibility = Visibility.Visible; - SoundVisibility = Visibility.Collapsed; - _pictureVisibility = Visibility.Collapsed; - DokumentVisibility = Visibility.Collapsed; - _herunterladen = Visibility.Collapsed; - - } - - - if (source != null) - { - ImageSources = source; - } - - - //Dokument - object[] array1 = new object[3]; - - if (fulldokpfad != null && chatMessageOid == 0) - { - Dokpfad = fulldokpfad; - } - else if (chatMessageOid > 0 && fulldokpfad != null) - { - array1[0] = fulldokpfad; - array1[1] = dokarray; - array1[2] = chatMessageOid; - - Dokpfad = array1; - } - - - if (herunterladbares != null) - { - Herunterladbares = herunterladbares; - } - - //array übergabe für Sound ermöglichen - SoundArray = null; - LoadNextVisibility = Visibility.Collapsed; - MainVisibility = Visibility.Visible; - } - - public string Username { get; private set; } - public string UserMessage { get; private set; } - public string SendTime { get; private set; } - public long MessagePersonOid { get; private set; } - public Brush ChatColor { get; private set; } - public int ChatPosition { get; private set; } - public string Posi { get; private set; } - public string OriginalImageName { get; private set; } - - public DateTime InternalSendTime { get; set; } - - public Visibility MainVisibility { get; set; } - public Visibility ChatVisibility { get; set; } - public Visibility HyperlinkVisibility { get; set; } - - public Visibility LoadNextVisibility { get; set; } - public object LoadObject { get; set; } - - public Visibility SoundVisibility { get; set; } - - private Visibility _pictureVisibility; - public Visibility PictureVisibility { get { return _pictureVisibility; } set { _pictureVisibility = value; OnPropertyChanged("PictureVisibility"); } } - - private Visibility _picturePlaceHolderVisibility; - public Visibility PicturePlaceHolderVisibility { get { return _picturePlaceHolderVisibility; } set { _picturePlaceHolderVisibility = value; OnPropertyChanged("PicturePlaceHolderVisibility"); } } - - private Visibility _gifPictureVisibility; - public Visibility GifPictureVisibility { get { return _gifPictureVisibility; } set { _gifPictureVisibility = value; OnPropertyChanged("GifPictureVisibility"); } } - - - public Visibility DokumentVisibility { get; set; } - public ImageSource ImageSources { get; private set; } - public object Dokpfad { get; private set; } - public byte[] SoundArray { get; private set; } - - public long? ChatMessageOid { get; private set; } - - private Visibility _herunterladen; - public Visibility Herunterladen - { - get { return _herunterladen; } - set { _herunterladen = value; OnPropertyChanged("Herunterladen"); } - } - - public object[] Herunterladbares { get; private set; } - - - //Farbe Links MEssageHeader - private Brush _farbeLinksColor; - public Brush FarbeLinksColor - { - get - { - return _farbeLinksColor; - } - set - { - - _farbeLinksColor = value; - - OnPropertyChanged("FarbeLinksColor"); - } - } - - //Farbe Rechts MessageHeader - private Brush _farbeRechtsColor; - public Brush FarbeRechtsColor - { - get - { - return _farbeRechtsColor; - } - set - { - - _farbeRechtsColor = value; - - OnPropertyChanged("FarbeRechtsColor"); - } - } - - - - - public event PropertyChangedEventHandler PropertyChanged; - - protected virtual void OnPropertyChanged(string propertyName) - { - var handler = PropertyChanged; - if (handler != null) handler(this, new PropertyChangedEventArgs(propertyName)); - } - #endregion - - - } -} diff --git a/ChatController/ChatKlassen/KontaktlistBuilder.cs b/ChatController/ChatKlassen/KontaktlistBuilder.cs index c9c527c..dff80d7 100644 --- a/ChatController/ChatKlassen/KontaktlistBuilder.cs +++ b/ChatController/ChatKlassen/KontaktlistBuilder.cs @@ -18,20 +18,26 @@ namespace ChatController.ChatKlassen { get { - var WordsArray = _receiveMs.Split(); - - //var verkuerzterText = _receiveMs.Substring(0,10); - if (WordsArray.Length > 4) + if (!String.IsNullOrEmpty(_receiveMs) && _receiveMs.Length > 25) { - string Items = WordsArray[0] + " " + WordsArray[1] + " " + WordsArray[2] + " " + WordsArray[3] + "..."; + return _receiveMs.Substring(0, 25) + "..."; + } + return _receiveMs; + + //var WordsArray = _receiveMs.Split(); - return Items; - } - else - { - //if(_receiveMs.Length > 15) - return _receiveMs; - } + ////var verkuerzterText = _receiveMs.Substring(0,10); + //if (WordsArray.Length > 4) + //{ + // string Items = WordsArray[0] + " " + WordsArray[1] + " " + WordsArray[2] + " " + WordsArray[3] + "..."; + + // return Items; + //} + //else + //{ + // //if(_receiveMs.Length > 15) + // return _receiveMs; + //} } set @@ -104,6 +110,13 @@ namespace ChatController.ChatKlassen public KontaktlistBuilder(string name, ImageSource image, string lastMs, DateTime timestamp, long groupid,long? customerPersonOid,bool onlyEmployee, int userCount) { + +#if DEBUG + //lastMs = + // "aas dgfal Dies ist ein laaaaaanger Text !Q!!! adg asgl sadlg jasg jas,g ans,g nasgd., a ag fdgg agsd g"; + //name = "Hans Hubert Christopherus Maximilian Schumacherus"; +#endif + Name = name; ReceiveMs = lastMs; Image = image; @@ -112,6 +125,10 @@ namespace ChatController.ChatKlassen CustomerPersonOid = customerPersonOid; SetzeGelesen = 1; + + + + if (CustomerPersonOid != null) { _kontaktChatColor = new BrushConverter().ConvertFromString("#3B7799") as SolidColorBrush; diff --git a/ChatController/ChatMainControl.xaml b/ChatController/ChatMainControl.xaml index 55af4a7..aaa6f26 100644 --- a/ChatController/ChatMainControl.xaml +++ b/ChatController/ChatMainControl.xaml @@ -5,181 +5,216 @@ xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:local="clr-namespace:ChatController" mc:Ignorable="d" x:Name="ChatControlling" - d:DesignHeight="300" d:DesignWidth="300" > + d:DesignHeight="300" d:DesignWidth="600" + SnapsToDevicePixels="True" > + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - - + + - + - - + + - + - - + - - + + - - + - - - - - - - - - - - - + + + - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + @@ -189,39 +224,34 @@ - + - - - - - - - + + + + + + + - + - + - - - - - - + @@ -229,31 +259,25 @@ - + - - - - - + + - + @@ -261,7 +285,7 @@ - + @@ -271,9 +295,10 @@ - + - + + @@ -281,9 +306,9 @@ - + - + @@ -291,9 +316,9 @@ + + + + - + @@ -337,28 +365,27 @@ - + - - - + + - + - + - + - + @@ -366,12 +393,12 @@ - - @@ -379,7 +406,7 @@ -