示例#1
0
 /// <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));
     }
 }
示例#2
0
        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;
        }
示例#3
0
        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);
            }
        }
示例#4
0
        /// <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);
        }
示例#5
0
        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");
            }
        }