Code verbessert

This commit is contained in:
Lyndon
2019-04-04 13:00:10 +02:00
parent 09314d3aa6
commit b82821d0c4
17 changed files with 921 additions and 1850 deletions

View File

@@ -62,7 +62,7 @@
</Compile>
<Compile Include="ChatKlassen\AktuellerKontakt.cs" />
<Compile Include="ChatKlassen\ChatControlExtensions.cs" />
<Compile Include="ChatKlassen\KontaktlistBuilder.cs" />
<Compile Include="ChatKlassen\Contact.cs" />
<Compile Include="ChatKlassen\ChatMessage.cs" />
<Compile Include="ChatKlassen\MessageCounter.cs" />
<Compile Include="ChatMainControl.xaml.cs">
@@ -84,6 +84,11 @@
<Compile Include="ChatControlWaitLayer.xaml.cs">
<DependentUpon>ChatControlWaitLayer.xaml</DependentUpon>
</Compile>
<Compile Include="Resource.Designer.cs">
<AutoGen>True</AutoGen>
<DesignTime>True</DesignTime>
<DependentUpon>Resource.resx</DependentUpon>
</Compile>
<Compile Include="Utilities\Constants.cs" />
<Compile Include="Utilities\Utils.cs" />
</ItemGroup>
@@ -127,9 +132,17 @@
</ItemGroup>
<ItemGroup>
<Content Include="ownchat_favicon.ico" />
<Content Include="Resources\ownchat_favicon.ico" />
<Resource Include="Ressourcen\ownchat_favicon.ico" />
<Resource Include="Ressourcen\client_default.png" />
<Resource Include="Ressourcen\employee_default.png" />
<Resource Include="Ressourcen\team_default.png" />
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="Resource.resx">
<Generator>PublicResXFileCodeGenerator</Generator>
<LastGenOutput>Resource.Designer.cs</LastGenOutput>
</EmbeddedResource>
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
</Project>

View File

@@ -1,32 +1,28 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Media;
namespace ChatController.ChatKlassen
{
public class AktuellerKontakt
{
public KontaktlistBuilder Kontakt { get; set; }
public Contact Contact { get; set; }
public string Name { get; private set; }
public ImageSource Image { get; private set; }
public string Name { get; }
public ImageSource Image { get; }
public DateTime TimeStamp { get; set; }
public long GroupId { get; set; }
public long? CustomerOid { get; set; }
public AktuellerKontakt(KontaktlistBuilder kontakt)
public AktuellerKontakt(Contact pContact)
{
if(kontakt != null) {
Kontakt = kontakt;
Image = kontakt.Image;
TimeStamp = kontakt.TimeStamp;
Name = kontakt.Name;
CustomerOid = kontakt.CustomerOid;
GroupId = kontakt.GroupId;
if(pContact != null) {
Contact = pContact;
Image = pContact.Image;
TimeStamp = pContact.TimeStamp;
Name = pContact.Name;
CustomerOid = pContact.CustomerOid;
GroupId = pContact.GroupId;
}
}
}

View File

@@ -1,78 +1,56 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Media;
using static System.String;
namespace ChatController.ChatKlassen
{
public class KontaktlistBuilder
public class Contact
{
public string Name { get; }
public string Name { get; private set; }
private string _receiveMs;
public string ReceiveMs
private string _ReceivedMessage;
public string ReceivedMessage
{
get
{
if (!String.IsNullOrEmpty(_receiveMs) && _receiveMs.Length > 25)
if (!IsNullOrEmpty(_ReceivedMessage) && _ReceivedMessage.Length > 25)
{
return _receiveMs.Substring(0, 25) + "...";
return _ReceivedMessage.Substring(0, 25) + "...";
}
return _receiveMs;
//var WordsArray = _receiveMs.Split();
////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;
//}
return _ReceivedMessage;
}
set
{
_receiveMs = value;
OnPropertyChanged("ReceiveMs");
_ReceivedMessage = value;
OnPropertyChanged(nameof(ReceivedMessage));
}
}
private Brush _color;
public Brush Color
{
get
{
return _color;
}
get => _color;
set
{
_color = value;
OnPropertyChanged("Color");
OnPropertyChanged(nameof(Color));
}
}
private int _setzeGelesen;
public int SetzeGelesen
private int _NumberOfReadMessages;
public int NumberOfReadMessages
{
get { return _setzeGelesen; }
get => _NumberOfReadMessages;
set
{
_setzeGelesen = value;
_NumberOfReadMessages = value;
if (_setzeGelesen == 1)
if (_NumberOfReadMessages == 1)
{
_color = new BrushConverter().ConvertFromString("#ff5e00") as SolidColorBrush;
}
@@ -81,207 +59,59 @@ namespace ChatController.ChatKlassen
_color = new SolidColorBrush(Colors.Gray);
}
OnPropertyChanged("SetzeGelesen");
OnPropertyChanged("Color");
OnPropertyChanged(nameof(NumberOfReadMessages));
OnPropertyChanged(nameof(Color));
}
}
private Brush _kontaktChatColor;
public Brush KontaktChatColor
private Brush _ContactChatColor;
public Brush ContactChatColor
{
get
{
return _kontaktChatColor;
}
get => _ContactChatColor;
set
{
_kontaktChatColor = value;
OnPropertyChanged("KontaktChatColor");
_ContactChatColor = value;
OnPropertyChanged(nameof(ContactChatColor));
}
}
public ImageSource Image { get; private set; }
public ImageSource Image { get; }
public DateTime TimeStamp { get; set; }
public long GroupId { get; set; }
public long UserId { get; set; }
public long? CustomerOid { get; set; }
public KontaktlistBuilder(string name, ImageSource image, string lastMs, DateTime timestamp, long groupid,long? customerOid, bool onlyEmployee, int userCount)
public Contact(string pName, ImageSource pImage, string pLastMessageText, DateTime pTimeStamp, long pGroupId,long? pCustomerOid, bool pOnlyEmployees, int pUserCount)
{
#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;
TimeStamp = timestamp;
GroupId = groupid;
CustomerOid = customerOid;
SetzeGelesen = 1;
Name = pName;
ReceivedMessage = pLastMessageText;
Image = pImage;
TimeStamp = pTimeStamp;
GroupId = pGroupId;
CustomerOid = pCustomerOid;
NumberOfReadMessages = 1;
if (CustomerOid != null)
{
_kontaktChatColor = new BrushConverter().ConvertFromString("#3B7799") as SolidColorBrush;
}else if (onlyEmployee && userCount > 2)
_ContactChatColor = new BrushConverter().ConvertFromString("#3B7799") as SolidColorBrush;
}
else if (pOnlyEmployees && pUserCount > 2)
{
//Alle gruppen werden grün
_kontaktChatColor = new BrushConverter().ConvertFromString("#45993B") as SolidColorBrush;
_ContactChatColor = new BrushConverter().ConvertFromString("#45993B") as SolidColorBrush;
}
else
{
//Alles bleibt wie es war also schwarz
_kontaktChatColor = new BrushConverter().ConvertFromString("#000000") as SolidColorBrush;
_ContactChatColor = new BrushConverter().ConvertFromString("#000000") as SolidColorBrush;
}
}
//public KontaktlistBuilder(string name, StatusType statustyp, ImageSource image, long empfaengerid, ChatType typeChat, CompactCustomerDC customer)
//{
// this.Customer = customer;
// this.Name = name;
// this.StatusTyp = statustyp;
// this.Image = image;
// this.EmpfaengerOid = empfaengerid;
// Receivems = "";
// TypeChat = typeChat;
// if (statustyp == StatusType.Online)
// {
// this.Color = new BrushConverter().ConvertFromString("#00ae00") as SolidColorBrush;
// }
// else if (statustyp == StatusType.Offline)
// {
// this.Color = new SolidColorBrush(Colors.Red);
// }
// else
// {
// this.Color = new SolidColorBrush(Colors.Orange);
// }
// if (typeChat == ChatType.Team)
// {
// _colorType = new SolidColorBrush(Colors.DarkViolet);
// }
// else if (typeChat == ChatType.Klienten)
// {
// _colorType = new SolidColorBrush(Colors.Blue);
// }
// else
// {
// _colorType = new SolidColorBrush(Colors.Green);
// }
//}
//public string Name { get; private set; }
//private StatusType _statustyp;
//public StatusType StatusTyp
//{
// get { return _statustyp; }
// set
// {
// _statustyp = value;
// if (_statustyp == StatusType.Online)
// {
// _color = new BrushConverter().ConvertFromString("#00ae00") as SolidColorBrush;
// }
// else if (_statustyp == StatusType.Offline)
// {
// _color = new SolidColorBrush(Colors.Red);
// }
// else
// {
// _color = new SolidColorBrush(Colors.Orange);
// }
// OnPropertyChanged("Lastms");
// }
//}
//public ImageSource Image { get; private set; }
//public long EmpfaengerOid { get; private set; }
//private string _receivems;
//public string Receivems { get { return _receivems; } set { _receivems = value; OnPropertyChanged("Receivems"); } }
//public ChatType TypeChat { get; set; }
//private Brush _color;
//public Brush Color
//{
// get
// {
// return _color;
// }
// set
// {
// if (StatusTyp == StatusType.Online)
// {
// _color = new BrushConverter().ConvertFromString("#00ae00") as SolidColorBrush;
// }
// else if (StatusTyp == StatusType.Offline)
// {
// _color = new SolidColorBrush(Colors.Red);
// }
// else
// {
// _color = new SolidColorBrush(Colors.Orange);
// }
// OnPropertyChanged("Color");
// }
//}
//private Brush _colorType;
//public Brush ColorType
//{
// get
// {
// return _colorType;
// }
// set
// {
// if (TypeChat == ChatType.Team)
// {
// _colorType = new SolidColorBrush(Colors.DarkViolet);
// }
// else if (TypeChat == ChatType.Klienten)
// {
// _colorType = new SolidColorBrush(Colors.Blue);
// }
// else
// {
// _colorType = new SolidColorBrush(Colors.Green);
// }
// OnPropertyChanged("ColorType");
// }
//}
//public CompactCustomerDC Customer { get; set; }
public event PropertyChangedEventHandler PropertyChanged;
protected virtual void OnPropertyChanged(string propertyName)
{
var handler = PropertyChanged;
if (handler != null) handler(this, new PropertyChangedEventArgs(propertyName));
handler?.Invoke(this, new PropertyChangedEventArgs(propertyName));
}
}
}

