public void Registration() { try { using (var context = new DropBoxContext()) { if (context.Users.Any(item => item.Key == key || item.Login == NewCommand.Key)) { throw new Exception(); } User user = new User { Login = NewCommand.Key, Key = key, Password = NewCommand.FileWay }; context.Users.Add(user); context.SaveChanges(); answer.Add(REGISTRATION + " " + "true"); answer.Add("Регистрация прошла успешно"); MySocket.Send(ConvertList.ListToByteArray(answer)); answer.Clear(); } } catch (Exception e) { Console.WriteLine(e.Message); answer.Add(REGISTRATION + " " + "false"); answer.Add("Пльзователь с таким логином или ключом уже присутствует"); MySocket.Send(ConvertList.ListToByteArray(answer)); answer.Clear(); } }
public void DeleteFile() { try { itemNeedToDelete = NewCommand.Key; var task = Task.Run(DeleteItem); task.Wait(); answer.Add(DELETE_ITEM); answer.Add("Файл удален"); using (var context = new DropBoxContext()) { if (context.FilesInfo.ToList().Count != 0) { int userId = context.Users.ToList().Find(item => item.Key == key).Id; FileInfo info = context.FilesInfo.ToList().Find(item => item.UserId == userId && item.IsDeleted == false && item.FileWay == itemNeedToDelete); if (info != null) { info.IsDeleted = true; info.DeletedDate = DateTime.Now; FileInfo oldInfo = context.FilesInfo.ToList().Find(item => item.UserId == userId && item.IsDeleted == false && item.FileWay == itemNeedToDelete); int index = context.FilesInfo.ToList().IndexOf(oldInfo); if (index != -1) { context.FilesInfo.ToList()[index] = info; } context.SaveChanges(); } } } MySocket.Send(ConvertList.ListToByteArray(answer)); answer.Clear(); } catch (AggregateException) { NewCommand.Key = "false"; answer.Add(DELETE_ITEM + " false"); answer.Add("Ошибка при удалении"); MySocket.Send(ConvertList.ListToByteArray(answer)); answer.Clear(); } }
public void UploadFile() { try { fromFileDownload = NewCommand.Key; toFileSave = NewCommand.FileWay; var task = Task.Run(DropBoxUploadFile); task.Wait(); answer.Add(UPLOAD_FILE); answer.Add("Файл успешно загружен"); using (var context = new DropBoxContext()) { FileInfo info = new FileInfo(); info.UserId = context.Users.ToList().Find(item => item.Key == key).Id; info.FileWay = toFileSave; string[] words = toFileSave.Split(new char[] { '/' }, StringSplitOptions.RemoveEmptyEntries); info.FileName = words.Last(); info.IsDeleted = false; info.CreationDate = DateTime.Now; info.DeletedDate = null; context.FilesInfo.Add(info); context.SaveChanges(); } MySocket.Send(ConvertList.ListToByteArray(answer)); answer.Clear(); } catch (AggregateException) { Console.WriteLine("Ошибка при загрузке,возможно вы выбрали не папку а файл для загрузки файла"); NewCommand.Key = "false"; answer.Clear(); answer.Add(UPLOAD_FILE + " false"); answer.Add("Ошибка при загрузке,возможно вы выбрали не папку для загрузки файла"); MySocket.Send(ConvertList.ListToByteArray(answer)); answer.Clear(); } }