Example #1
0
 private void ExecuteRequestTask()
 {
     if (args.Length < 2)
     {
         OutputRequestList();
         return;
     }
     if (args [0].ToLowerInvariant().Equals(Constants.RequestAdd))
     {
         string requestName = args [1];
         Log.Debug("REQUEST ADD '{0}'", requestName);
         string request = Misc.PathCombine(Config.RequestFolder, Config.RequestPrefix + requestName);
         string creator = IoEnvironment.GetUserName();
         string groupname = IoEnvironment.GetGroupName();
         var dateTime = new DateTime(DateTime.UtcNow.Ticks);
         var requestTask = new RequestTask
                           {
                               Username = creator,
                               Groupname = groupname,
                               DateAdded = dateTime,
                               Name = requestName,
                           };
         if (taskConfiguration.RequestTasks != null)
         {
             List<RequestTask> requestTasks = taskConfiguration.RequestTasks.ToList();
             RequestTask task = requestTasks.Find(r => r.Name == requestName);
             if (task == null)
             {
                 //add
                 requestTasks.Add(requestTask);
                 taskConfiguration.RequestTasks = requestTasks.ToArray();
                 if (!request.DirectoryExists())
                 {
                     FileInfo.CreateFolder(request);
                 }
                 if (Config.LogToIoFtpdRequest)
                 {
                     var output = new Output();
                     Log.IoFtpd(output.FormatRequestTask(Config.LogLineIoFtpdRequest, requestTask));
                 }
                 if (Config.LogToInternalRequest)
                 {
                     var output = new Output();
                     Log.Internal(output.FormatRequestTask(Config.LogLineInternalRequest, requestTask));
                 }
             }
             else
             {
                 Log.Debug("REQUEST allready exists!");
             }
         }
         else
         {
             taskConfiguration.RequestTasks = new[] {requestTask};
         }
         SaveConfiguration();
         OutputRequestList();
         return;
     }
     if (args [0].ToLowerInvariant().Equals(Constants.RequestDel))
     {
         string requestName = args [1];
         Log.Debug("REQUEST DEL '{0}'", requestName);
         string request = Misc.PathCombine(Config.RequestFolder, Config.RequestPrefix + requestName);
         if (taskConfiguration.RequestTasks != null)
         {
             List<RequestTask> requestTasks = taskConfiguration.RequestTasks.ToList();
             RequestTask requestTask = requestTasks.Find(task => task.Name == requestName);
             if (requestTask != null)
             {
                 requestTasks.Remove(requestTask);
             }
             taskConfiguration.RequestTasks = requestTasks.ToArray();
             SaveConfiguration();
             if (Config.LogToIoFtpdRequestDeleted)
             {
                 var output = new Output();
                 Log.IoFtpd(output.FormatRequestTask(Config.LogLineIoFtpdRequestDeleted, requestTask));
             }
             if (Config.LogToInternalRequestDeleted)
             {
                 var output = new Output();
                 Log.Internal(output.FormatRequestTask(Config.LogLineInternalRequestDeleted, requestTask));
             }
         }
         if (request.DirectoryExists())
         {
             request.KickUsersFromDirectory();
             request.RemoveFolder();
         }
         OutputRequestList();
         return;
     }
     if (args [0].ToLowerInvariant().Equals(Constants.RequestFill))
     {
         string requestName = args [1];
         Log.Debug("REQUEST FILL '{0}'", requestName);
         string request = Misc.PathCombine(Config.RequestFolder, Config.RequestPrefix + requestName);
         if (taskConfiguration.RequestTasks != null)
         {
             List<RequestTask> requestTasks = taskConfiguration.RequestTasks.ToList();
             RequestTask requestTask = requestTasks.Find(task => task.Name == requestName);
             if (requestTask != null)
             {
                 requestTasks.Remove(requestTask);
             }
             taskConfiguration.RequestTasks = requestTasks.ToArray();
             SaveConfiguration();
             if (Config.LogToIoFtpdRequestFilled)
             {
                 var output = new Output();
                 Log.IoFtpd(output.FormatRequestTask(Config.LogLineIoFtpdRequestFilled, requestTask));
             }
             if (Config.LogToInternalRequestFilled)
             {
                 var output = new Output();
                 Log.Internal(output.FormatRequestTask(Config.LogLineInternalRequestFilled, requestTask));
             }
         }
         if (request.DirectoryExists())
         {
             request.KickUsersFromDirectory();
             Directory.Move(request, Misc.PathCombine(Config.RequestFolder, Config.RequestFilled + requestName));
         }
         OutputRequestList();
     }
 }
Example #2
0
 public string FormatRequestTask(string line,
     RequestTask requestTask)
 {
     string formatRequestTask = MinimumLength(line) || requestTask == null
                                    ? line
                                    : String.Format(new MyFormat(), line
                                                    , requestTask.Name // {0}
                                                    , requestTask.DateAdded.ToString("yyyy-MM-dd") // {1}
                                                    , requestTask.Username // {2}
                                                    , Constants.CodeNewLine //{3}
                                                    , requestTask.Groupname); //{4}
     Log.Debug("FormatRequestTask: " + formatRequestTask);
     return formatRequestTask;
 }