private void CompleteWithNotChangedOriginFiles(UpdateMashupCommandArg commandArg) { var originMashup = _scriptStorage.GetMashup(commandArg.OldName); var filesToBeAdded = originMashup.Files .Where(x => !commandArg.Files.Any(y => y.FileName.Equals(x.FileName, StringComparison.InvariantCultureIgnoreCase))) .ToArray(); if (filesToBeAdded.Any()) { commandArg.Files.AddRange(filesToBeAdded); } }
private PluginProfileErrorCollection UpdateInternal(UpdateMashupCommandArg commandArg) { var errors = commandArg.ValidateUpdate(ManagerProfile); if (errors.Any()) { return(errors); } CompleteWithNotChangedOriginFiles(commandArg); _scriptStorage.SaveMashup(commandArg); _bus.Send(commandArg.CreatePluginMashupMessage()); _log.InfoFormat("Update mashup commnad sent to TP (Mashup '{0}' for account '{1}')", commandArg.Name, _context.AccountName.Value); return(new PluginProfileErrorCollection()); }
public PluginProfileErrorCollection Update(UpdateMashupCommandArg commandArg) { if (commandArg.IsNameChanged()) { CompleteWithNotChangedOriginFiles(commandArg); var addErrors = Add(commandArg, false); if (!addErrors.Any()) { var deleteErrors = Delete(commandArg.OldName); foreach (var error in deleteErrors) { addErrors.Add(error); } } return(addErrors); } return(UpdateInternal(commandArg)); }