Files
Chat/ChatController/ChatKlassen/KontaktMessageBuilder.cs
2017-09-14 12:36:48 +02:00

325 lines
11 KiB
C#

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Media;
namespace ChatController.ChatKlassen
{
public class KontaktMessageBuilder
{
//Chat Ansicht
public KontaktMessageBuilder(string username, string message, string sendtime, bool isme, DateTime convertedSendTimeString)
{
Username = username;
UserMessage = message;
SendTime = sendtime;
ConvertetSendtimeString = convertedSendTimeString;
if (isme)
{
ChatColor = new BrushConverter().ConvertFromString("#ff5e00") as SolidColorBrush;
Posi = "Right";
}
else
{
ChatColor = new BrushConverter().ConvertFromString("#cccccc") as SolidColorBrush;
Posi = "Left";
}
ChatVisibility = Visibility.Visible;
SoundVisibility = Visibility.Collapsed;
_pictureVisibility = Visibility.Collapsed;
DokumentVisibility = Visibility.Collapsed;
_herunterladen = Visibility.Collapsed;
_gifPictureVisibility = Visibility.Collapsed;
}
// IMage Ansicht
public KontaktMessageBuilder(string username, string message, string sendtime, bool isme, ImageSource image, DateTime convertedSendTimeString)
{
Username = username;
UserMessage = message;
SendTime = sendtime;
ImageSources = image;
ConvertetSendtimeString = convertedSendTimeString;
// Dokpfad =
if (isme)
{
ChatColor = new BrushConverter().ConvertFromString("#ff5e00") as SolidColorBrush;
Posi = "Right";
}
else
{
ChatColor = new BrushConverter().ConvertFromString("#cccccc") as SolidColorBrush;
Posi = "Left";
}
//if (!isGif)
//{
_pictureVisibility = Visibility.Visible;
//_gifPictureVisibility = Visibility.Collapsed;
//}
//else
//{
// _pictureVisibility = Visibility.Collapsed;
// _gifPictureVisibility = Visibility.Visible;
//}
ChatVisibility = Visibility.Collapsed;
SoundVisibility = Visibility.Collapsed;
DokumentVisibility = Visibility.Collapsed;
_herunterladen = Visibility.Collapsed;
}
//Dokument Ansicht
public KontaktMessageBuilder(string username, string message, string sendtime, bool isme, string url, DateTime convertedSendTimeString)
{
Username = username;
UserMessage = message;
SendTime = sendtime;
ConvertetSendtimeString = convertedSendTimeString;
Dokpfad = (object) url;
if (isme)
{
ChatColor = new BrushConverter().ConvertFromString("#ff5e00") as SolidColorBrush;
Posi = "Right";
}
else
{
ChatColor = new BrushConverter().ConvertFromString("#cccccc") as SolidColorBrush;
Posi = "Left";
}
DokumentVisibility = Visibility.Visible;
_pictureVisibility = Visibility.Collapsed;
ChatVisibility = Visibility.Collapsed;
SoundVisibility = Visibility.Collapsed;
_herunterladen = Visibility.Collapsed;
}
#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 DateTime ConvertetSendtimeString { get; set; }
public Visibility MainVisibility { get; set; }
public Visibility ChatVisibility { 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 _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; }
public event PropertyChangedEventHandler PropertyChanged;
protected virtual void OnPropertyChanged(string propertyName)
{
var handler = PropertyChanged;
if (handler != null) handler(this, new PropertyChangedEventArgs(propertyName));
}
#endregion
}
}