update
This commit is contained in:
@@ -33,7 +33,7 @@ namespace ChatController
|
||||
/// </summary>
|
||||
public partial class ChatMainControl : UserControl
|
||||
{
|
||||
#region Vokabeln :)
|
||||
#region Vokabeln
|
||||
private Chat _chat;
|
||||
private AktuellerKontakt _aktuellerKontakt;
|
||||
|
||||
@@ -43,9 +43,7 @@ namespace ChatController
|
||||
|
||||
private IOrderedEnumerable<KontaktMessageBuilder> _Orderedmessagelist;
|
||||
private IOrderedEnumerable<KontaktlistBuilder> _kontaktlist;
|
||||
|
||||
private readonly List<KontaktMessageBuilder> _messagelist = new List<KontaktMessageBuilder>();
|
||||
|
||||
|
||||
private ChatDatenUebergabe _chatDaten;
|
||||
|
||||
private bool scrollPrueferAktivieren = false;
|
||||
@@ -155,12 +153,15 @@ namespace ChatController
|
||||
doSync = _chat.DoSynchronisation(_chatDaten.ApiKey, _chatDaten.Kundennummer);
|
||||
|
||||
if (doSync)
|
||||
{
|
||||
{
|
||||
SpeichereMessageInfoInDatei();
|
||||
var aktuelleGruppen = _chat.GruppenAktuallisieren();
|
||||
|
||||
var x = _chat.GroupklassenAktuallisieren(aktuelleGruppen);
|
||||
|
||||
_kontaktlist = x;
|
||||
|
||||
LeseMessageInfoAusDatei();
|
||||
|
||||
Dispatcher.BeginInvoke(
|
||||
DispatcherPriority.Normal,
|
||||
@@ -459,7 +460,6 @@ namespace ChatController
|
||||
|
||||
_chat.SendMessage(Chatbox.Text, kontakt.GroupId);
|
||||
|
||||
//UebergebeNachrichtAnKontaktList(Chatbox.Text);
|
||||
Chatbox.Text = "";
|
||||
|
||||
if (Chatbox.Text.Equals(""))
|
||||
@@ -505,8 +505,6 @@ namespace ChatController
|
||||
}
|
||||
|
||||
//hier bereich wie Dokumentieren
|
||||
|
||||
|
||||
}
|
||||
|
||||
private void Chatbox_OnKeyDownHandler(object sender, KeyEventArgs e)
|
||||
@@ -527,8 +525,7 @@ namespace ChatController
|
||||
|
||||
_chat.SendMessage(Chatbox.Text, kontakt.GroupId);
|
||||
|
||||
//UebergebeNachrichtAnKontaktList(Chatbox.Text);
|
||||
|
||||
|
||||
Chatbox.Text = "";
|
||||
|
||||
}
|
||||
@@ -551,36 +548,6 @@ namespace ChatController
|
||||
}
|
||||
}
|
||||
|
||||
private void UebergebeNachrichtAnKontaktList(string nachricht)
|
||||
{
|
||||
try
|
||||
{
|
||||
var aktuellerKontakt = (AktuellerKontakt)AktChatUser.Items[0];
|
||||
|
||||
foreach (var liste in _kontaktlist)
|
||||
{
|
||||
if (liste.GroupId == aktuellerKontakt.GroupId)
|
||||
{
|
||||
liste.ReceiveMs = nachricht;
|
||||
|
||||
//var clientZone = TimeZoneInfo.Local;
|
||||
|
||||
var x = DateTime.Now;
|
||||
|
||||
//var timeformated = TimeZoneInfo.ConvertTimeToUtc(x);
|
||||
|
||||
liste.TimeStamp = x;
|
||||
|
||||
liste.SetzeGelesen = 0;
|
||||
}
|
||||
}
|
||||
CollectionViewSource.GetDefaultView(Clientlist.Items).Refresh();
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
//einfach ignorieren
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region Add Emoji To ChatBox
|
||||
@@ -1004,8 +971,8 @@ namespace ChatController
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region speichern sowie lesen der MessageSyncDatei / stylezwecke
|
||||
|
||||
#region speichern sowie lesen der MessageSyncDatei / stylezwecke (OwnChat only)
|
||||
public void SpeichereMessageInfoInDatei()
|
||||
{
|
||||
List<KontaktlistBuilder> aa = new List<KontaktlistBuilder>();
|
||||
@@ -1041,11 +1008,49 @@ namespace ChatController
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Speichern Und LEsen Der MesageSyncDatei (Bewoplaner only)
|
||||
|
||||
public List<KontaktlistBuilder> UebergebeMessageInfoDatenFuerDb()
|
||||
{
|
||||
List < KontaktlistBuilder > aa = new List<KontaktlistBuilder>();
|
||||
|
||||
Clientlist.Items.Refresh();
|
||||
|
||||
foreach (var item in Clientlist.Items)
|
||||
{
|
||||
var kontakt = item as KontaktlistBuilder;
|
||||
|
||||
if (kontakt != null && kontakt.SetzeGelesen == 0 && !kontakt.ReceiveMs.Equals(""))
|
||||
{
|
||||
aa.Add(kontakt);
|
||||
}
|
||||
}
|
||||
|
||||
return aa;
|
||||
}
|
||||
|
||||
public void ErhalteMessageInfoVonDb(Dictionary<long,DateTime> liste)
|
||||
{
|
||||
if (liste != null)
|
||||
{
|
||||
foreach (var kon in _kontaktlist)
|
||||
{
|
||||
foreach (var item in liste)
|
||||
{
|
||||
if (kon.GroupId == item.Key)
|
||||
{
|
||||
kon.SetzeGelesen = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,6 +4,7 @@ using Newtonsoft.Json;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Drawing;
|
||||
using System.Drawing.Drawing2D;
|
||||
using System.Drawing.Imaging;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
@@ -19,6 +20,7 @@ using System.Windows.Media;
|
||||
using System.Windows.Media.Imaging;
|
||||
using Application = System.Windows.Forms.Application;
|
||||
using Clipboard = System.Windows.Forms.Clipboard;
|
||||
using Color = System.Drawing.Color;
|
||||
using ContextMenu = System.Windows.Controls.ContextMenu;
|
||||
using DataFormats = System.Windows.Forms.DataFormats;
|
||||
using Image = System.Windows.Controls.Image;
|
||||
@@ -950,9 +952,53 @@ namespace ChatController.HauptKlassen
|
||||
|
||||
string filename = Path.GetFileName(file);
|
||||
|
||||
|
||||
SendMediaMessage(filename, kontakt.GroupId, mdatei);
|
||||
|
||||
//Medium auflösung auf 80 % vom original setzen
|
||||
//Image x = (Bitmap)((new ImageConverter()).ConvertFrom(mdatei));
|
||||
|
||||
// image wieder in byte[] umwandeln und übergeben
|
||||
if (ImageExtensions.Contains(Path.GetExtension(filename).ToUpperInvariant())){
|
||||
var scaledImage = ScaleImage(mdatei);
|
||||
|
||||
SendMediaMessage(filename, kontakt.GroupId, scaledImage);
|
||||
}
|
||||
else
|
||||
{
|
||||
SendMediaMessage(filename, kontakt.GroupId, mdatei);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private byte[] ScaleImage(byte[] mdatei)
|
||||
{
|
||||
try
|
||||
{
|
||||
MemoryStream ms = new MemoryStream(mdatei);
|
||||
System.Drawing.Image Image = System.Drawing.Image.FromStream(ms);
|
||||
|
||||
int width = (int) (Image.Width / 100 * 80);
|
||||
int height = (int) (Image.Height / 100 * 80);
|
||||
System.Drawing.Bitmap bmpScaled = new System.Drawing.Bitmap(Image);
|
||||
|
||||
using (Graphics gr = Graphics.FromImage(Image))
|
||||
{
|
||||
gr.Clear(Color.Transparent);
|
||||
|
||||
// This is said to give best quality when resizing images
|
||||
gr.InterpolationMode = InterpolationMode.Default; // InterpolationMode.HighQualityBicubic;
|
||||
|
||||
gr.DrawImage(bmpScaled, 0, 0, width, height);
|
||||
}
|
||||
|
||||
ImageConverter converter = new ImageConverter();
|
||||
byte[] imageData = (byte[]) converter.ConvertTo(bmpScaled, typeof(byte[]));
|
||||
|
||||
return imageData;
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
MessageBox.Show(e.Message, "Fehler");
|
||||
return mdatei;
|
||||
}
|
||||
}
|
||||
|
||||
private static byte[] ReadFully(Stream stream)
|
||||
|
||||
Reference in New Issue
Block a user