/// <summary> /// Load Avatar from server for specific user /// Then assign source for Image Control /// </summary> /// <param name="imgControl"></param> /// <param name="username"></param> public static void LoadAvatarFromServer(Image imgControl, string username) { if (App.Proxy.IsUserHasAvatar(username)) { ZolaService.DataFile avatarFile = App.Proxy.GetAvatarFile(username); AvatarHelper.SaveAvatar(username, avatarFile); imgControl.Source = CreateBitMapFromPath(AvatarHelper.GetAvatarPath(username)); } }
private void FindFriendAvatar_DoWork(object sender, DoWorkEventArgs e) { ZolaService.DataFile avatar = null; string username = e.Argument.ToString(); if (App.Proxy.IsUserHasAvatar(username)) { avatar = App.Proxy.GetAvatarFile(username); AvatarHelper.SaveAvatar(username, avatar); } e.Result = username; }
private void AvatarWorker_DoWork(object sender, DoWorkEventArgs e) { ZolaService.DataFile avatar = null; string username = e.Argument.ToString(); e.Result = username; if (AvatarHelper.GetAvatarExtension(username) != null) { return; } if (App.Proxy.IsUserHasAvatar(username)) { avatar = App.Proxy.GetAvatarFile(username); AvatarHelper.SaveAvatar(username, avatar); } }
/// <summary> /// Save Avatar image into avatar folder /// If exist avatar file, it will be deleted /// </summary> /// <param name="username"></param> /// <param name="avatarFile"></param> public static void SaveAvatar(string username, ZolaService.DataFile avatarFile) { FileInfo file; for (int i = 0; i < SUPPORT_AVATAR_EXTENSIONS.Length; i++) { file = new FileInfo(AVATAR_PATH + username + "." + SUPPORT_AVATAR_EXTENSIONS[i]); if (file.Exists) { //System.GC.Collect(); //System.GC.WaitForPendingFinalizers(); File.Delete(file.FullName); } } int wildcardPos = avatarFile.FileName.LastIndexOf('.'); string filename = username + avatarFile.FileName.Substring(wildcardPos); File.WriteAllBytes(AVATAR_PATH + filename, avatarFile.Data); }
private void btnUpdateImage_Click(object sender, RoutedEventArgs e) { FileInfo file = new FileInfo(openFile.FileName); ZolaService.DataFile newAvatar = new ZolaService.DataFile() { FileName = file.Name, Data = File.ReadAllBytes(file.FullName) }; if (App.Proxy.UpdateAvatar(_curUser.Username, newAvatar)) { //MessageBox.Show("update avatar complete"); NotificationHelper.NotifyInfo("Update Avatar Complete"); } else { //MessageBox.Show("error"); NotificationHelper.NotifyError("Update Avatar Failed"); } }