public static void DeleteDirectory(Packet packet)
        {
            Packet sendPacket;

            try
            {
                string[] splited = packet.Argument.Split(char.Parse("|"));
                Project  project = new Project(splited[0]);
                string   path    = splited[1];
                ConsoleUtils.Print(string.Format("[{0}]'s Request: Delete directory to project {1} [{2}]", packet.ClientIP, project.ProjectName, packet.Username));

                DirectoryFileHelper.DeleteDirectory(project.FullPath + path);

                sendPacket = PacketParser.CreatePacketWithToken(ResponseEnum.Success, packet.Token);
                packet.Stream.Write(sendPacket.GetBytes(), 0, sendPacket.Length);
                ConsoleUtils.Print(string.Format("[{0}]'s Request: Deleting directory success: {1} [{2}]", packet.ClientIP, path.Substring(path.LastIndexOf(char.Parse("/"))), packet.Username));
            }
            catch (Exception e)
            {
                ConsoleUtils.Print(string.Format("Delete Directory Error: [{0}] {1}", e.GetType().ToString(), e.Message));
                sendPacket = PacketParser.CreatePacketWithToken(ResponseEnum.Failure, packet.Token);
                packet.Stream.Write(sendPacket.GetBytes(), 0, sendPacket.Length);
                return;
            }
        }
        internal static void DeleteProject(Project project)
        {
            if (project == null)
            {
                throw new ArgumentNullException("Can't find inputed project.");
            }

            const string config     = @"/etc/smb.conf";
            int          LineNumber = -1;

            using (var setting = new FileStream(config, FileMode.Open, FileAccess.Read))
            {
                int          count = 0;
                StreamReader best  = new StreamReader(setting);
                do
                {
                    string getIn = best.ReadLine();
                    if (getIn == string.Format(@"#[{0}]", project.ProjectName))
                    {
                        LineNumber = count;
                        break;
                    }
                    else if (getIn == string.Format(@"[{0}]", project.ProjectName))
                    {
                        throw new MemberAccessException("The project is not deactivated.");
                    }
                    else
                    {
                        count++;
                    }
                }while (!best.EndOfStream);
                best.Close();
                setting.Close();
            }
            if (LineNumber == -1)
            {
                throw new EntryPointNotFoundException("Couldn't find the project name in the config.");
            }

            List <string> append = new List <string>(File.ReadAllLines(config));

            for (int i = 0; i <= 11; i++)
            {
                append.RemoveAt(LineNumber);
            }
            File.WriteAllLines(config, append.ToArray());
            UpdateAppendedProject();
            DirectoryFileHelper.RenameDirectory(project.FullPath, project.FullPath.Insert(9, "Trash/"));
        }