Code verbessert
This commit is contained in:
@@ -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>
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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)
|
||||
{
|
||||
|
||||
@@ -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
@@ -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
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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; }
|
||||
}
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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; }
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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
|
||||
{
|
||||
|
||||
@@ -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; }
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user