View File

@@ -7,8 +7,8 @@ using System.Net;
using System.Threading;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Controls.Primitives;
using System.Windows.Data;
using System.Windows.Forms;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Navigation;
@@ -17,8 +17,18 @@ using System.Windows.Threading;
using ChatController.ChatKlassen;
using ChatController.HauptKlassen;
using ChatController.Klassen;
using ChatController.LoginKlassen;
using ChatController.Utilities;
using Button = System.Windows.Controls.Button;
using Cursors = System.Windows.Input.Cursors;
using DataFormats = System.Windows.DataFormats;
using KeyEventArgs = System.Windows.Input.KeyEventArgs;
using MenuItem = System.Windows.Controls.MenuItem;
using MessageBox = System.Windows.MessageBox;
using Orientation = System.Windows.Controls.Orientation;
using Panel = System.Windows.Controls.Panel;
using Path = System.IO.Path;
using ScrollBar = System.Windows.Controls.Primitives.ScrollBar;
namespace ChatController
{
@@ -33,7 +43,7 @@ namespace ChatController
private ChatEmojiiControl _EmojiView;
private IOrderedEnumerable<ChatMessage> _OrderedMessages;
private IOrderedEnumerable<KontaktlistBuilder> _ContactList;
private IOrderedEnumerable<Contact> _ContactList;
private bool _ScrollPrueferAktivieren;
@@ -110,7 +120,7 @@ namespace ChatController
#region Lade KontaktDaten und Lade sie in den Chat
private void AktChatUser_OnMouseDoubleClick(object sender, MouseButtonEventArgs e)
{
_Chat.ShowKontaktPicture(_AktuellerKontakt);
_Chat.ShowProfilePicture(_AktuellerKontakt);
}
private void Clientlist_OnSelectionChanged(object sender, SelectionChangedEventArgs e)
@@ -124,10 +134,10 @@ namespace ChatController
AktChatUserList.Items.Clear();
var kontakt = (KontaktlistBuilder)Clientlist.SelectedItem;
var kontakt = (Contact)Clientlist.SelectedItem;
if(kontakt.SetzeGelesen == 1) {
kontakt.SetzeGelesen = 0;
if(kontakt.NumberOfReadMessages == 1) {
kontakt.NumberOfReadMessages = 0;
Clientlist.Items.Refresh();
}
@@ -538,7 +548,7 @@ namespace ChatController
ChatListBox.ItemsSource = null;
var kontakt = (KontaktlistBuilder)Clientlist.SelectedItem;
var kontakt = (Contact)Clientlist.SelectedItem;
var xy = _Chat.LadeWeiterNachrichten(kontakt);
@@ -596,57 +606,47 @@ namespace ChatController
_NewThread = null;
}
var kontakt = (AktuellerKontakt)AktChatUserList.Items[0];
var kontakt = (AktuellerKontakt) AktChatUserList.Items[0];
//thred besser verwalten
_NewThread = new Thread(DoWork);
_NewThread.IsBackground = true;
_NewThread = new Thread(DoWork) {IsBackground = true};
_NewThread.Start(kontakt);
}
private void DoWork(object o)
{
bool _schaueNachMs = false;
var kontakt = (AktuellerKontakt) o;
var currentContact = (AktuellerKontakt) o;
while (true)
{
Thread.Sleep(2000);
if (!disableKontaktNachrichtenThread)
{
_schaueNachMs = _Chat.SchaueNachNeuenNachrichten(kontakt);
var hasNewMessages = _Chat.CheckIfNewMessagesExist(currentContact);
if (_schaueNachMs == true)
if (hasNewMessages)
{
this.Dispatcher.BeginInvoke(
DispatcherPriority.Background,
Utils.NotifyIcon.ShowBalloonTip(Constants.NotificationTimeout, "ownChat", $"Hat neue Nachrichten: {currentContact.Name}({currentContact.Contact.Name})", ToolTipIcon.None);
Dispatcher.BeginInvoke(DispatcherPriority.Background,
(Action) delegate
{
if (kontakt != null)
{
_Chat.LadeChatNachrichtenVomKontakt(currentContact);
var x = _Chat.LadeChatNachrichtenVomKontakt(kontakt);
CollectionViewSource.GetDefaultView(ChatListBox.ItemsSource).Refresh();
CollectionViewSource.GetDefaultView(ChatListBox.ItemsSource).Refresh();
ChatListBox.Items.MoveCurrentToLast();
ChatListBox.ScrollIntoView(ChatListBox.Items.CurrentItem);
}
ChatListBox.Items.MoveCurrentToLast();
ChatListBox.ScrollIntoView(ChatListBox.Items.CurrentItem);
});
}
}
else
{
break;
}
}
}
#endregion
@@ -686,18 +686,18 @@ namespace ChatController
{
if (liste.GroupId == neu.GroupId)
{
if (!liste.ReceiveMs.Equals(neu.ReceiveMs)) {
if (!liste.ReceivedMessage.Equals(neu.ReceivedMessage)) {
liste.ReceiveMs = neu.ReceiveMs;
liste.ReceivedMessage = neu.ReceivedMessage;
liste.TimeStamp = neu.TimeStamp;
if (aktuellerKontakt != null && neu.GroupId == aktuellerKontakt.GroupId)
{
liste.SetzeGelesen = 0;
liste.NumberOfReadMessages = 0;
}
else
{
liste.SetzeGelesen = 1;
liste.NumberOfReadMessages = 1;
}
}
}
@@ -746,7 +746,7 @@ namespace ChatController
if (String.IsNullOrEmpty(Suche.Text))
return true;
else
return ((item as KontaktlistBuilder).Name.IndexOf(Suche.Text, StringComparison.OrdinalIgnoreCase) >= 0);
return ((item as Contact).Name.IndexOf(Suche.Text, StringComparison.OrdinalIgnoreCase) >= 0);
}
#endregion
@@ -933,10 +933,10 @@ namespace ChatController
#region speichern sowie lesen der MessageSyncDatei / stylezwecke (OwnChat only)
public void SpeichereMessageInfoInDatei()
{
List<KontaktlistBuilder> aa = new List<KontaktlistBuilder>();
List<Contact> aa = new List<Contact>();
foreach (var kontakt in _ContactList)
{
if(kontakt.SetzeGelesen == 0 && !kontakt.ReceiveMs.Equals("")) {
if(kontakt.NumberOfReadMessages == 0 && !kontakt.ReceivedMessage.Equals("")) {
aa.Add(kontakt);
}
}
@@ -947,7 +947,7 @@ namespace ChatController
public void LeseMessageInfoAusDatei()
{
List<KontaktlistBuilder> aa = new List<KontaktlistBuilder>();
List<Contact> aa = new List<Contact>();
foreach (var kontakt in _ContactList)
{
aa.Add(kontakt);
@@ -962,7 +962,7 @@ namespace ChatController
{
if (kon.GroupId == item.Key)
{
kon.SetzeGelesen = 0;
kon.NumberOfReadMessages = 0;
}
}
}
@@ -972,17 +972,17 @@ namespace ChatController
#region Speichern Und LEsen Der MesageSyncDatei (Bewoplaner only)
public List<KontaktlistBuilder> UebergebeMessageInfoDatenFuerDb()
public List<Contact> UebergebeMessageInfoDatenFuerDb()
{
List < KontaktlistBuilder > aa = new List<KontaktlistBuilder>();
List < Contact > aa = new List<Contact>();
Clientlist.Items.Refresh();
foreach (var item in Clientlist.Items)
{
var kontakt = item as KontaktlistBuilder;
var kontakt = item as Contact;
if (kontakt != null && kontakt.SetzeGelesen == 0 && !kontakt.ReceiveMs.Equals(""))
if (kontakt != null && kontakt.NumberOfReadMessages == 0 && !kontakt.ReceivedMessage.Equals(""))
{
aa.Add(kontakt);
}
@@ -1001,7 +1001,7 @@ namespace ChatController
{
if (kon.GroupId == item.Key)
{
kon.SetzeGelesen = 0;
kon.NumberOfReadMessages = 0;
}
}
}
@@ -1017,7 +1017,9 @@ namespace ChatController
try
{
if (File.Exists(file))
{
File.Delete(file);
}
}
catch (Exception e)
{

View File

@@ -1,36 +1,32 @@
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Net;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using ChatController.Klassen;
using ChatController.LoginKlassen;
using ChatController.Utilities;
using Newtonsoft.Json;
namespace ChatController.Data
{
public class OwnChatApi
{
private static String serverUrl;
private static String apiKey;
private static String tenant;
public static string ServerUrl { get; set; }
public static string ApiKey { get; set; }
public static string Tenant { get; set; }
public static long GetMaximumAllowedFileUploadSize(string apikey, string customerid)
public static long GetMaximumAllowedFileUploadSize(string pApiKey, string pCustomerId)
{
var endurl = serverUrl + "/api/ownchat/uploadmaxsize";// + apikey + "/" + customerid;
var url = ServerUrl + Constants.MaxUploadFileSizeUrl;
WebRequest request = WebRequest.Create(endurl);
request.Headers["Token"] = apikey;
request.Headers["CustomerID"] = customerid;
var webRequest = WebRequest.Create(url);
webRequest.Headers[Constants.Token] = pApiKey;
webRequest.Headers[Constants.CustomerId] = pCustomerId;
request.Credentials = CredentialCache.DefaultCredentials;
request.Proxy = null;
webRequest.Credentials = CredentialCache.DefaultCredentials;
webRequest.Proxy = null;
using (WebResponse response = request.GetResponse())
using (var response = webRequest.GetResponse())
{
string responseFromServer = ReadStream(response);
var responseFromServer = ReadStream(response);
var definiti = new {file_upload_max_size = ""};
@@ -38,71 +34,72 @@ namespace ChatController.Data
return Convert.ToInt64(jsonDatentyp.file_upload_max_size);
}
}
private UserMessages GetMessages(long groupId)
public static UserMessages GetMessages(long pGroupId)
{
var endurl = serverUrl + "/api/chat/messages?groupid=" + groupId;
var url = ServerUrl + Constants.LoadMessagesForGroupUrl + pGroupId;
WebRequest request = WebRequest.Create(endurl);
var webRequest = WebRequest.Create(url);
request.Credentials = CredentialCache.DefaultCredentials;
request.Headers["Token"] = apiKey;
request.Headers["CustomerID"] = tenant;
webRequest.Credentials = CredentialCache.DefaultCredentials;
webRequest.Headers[Constants.Token] = ApiKey;
webRequest.Headers[Constants.CustomerId] = Tenant;
using (WebResponse response = request.GetResponse())
using (var response = webRequest.GetResponse())
{
string responseFromServer = ReadStream(response);
var serverResponse = ReadStream(response);
if (!String.IsNullOrEmpty(responseFromServer))
if (!string.IsNullOrEmpty(serverResponse))
{
var jsonDaten = JsonConvert.DeserializeObject<UserMessages>(responseFromServer);
return jsonDaten;
return JsonConvert.DeserializeObject<UserMessages>(serverResponse);
}
}
return null;
}
private ChatGruppenDaten GetAllChatGroups()
public ChatGruppenDaten GetAllChatGroups()
{
var endurl = serverUrl + "/api/chat/groups";
var endurl = ServerUrl + Constants.GetChatGroupsUrl;
WebRequest request = WebRequest.Create(endurl);
var webRequest = WebRequest.Create(endurl);
request.Credentials = CredentialCache.DefaultCredentials;
request.Headers["Token"] = apiKey;
request.Headers["CustomerID"] = tenant;
webRequest.Credentials = CredentialCache.DefaultCredentials;
webRequest.Headers[Constants.Token] = ApiKey;
webRequest.Headers[Constants.CustomerId] = Tenant;
using (WebResponse response = request.GetResponse())
using (var response = webRequest.GetResponse())
{
string responseFromServer = ReadStream(response);
return JsonConvert.DeserializeObject<ChatGruppenDaten>(responseFromServer);
var serverResponse = ReadStream(response);
return JsonConvert.DeserializeObject<ChatGruppenDaten>(serverResponse);
}
}
private static string ReadStream(WebResponse response)
public static string ReadStream(WebResponse response)
{
try
{
using (Stream dataStream = response.GetResponseStream())
var serverResponse = Empty;
using (var dataStream = response.GetResponseStream())
{
using (StreamReader reader = new StreamReader(dataStream))
if(dataStream == null)
{
string responseFromServer = reader.ReadToEnd();
return serverResponse;
}
using (var reader = new StreamReader(dataStream))
{
serverResponse = reader.ReadToEnd();
return responseFromServer;
return serverResponse;
}
}
}
catch (Exception e)
catch (Exception exception)
{
// MessageBox.Show(e.Message);
return null;
}
}

File diff suppressed because it is too large Load Diff

View File

@@ -1,66 +1,68 @@
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Net;
using System.Text;
using System.Threading.Tasks;
using System.Web;
using System.Windows;
using ChatController.Klassen;
using ChatController.LoginKlassen;
using ChatController.Utilities;
using Newtonsoft.Json;
namespace ChatController.HauptKlassen
{
public class Login
{
private string _url = ""; //"https://bewoplaner.beyondsoft.de/voucher_check.php"; // alt
private string _Url = "";
private string _newUrl = "https://dict.ownchat.de/api/server/resolve/1/"; //https://dict.ownchat.de/api/server/resolve/{type}/{customerid} //type = Diensttyp(1,2,oder 3), customerid = Kudennummer des Kunden
private readonly string _NewUrl = "https://dict.ownchat.de/api/server/resolve/1/";
public string _serverUrl = "";
private string _authToken = "";
public string ServerUrl { get; set; } = "";
private string _AuthToken = "";
private readonly string _benutzername;
private readonly string _passwort;
private readonly string _kundennummer;
private readonly string _chatCode;
private readonly string _apikey;
private readonly string _UserName;
private readonly string _Password;
private readonly string _Tenant;
private readonly string _ChatCode;
private readonly string _ApiKey;
private long? _userid;
private long? _UserId;
private bool _verbindungsaufbauOK = false;
private bool _ownchatVerbindungsaufbauOK = false;
private bool _gruppeholenverbindungsaufbauOK = false;
private bool _ownchatVerbindungsaufbauOK;
private bool _gruppeholenverbindungsaufbauOK;
private AuthentifizierungsDaten _serverconect;
private UserDaten _angemeldeterUser;
private ChatGruppenDaten _alleGruppen;
private UserDaten _LoggedInUser;
private ChatGruppenDaten _AllGroups;
private bool showMessageBox = true;
private readonly bool _ShouldShowMessageBox = true;
public Login(string kundennummer, string chatCode,string benutzername,string passwort)
public Login(string pTenant, string pChatCode, string pUserName, string pPassword)
{
_kundennummer = kundennummer;
_chatCode = chatCode;
_benutzername = benutzername;
_passwort = passwort;
_apikey = "0000";//default damit nichts kaput geht
_Tenant = pTenant;
_ChatCode = pChatCode;
_UserName = pUserName;
_Password = pPassword;
_ApiKey = "0000";//default damit nichts kaput geht
}
public Login(string kundennummer, string chatCode, string benutzername, string passwort,string apikey)
public Login(string pTenant, string pChatCode, string pUserName, string pPassword,string pApiKey)
{
_kundennummer = kundennummer;
_chatCode = chatCode;
_benutzername = benutzername;
_passwort = passwort;
_apikey = apikey;
_Tenant = pTenant;
_ChatCode = pChatCode;
_UserName = pUserName;
_Password = pPassword;
_ApiKey = pApiKey;
}
//
public Login(string kundennummer)
public Login(string pTenant)
{
_kundennummer = kundennummer;
showMessageBox = false;
_Tenant = pTenant;
_ShouldShowMessageBox = false;
ServerErmittlung();
}
@@ -69,24 +71,24 @@ namespace ChatController.HauptKlassen
if(ServerErmittlung()){
Dictionary<string, string> dic = new Dictionary<string, string>();
dic.Add("username", _benutzername);
dic.Add("password", _passwort);
dic.Add("chatcode",_chatCode);
dic.Add("username", _UserName);
dic.Add("password", _Password);
dic.Add("chatcode",_ChatCode);
VerbindeMitChatServer(dic);
if (_ownchatVerbindungsaufbauOK)
{
GruppenHolen();
GetGroups();
}
if (_gruppeholenverbindungsaufbauOK)
{
long maxUploadSize = GetMaiximumAllowedFileUploadSize(_authToken,_kundennummer);
long maxUploadSize = GetMaiximumAllowedFileUploadSize(_AuthToken,_Tenant);
ChatDatenUebergabe ubergabe = new ChatDatenUebergabe(_serverconect, _angemeldeterUser, _alleGruppen, _serverUrl, _authToken, _userid, _kundennummer,_apikey, maxUploadSize);
ChatDatenUebergabe ubergabe = new ChatDatenUebergabe(_serverconect, _LoggedInUser, _AllGroups, ServerUrl, _AuthToken, _UserId, _Tenant,_ApiKey, maxUploadSize);
return ubergabe;
}
@@ -96,14 +98,13 @@ namespace ChatController.HauptKlassen
public bool ServerErmittlung()
{
if (_serverUrl.Equals(""))
if (string.IsNullOrEmpty(ServerUrl))
{
try
{
var serverURl = _NewUrl + _Tenant;
string serverURl = _newUrl + _kundennummer;
WebRequest request = WebRequest.Create(serverURl);
var request = WebRequest.Create(serverURl);
request.Credentials = CredentialCache.DefaultCredentials;
@@ -115,165 +116,145 @@ namespace ChatController.HauptKlassen
}
catch (Exception e)
{
if (showMessageBox)
if (_ShouldShowMessageBox)
{
MessageBox.Show("Fehler: Es konnte keine Verbindung aufgebaut werden.", "ownChat Fehler",
MessageBoxButton.OK, MessageBoxImage.Error);
MessageBox.Show("Fehler: Es konnte keine Verbindung aufgebaut werden.", "Fehler", MessageBoxButton.OK, MessageBoxImage.Error);
}
return false;
}
// Display the status.
var statusResponse = ((HttpWebResponse) response).StatusDescription;
string responseFromServer = Utilities.Utils.ReadStream(response);
var responseFromServer = Utils.ReadStream(response);
try
{
var jsonDatentyp =
JsonConvert.DeserializeObject<NewAuthentifizierungsDatenTyp1>(responseFromServer);
var jsonDatentyp = JsonConvert.DeserializeObject<NewAuthentifizierungsDatenTyp1>(responseFromServer);
if (jsonDatentyp.Status == 1)
switch(jsonDatentyp.Status)
{
if (showMessageBox)
{
MessageBox.Show(
"Fehler: Kundennummer unbekannt.\nBitte überprüfen Sie die Anmeldeinformationen.",
"ownChat Info", MessageBoxButton.OK, MessageBoxImage.Asterisk);
}
return false;
}
else if (jsonDatentyp.Status == 2)
{
if (showMessageBox)
{
MessageBox.Show("Der Diensttyp ist für die angegebene Kundennummer nicht definiert.",
"ownChat Info",
MessageBoxButton.OK, MessageBoxImage.Asterisk);
}
return false;
}
else
{
_url = jsonDatentyp.URL;
case 1:
if (_ShouldShowMessageBox)
{
MessageBox.Show("Fehler: Kundennummer unbekannt.\nBitte überprüfen Sie die Anmeldeinformationen.", "ownChat Info", MessageBoxButton.OK, MessageBoxImage.Asterisk);
}
return false;
case 2:
if (_ShouldShowMessageBox)
{
MessageBox.Show("Der Diensttyp ist für die angegebene Kundennummer nicht definiert.", "ownChat Info", MessageBoxButton.OK, MessageBoxImage.Asterisk);
}
return false;
}
_Url = jsonDatentyp.Url;
}
catch (Exception eds)
{
try
{
var jsonDatentyp =
JsonConvert.DeserializeObject<NewAuthentifizierungsDatenTyp2>(responseFromServer);
var jsonDatentyp = JsonConvert.DeserializeObject<NewAuthentifizierungsDatenTyp2>(responseFromServer);
if (jsonDatentyp.Status == 1)
switch(jsonDatentyp.Status)
{
if (showMessageBox)
{
MessageBox.Show(
"Fehler: Kundennummer unbekannt.\nBitte überprüfen Sie die Anmeldeinformationen.",
"ownChat Info", MessageBoxButton.OK, MessageBoxImage.Asterisk);
}
return false;
}
else if (jsonDatentyp.Status == 2)
{
if (showMessageBox)
{
MessageBox.Show(
"Der Diensttyp ist für die angegebene Kundennummer nicht definiert.",
"ownChat Info", MessageBoxButton.OK, MessageBoxImage.Asterisk);
}
return false;
}
else
{
_url = jsonDatentyp.URL;
case 1:
if (_ShouldShowMessageBox)
{
MessageBox.Show("Fehler: Kundennummer unbekannt.\nBitte überprüfen Sie die Anmeldeinformationen.", "ownChat Info", MessageBoxButton.OK, MessageBoxImage.Asterisk);
}
return false;
case 2:
if (_ShouldShowMessageBox)
{
MessageBox.Show("Der Diensttyp ist für die angegebene Kundennummer nicht definiert.", "ownChat Info", MessageBoxButton.OK, MessageBoxImage.Asterisk);
}
return false;
}
_Url = jsonDatentyp.Url;
}
catch (Exception e)
{
if (showMessageBox)
if (_ShouldShowMessageBox)
{
MessageBox.Show("Fehler: " + e.Message, "ownChat Fehler", MessageBoxButton.OK,
MessageBoxImage.Error);
MessageBox.Show("Fehler: " + e.Message, "ownChat Fehler", MessageBoxButton.OK, MessageBoxImage.Error);
}
}
}
response.Close();
_serverUrl = _url;
ServerUrl = _Url;
return true;
}
catch (Exception e)
{
if (showMessageBox)
if (_ShouldShowMessageBox)
{
MessageBox.Show("Fehler: " + e.Message, "ownChat Fehler", MessageBoxButton.OK,
MessageBoxImage.Error);
MessageBox.Show("Fehler: " + e.Message, "ownChat Fehler", MessageBoxButton.OK, MessageBoxImage.Error);
}
return false;
}
}
else
{
return true;
}
return true;
}
private void VerbindeMitChatServer(Dictionary<string, string> postparameter)
{
string fehlermeldung = "";
try
{
var endurl = _url + "/api/user/loginwithchatcode";
var endurl = _Url + "/api/user/loginwithchatcode";
string postdaten = "";
var postdaten = "";
int i = 0;
var i = 0;
foreach (var key in postparameter.Keys)
{
postdaten += HttpUtility.UrlEncode(key) + "=" + HttpUtility.UrlEncode(postparameter[key]) + "&";
}
WebRequest requesten = WebRequest.Create(endurl);
var webRequest = WebRequest.Create(endurl);
requesten.Method = "POST";
requesten.ContentType = "application/x-www-form-urlencoded";
requesten.Headers["CustomerID"] = _kundennummer;
webRequest.Method = "POST";
webRequest.ContentType = "application/x-www-form-urlencoded";
webRequest.Headers[Constants.CustomerId] = _Tenant;
byte[] daten = Encoding.ASCII.GetBytes(postdaten);
var daten = Encoding.ASCII.GetBytes(postdaten);
requesten.ContentLength = daten.Length;
webRequest.ContentLength = daten.Length;
Stream requestStream = requesten.GetRequestStream();
var requestStream = webRequest.GetRequestStream();
requestStream.Write(daten, 0, daten.Length);
requestStream.Close();
HttpWebResponse myHttpWebResponse = (HttpWebResponse)requesten.GetResponse();
var myHttpWebResponse = (HttpWebResponse)webRequest.GetResponse();
Stream responseStream = myHttpWebResponse.GetResponseStream();
var responseStream = myHttpWebResponse.GetResponseStream();
StreamReader myStreamReader = new StreamReader(responseStream, Encoding.Default);
var myStreamReader = new StreamReader(responseStream, Encoding.Default);
string pageContent = myStreamReader.ReadToEnd();
var pageContent = myStreamReader.ReadToEnd();
if (!pageContent.Equals(""))
if (!string.IsNullOrEmpty(pageContent))
{
var jsonDaten = JsonConvert.DeserializeObject<UserDaten>(pageContent);
if (jsonDaten.Success == true)
if (jsonDaten.Success)
{
foreach (var datev in jsonDaten.Response)
{
_authToken = datev.Value.Token;
_userid = datev.Value.Oid;
_AuthToken = datev.Value.Token;
_UserId = datev.Value.Oid;
}
_angemeldeterUser = jsonDaten;
_LoggedInUser = jsonDaten;
_ownchatVerbindungsaufbauOK = true;
}
@@ -281,21 +262,15 @@ namespace ChatController.HauptKlassen
{
if (jsonDaten.Errors.chatcode_failed != null)
{
if (showMessageBox)
if (_ShouldShowMessageBox)
{
MessageBox.Show(
"Fehler: " + jsonDaten.Errors.chatcode_failed[0] +
"\nBitte überprüfen Sie die Anmeldeinformationen.", "Info", MessageBoxButton.OK,
MessageBoxImage.Asterisk);
MessageBox.Show("Fehler: " + jsonDaten.Errors.chatcode_failed[0] + "\nBitte überprüfen Sie die Anmeldeinformationen.", "Info", MessageBoxButton.OK, MessageBoxImage.Error);
}
}else if (jsonDaten.Errors.login_failed != null)
{
if (showMessageBox)
if (_ShouldShowMessageBox)
{
MessageBox.Show(
"Fehler: " + jsonDaten.Errors.login_failed[0] +
"\nBitte überprüfen Sie die Anmeldeinformationen.", "Info", MessageBoxButton.OK,
MessageBoxImage.Asterisk);
MessageBox.Show("Fehler: " + jsonDaten.Errors.login_failed[0] + "\nBitte überprüfen Sie die Anmeldeinformationen.", "Info", MessageBoxButton.OK, MessageBoxImage.Error);
}
}
@@ -309,95 +284,83 @@ namespace ChatController.HauptKlassen
}
catch (Exception e)
{
if (showMessageBox)
if (_ShouldShowMessageBox)
{
MessageBox.Show("Fehler:" + e.Message, "Fehler", MessageBoxButton.OK, MessageBoxImage.Error);
}
}
}
private void GruppenHolen()
private void GetGroups()
{
try
{
var endurl = _url + "/api/chat/groups";
var endurl = _Url + Constants.GetChatGroupsUrl;
WebRequest request = WebRequest.Create(endurl);
var request = WebRequest.Create(endurl);
request.Credentials = CredentialCache.DefaultCredentials;
request.Headers["Token"] = _authToken;
request.Headers["CustomerID"] = _kundennummer;
request.Headers[Constants.Token] = _AuthToken;
request.Headers[Constants.CustomerId] = _Tenant;
using (WebResponse response = request.GetResponse())
using (var response = request.GetResponse())
{
var serverResponse = Utils.ReadStream(response);
// Display the status.
var statusResponse = ((HttpWebResponse) response).StatusDescription;
string responseFromServer = Utilities.Utils.ReadStream(response);
if (!responseFromServer.Equals(""))
if (!string.IsNullOrEmpty(serverResponse))
{
var jsonDaten = JsonConvert.DeserializeObject<ChatGruppenDaten>(responseFromServer);
var jsonDaten = JsonConvert.DeserializeObject<ChatGruppenDaten>(serverResponse);
_alleGruppen = jsonDaten;
_AllGroups = jsonDaten;
_gruppeholenverbindungsaufbauOK = true;
}
}
}
catch (Exception e)
{
if (showMessageBox)
if (_ShouldShowMessageBox)
{
MessageBox.Show("Fehler: " + e.Message, "Fehler", MessageBoxButton.OK, MessageBoxImage.Error);
}
}
}
#region Maximal erlaubte File Größe
public long GetMaiximumAllowedFileUploadSize(string token, string customerid)
public long GetMaiximumAllowedFileUploadSize(string pToken, string pCustomerId)
{
long maxsize = 0;
long maximumFileSize;
try
{
var endurl = _serverUrl + "/api/ownchat/uploadmaxsize";// + apikey + "/" + customerid;
var endurl = ServerUrl + Constants.MaxUploadFileSizeUrl;
WebRequest request = WebRequest.Create(endurl);
request.Headers["Token"] = token;
request.Headers["CustomerID"] = customerid;
var request = WebRequest.Create(endurl);
request.Headers[Constants.Token] = pToken;
request.Headers[Constants.CustomerId] = pCustomerId;
request.Credentials = CredentialCache.DefaultCredentials;
request.Proxy = null;
using (WebResponse response = request.GetResponse())
using (var response = request.GetResponse())
{
// Display the status.
var statusResponse = ((HttpWebResponse) response).StatusDescription;
string responseFromServer = Utilities.Utils.ReadStream(response);
var responseFromServer = Utils.ReadStream(response);
var definiti = new {file_upload_max_size = ""};
var jsonDatentyp = JsonConvert.DeserializeAnonymousType(responseFromServer, definiti);
maxsize = Convert.ToInt64(jsonDatentyp.file_upload_max_size);
maximumFileSize = Convert.ToInt64(jsonDatentyp.file_upload_max_size);
}
}
catch (Exception e)
{
return 0;
}
return maxsize;
return maximumFileSize;
}
#endregion
}
}

View File

@@ -1,39 +1,26 @@
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Reflection;
using System.Runtime.InteropServices;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
using System.Web;
using System.Windows;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Forms;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using ChatController.HauptKlassen;
using ChatController.Klassen;
using ChatController.LoginKlassen;
using Newtonsoft.Json;
using Cursors = System.Windows.Input.Cursors;
using KeyEventArgs = System.Windows.Input.KeyEventArgs;
using MessageBox = System.Windows.MessageBox;
using Path = System.IO.Path;
using UserControl = System.Windows.Controls.UserControl;
namespace ChatController
{
/// <summary>
/// Interaktionslogik für Login.xaml
/// </summary>
public partial class LoginControl : UserControl
public partial class LoginControl
{
public delegate void LoginDelegate(ChatDatenUebergabe cdu);
@@ -55,11 +42,11 @@ namespace ChatController
LeseDateiFallsVorhanden();
//var version = System.Reflection.Assembly.GetExecutingAssembly().GetName().Version;
lblVersion.Content = String.Format("Version: {0}", _version);
lblVersion.Content = $"Version: {_version}";
#if DEBUG
TextBoxBenutzerName.Text = "JettenL";
TextBoxPasswort.Password = "Blubb123";
TextBoxBenutzerName.Text = "MuellerL";
TextBoxPasswort.Password = "12345";
#endif
}
@@ -80,35 +67,21 @@ namespace ChatController
{
try
{
//TODO Abfrage einführen die prüft ob eine verbindung ueberhaupt hergestellt werde kann | FehlerMeldungen Genauer Definieren
if (!TextBoxKundennummer.Text.Equals("") && !TextBoxChatCode.Text.Equals("") &&
!TextBoxBenutzerName.Text.Equals("") && !TextBoxPasswort.Password.Equals(""))
//TODO Abfrage einführen, die prüft, ob eine Verbindung überhaupt hergestellt werden kann | Fehlermeldungen genauer definieren
if (!TextBoxKundennummer.Text.Equals("") && !TextBoxChatCode.Text.Equals("") && !TextBoxBenutzerName.Text.Equals("") && !TextBoxPasswort.Password.Equals(""))
{
Cursor = Cursors.Wait;
Login _login = new Login(TextBoxKundennummer.Text, TextBoxChatCode.Text, TextBoxBenutzerName.Text, TextBoxPasswort.Password);
var _login = new Login(TextBoxKundennummer.Text, TextBoxChatCode.Text, TextBoxBenutzerName.Text, TextBoxPasswort.Password);
var x = _login.AnmeldevorgangDurchFuehren();
if (OnLogin != null && x != null)
{
AutosetDaten();
//if (Merken.IsChecked == true)
//{
// SpeichereDatenInDatei();
//}
//else
//{
// LoescheGespeicherteDatei();
//}
OnLogin(x);
OnLogin?.Invoke(x);
}
//else
//{
// Auskommentiert weil bereits abgefangen
// MessageBox.Show("Fehler bei der Anmeldung. Bitte überprüfen Sie die Anmeldeinformationen.", "Info", MessageBoxButton.OK, MessageBoxImage.Asterisk);
//}
Cursor = Cursors.Arrow;
}

View File

@@ -1,10 +1,4 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ChatController.Klassen
namespace ChatController.LoginKlassen
{
public class AuthentifizierungsDaten
{
@@ -15,13 +9,13 @@ namespace ChatController.Klassen
public class NewAuthentifizierungsDatenTyp1
{
public int Status { get; set; }
public string URL { get; set; }
public string Url { get; set; }
}
public class NewAuthentifizierungsDatenTyp2
{
public int Status { get; set; }
public string URL { get; set; }
public int SYNCTYPE { get; set; }
public string Url { get; set; }
public int SyncType { get; set; }
}
}

View File

@@ -1,23 +1,17 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ChatController.Klassen
namespace ChatController.LoginKlassen
{
public class ChatDatenUebergabe
{
private AuthentifizierungsDaten _serverconect { get; set; }
private UserDaten _angemeldeterUser { get; set; }
private ChatGruppenDaten _alleGruppen { get; set; }
private AuthentifizierungsDaten _serverconect { get; }
private UserDaten _angemeldeterUser { get; }
private ChatGruppenDaten _alleGruppen { get; }
private string _serverUrl { get; set; }
private string _authToken { get; set; }
private long? _userid { get; set; }
private string _kundennummer { get; set; }
private string _apikey { get; set; }
private long _maxUploadSize { get; set; }
private string _ServerUrl { get; }
private string _AuthToken { get; }
private long? _Userid { get; }
private string _Tenant { get; }
private string _ApiKey { get; }
private long _MaxUploadSize { get; }
public ChatDatenUebergabe(AuthentifizierungsDaten serverConect, UserDaten angemeldeterUser, ChatGruppenDaten alleGruppen, string serverUrl, string authToken, long? userid, string kundennummer, string apikey,long maxUploadSize)
{
@@ -25,120 +19,30 @@ namespace ChatController.Klassen
_angemeldeterUser = angemeldeterUser;
_alleGruppen = alleGruppen;
_serverUrl = serverUrl;
_authToken = authToken;
_userid = userid;
_kundennummer = kundennummer;
_apikey = apikey;
_maxUploadSize = maxUploadSize;
_ServerUrl = serverUrl;
_AuthToken = authToken;
_Userid = userid;
_Tenant = kundennummer;
_ApiKey = apikey;
_MaxUploadSize = maxUploadSize;
}
public AuthentifizierungsDaten Serverconect
{
get
{
return _serverconect;
}
private set
{
_serverconect = value;
}
}
public AuthentifizierungsDaten Serverconect => _serverconect;
public UserDaten AngemeldeterUser
{
get
{
return _angemeldeterUser;
}
private set
{
_angemeldeterUser = value;
}
}
public UserDaten AngemeldeterUser => _angemeldeterUser;
public ChatGruppenDaten AlleGruppen
{
get
{
return _alleGruppen;
}
private set
{
_alleGruppen = value;
}
}
public ChatGruppenDaten AlleGruppen => _alleGruppen;
public string ServerUrl
{
get
{
return _serverUrl;
}
private set
{
_serverUrl = value;
}
}
public string ServerUrl => _ServerUrl;
public string AuthToken
{
get
{
return _authToken;
}
private set
{
_authToken = value;
}
}
public string AuthToken => _AuthToken;
public long? Userid
{
get
{
return _userid;
}
private set
{
_userid = value;
}
}
public long? Userid => _Userid;
public string Kundennummer => _Tenant;
public string Kundennummer
{
get
{
return _kundennummer;
}
private set
{
_kundennummer = value;
}
}
public string ApiKey => _ApiKey;
public string ApiKey
{
get
{
return _apikey;
}
private set
{
_apikey = value;
}
}
public long MaxUploadSize
{
get
{
return _maxUploadSize;
}
private set
{
_maxUploadSize = value;
}
}
public long MaxUploadSize => _MaxUploadSize;
}
}

View File

@@ -1,10 +1,6 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Collections.Generic;
namespace ChatController.Klassen
namespace ChatController.LoginKlassen
{
public class ChatGruppenDaten
{
@@ -14,19 +10,18 @@ namespace ChatController.Klassen
public bool Success { get; set; }
}
public class GroupInput
{
public long Oid { get; set; }
public string Name { get; set; }
public string Avatar { get; set; }
public string Mobile { get; set; }
public GroupLastMessage LastMessage { get; set; }
public GroupLatestMessage LastMessage { get; set; }
public GroupUsers[] Users { get; set; }
public bool Onlyemployees { get; set; }
public bool OnlyEmployees { get; set; }
}
public class GroupLastMessage
public class GroupLatestMessage
{
public long Id { get; set; }
public string Text { get; set; }
@@ -56,7 +51,7 @@ namespace ChatController.Klassen
public class LastMessageTimeStamp
{
public string Date { get; set; }
public int TimezoneType { get; set; }
public string Timezone { get; set; }
public int TimeZoneType { get; set; }
public string TimeZone { get; set; }
}
}

View File

@@ -1,10 +1,6 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Collections.Generic;
namespace ChatController.Klassen
namespace ChatController.LoginKlassen
{
public class UserDaten
{

View File

@@ -1,12 +1,6 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ChatController.Klassen
namespace ChatController.LoginKlassen
{
class UserMessages
public class UserMessages
{
public UserMessageInput Response { get; set; }
public string Message { get; set; }

View File

@@ -26,5 +26,7 @@ namespace ChatController.Utilities
public static readonly string ConfigFile = "ownChat.txt";
public static readonly string CompanyName = "beyondSoft";
public static readonly string ApplicationFolderName = "OwnChat";
public static readonly int NotificationTimeout = 1500;
}
}

View File

@@ -3,6 +3,7 @@ using System.Drawing;
using System.Drawing.Imaging;
using System.IO;
using System.Net;
using System.Windows.Forms;
using System.Windows.Media;
using System.Windows.Media.Imaging;
@@ -10,6 +11,8 @@ namespace ChatController.Utilities
{
public class Utils
{
public static NotifyIcon NotifyIcon = new NotifyIcon {Icon = Resource.ownchat_favicon, Visible = true};
public static ImageSource AvatarToImageSourceConverter(string pAvatarPath, bool pIsEmployee)
{
return CreateImageSourceFromPath(pAvatarPath, false, pIsEmployee);