예제 #1
0
        private static void deleteFile(NetworkStream nws, byte[] data)
        {
            //dejar borrar si alguno lo esta leyendo/escribiendo?
            //si lo dejo, que hacer con los permisos otorgados?
            var fileName = Encoding.ASCII.GetString(data);

            lock (lock_object)
            {
                Files selectedFile = findFile(fileName);
                //verifico que el archivo existe, no esta siendo editado, y no esta siendo leido para poder mandarlo
                if (selectedFile != null && !selectedFile.isBeingEdited() && !selectedFile.isBeingRead())
                {
                    if (File.Exists(startupPath + "\\" + fileName))
                    {
                        File.Delete(startupPath + "\\" + fileName);
                        var serverResponse = protocol.createDeleteFileOkResponse("Archivo Borrado");
                        nws.Write(serverResponse, 0, serverResponse.Length);
                        serverFiles.RemoveAll(x => x.name.Equals(fileName));
                        LoggerSender.Log("Se Borrar al archivo " + fileName + " \n");
                    }
                    else
                    {
                        sendError(nws, "No existe el archivo");
                    }
                }
                else
                {
                    sendError(nws, "El archivo esta en uso, no puedes renombrarlo");
                }
            }
        }
        public bool AddAdmin(string name, string password)
        {
            var admin = new Administrator(name, password);

            LoggerSender.Log("Create Admin:Username: "******"Password: " + password);
            return(SD.AddAdmin(admin));
        }
        public bool LoginAdmin(string name, string password)
        {
            var admin = new Administrator(name, password);
            var a     = SD.AdminLogin(admin);

            LoggerSender.Log("Admin login: Username: "******" Password: " + password);
            return(a);
        }
 public bool Update(string originalName, string newName, string password)
 {
     if (!userData.Exists(newName))
     {
         Administrator user = new Administrator(newName, password);
         LoggerSender.Log("Se Actualiza al usuario " + newName + " \n");
         return(userData.Update(originalName, user));
     }
     else
     {
         throw new UserException("Ya existe un usuario con ese nombre");
     }
 }
        public void AddUser(string name, string password)
        {
            Administrator user = new Administrator(name, password);

            if (!userData.Exists(name))
            {
                LoggerSender.Log("Se agrega un usuario \n");
                userData.Add(user);
            }
            else
            {
                throw new UserException("Ya existe un usuario con ese nombre");
            }
        }
예제 #6
0
        private static void createFile(NetworkStream nws, byte[] data)
        {
            var response = Encoding.ASCII.GetString(data);
            var fileData = response.Split(new char[] { '|' }, 2);

            byte[] fileText;
            if (fileData.Length > 1)
            {
                fileText = Encoding.ASCII.GetBytes(fileData[1]);
            }
            else
            {
                fileText = new byte[0];
            }
            string[] files = GetFileNames(startupPath);

            if (files.Contains(fileData[0]))
            {
                var fileNameData  = fileData[0].Split(new char[] { '.' }, 2);
                var fileName      = fileNameData[0];
                var fileExtension = fileNameData[1];
                fileData[0] = fileName + "_copy." + fileExtension;
            }
            try
            {
                downloadNewFile(fileData[0], fileText);
                Files newFile = new Files();
                newFile.name = fileData[0];
                newFile.path = startupPath + '\\' + fileData[0];
                serverFiles.Add(newFile);
                LoggerSender.Log("Se Crea al archivo " + fileData[0] + " \n");
            }
            catch (ArgumentException ex)
            {
                sendError(nws, ex.Message);
            }
            var serverResponse = protocol.createFileOkResponse("Archivo Creado");

            nws.Write(serverResponse, 0, serverResponse.Length);
        }
 public bool Delete(string name)
 {
     LoggerSender.Log("Se Borrar al usuario " + name + " \n");
     return(userData.Delete(name));
 }
 public bool DeleteAdmin(string name)
 {
     LoggerSender.Log("Delete Admin: Username: " + name);
     return(SD.DeleteAdmin(name));
 }
 public bool ModifyAdmin(string name, string newName)
 {
     LoggerSender.Log("Modify Admin:Old name: " + name + "New name: " + newName);
     return(SD.ModifyAdmin(name, newName));
 }