Ejemplo n.º 1
0
        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();
            }
        }
Ejemplo n.º 2
0
        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();
            }
        }
Ejemplo n.º 3
0
        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();
            }
        }