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(); } }
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; }