Die Akzentfarbe von den Chatgruppen vom Server wird berücksichtigt. Bilder sind im richtigen Seitenverhältnis skaliert. Ein Bild, das man gerade erst verschickt hat und das man öffnen will, bevor es auf dem Server angekommen ist, wird jetzt erst angezeigt, sobald es auf dem Server ist. Die Textbox für eine neue Nachricht wird nur angezeigt, wenn eine Gruppe ausgewählt ist und wenn man das Recht hat Nachrichten an diese Gruppe zu verschicken. Diverse Codeverbesserungen.
97 lines
2.7 KiB
C#
97 lines
2.7 KiB
C#
using System.Collections.Generic;
|
|
using System.IO;
|
|
using Newtonsoft.Json;
|
|
|
|
namespace ChatController.LoginKlassen
|
|
{
|
|
/// <summary>
|
|
/// Konvertiertes Objekt vom Server mit den Gruppen, Meldungen, Fehlern und ob die Abfragen an den Server erfolgreich war
|
|
/// </summary>
|
|
public class ChatGruppenDaten
|
|
{
|
|
public ChatGruppenDatenResponse Response { get; set; }
|
|
}
|
|
|
|
public class GroupInput
|
|
{
|
|
public int Oid { get; set; }
|
|
public string Name { get; set; }
|
|
public string Avatar { get; set; }
|
|
public string Mobile { get; set; }
|
|
public GroupLatestMessage LastMessage { get; set; }
|
|
public GroupUsers[] Users { get; set; }
|
|
public bool OnlyEmployees { get; set; }
|
|
|
|
[JsonProperty("accent_color")]
|
|
public string AccentColor { get; set; }
|
|
|
|
[JsonProperty("i_can_write")]
|
|
public bool CanWrite { get; set; }
|
|
|
|
[JsonProperty("i_can_see_participants")]
|
|
public bool CanSeeParticipants { get; set; }
|
|
}
|
|
|
|
public class GroupLatestMessage
|
|
{
|
|
public long Id { get; set; }
|
|
|
|
private string _Text;
|
|
public string Text
|
|
{
|
|
get
|
|
{
|
|
var result = _Text;
|
|
|
|
if (string.IsNullOrEmpty(_Text) && !string.IsNullOrEmpty(File))
|
|
{
|
|
result = Path.GetFileName(File);
|
|
}
|
|
|
|
if (!string.IsNullOrEmpty(_Text) && _Text.Length > 25)
|
|
{
|
|
result = _Text.Substring(0, 25) + "...";
|
|
}
|
|
|
|
return result;
|
|
}
|
|
|
|
set => _Text = value;
|
|
}
|
|
|
|
public string File { get; set; }
|
|
public string OriginalFileName { get; set; }
|
|
public string SmallerImage { get; set; }
|
|
public LastMessageTimeStamp Timestamp { get; set; }
|
|
public long CreatedAt { get; set; }
|
|
public long UserId { get; set; }
|
|
public string UserIdManage { get; set; }
|
|
public string UserName { get; set; }
|
|
public string UserPicture { get; set; }
|
|
public string GroupId { get; set; }
|
|
}
|
|
|
|
public class GroupUsers
|
|
{
|
|
public long Oid { get; set; }
|
|
public string Userid_Manage { get; set; }
|
|
public string Firstname { get; set; }
|
|
public string Lastname { get; set; }
|
|
public string Mobile { get; set; }
|
|
public string Picture { get; set; }
|
|
public bool Is_Employee { get; set; }
|
|
}
|
|
|
|
public class LastMessageTimeStamp
|
|
{
|
|
public string Date { get; set; }
|
|
public int TimeZoneType { get; set; }
|
|
public string TimeZone { get; set; }
|
|
}
|
|
|
|
public class ChatGruppenDatenResponse
|
|
{
|
|
public List<GroupInput> Groups { get; set; }
|
|
}
|
|
}
|