Beispiel #1
0
 /// <summary>
 /// Метод для обработки события нажания на кнопку "Сохранить файл".
 /// </summary>
 /// <param name="sender"> объект, инициировавший событие </param>
 /// <param name="e"> аргумент, хранящий информацию о событии </param>
 private void ButtonClickSaveFile(object sender, RoutedEventArgs e)
 {
     lSavedFile.Visibility = Visibility.Visible;
     tbSavedFile.Text      = "Файл сохранен в Dowloads";
     lSavedFile.IsEnabled  = true;
     IrisLib.File file = new IrisLib.File();
     if (lbFile.SelectedItem != null)
     {
         file.Name = lbFile.SelectedItem.ToString();
         ClientData.client.GetFileFromHost(file.Name, ClientData.idOnServer, ClientData.CurrentUser.CurrentChatID);
     }
     else
     {
         tbSavedFile.Text = "Файл не выбран";
     }
 }
Beispiel #2
0
 /// <summary>
 /// Метод для получения файла с сервера.
 /// </summary>
 /// <param name="file"> получаемый файл </param>
 public void FileCallback(IrisLib.File file)
 {
     try
     {
         if (!Directory.Exists("..\\..\\Downloads\\" + database.GetChatFromList(CurrentUser.CurrentChatID).Name))
         {
             Directory.CreateDirectory("..\\..\\Downloads\\" + database.GetChatFromList(CurrentUser.CurrentChatID).Name);
         }
         using (FileStream fs = new FileStream("..\\..\\Downloads\\" + database.GetChatFromList(CurrentUser.CurrentChatID).Name + "\\" + file.Name, FileMode.OpenOrCreate))
         {
             Console.WriteLine(file.Name);
             fs.Write(file.Binary, 0, file.Binary.Length);
         }
     }
     catch { }
 }
Beispiel #3
0
        /// <summary>
        /// Метод для обработки события нажания на кнопку "Отправить файл".
        /// </summary>
        /// <param name="sender"> объект, инициировавший событие </param>
        /// <param name="e"> аргумент, хранящий информацию о событии </param>
        private void ButtonClickSendFile(object sender, RoutedEventArgs e)
        {
            if (ClientData.client != null && ClientData.CurrentUser.CurrentChatID != -1)
            {
                if (!ClientData.database.GetChatFromList(ClientData.CurrentUser.CurrentChatID).IsUserInChatSilent(ClientData.CurrentUser.ID))
                {
                    Microsoft.Win32.OpenFileDialog dlg = new Microsoft.Win32.OpenFileDialog();

                    Nullable <bool> result = dlg.ShowDialog();
                    if (result == true)
                    {
                        string filename = dlg.FileName;
                    }
                    else
                    {
                        return;
                    }

                    System.IO.StreamReader streamReader;
                    IrisLib.File           file = new IrisLib.File();

                    streamReader = new System.IO.StreamReader(dlg.FileName);
                    FileStream stream = (FileStream)dlg.OpenFile();
                    using (var memoryStream = new MemoryStream())
                    {
                        stream.CopyTo(memoryStream);
                        file.Binary = memoryStream.ToArray();
                        file.Name   = dlg.FileName.Split(new char[] { '\\' })[dlg.FileName.Split(new char[] { '\\' }).Length - 1];
                    }

                    if (ClientData.database.GetFilesFromDB(ClientData.CurrentUser.CurrentChatID).Contains(file.Name))
                    {
                        tbSavedFile.Text      = "Файл с таким именем уже существует";
                        lSavedFile.Visibility = Visibility.Visible;
                        return;
                    }

                    ButtonClickShowFiles(sender, e);
                    streamReader.Close();

                    ClientData.client.SendFileToHost(ClientData.CurrentUser, ClientData.CurrentUser.CurrentChatID, file);
                }
            }
        }
Beispiel #4
0
 /// <summary>
 /// Метод для получения файла с сервера.
 /// </summary>
 /// <param name="file"></param>
 public void FileCallback(IrisLib.File file)
 {
     throw new NotImplementedException();
 }