Advertisement
Gumpshen

Untitled

Oct 14th, 2019
111
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.19 KB | None | 0 0
  1. private string GenerateFormFieldUniqueName(string currentName)
  2. {
  3. currentName = GetNameWithoutBrackets(currentName);
  4. currentName = currentName.UniqueName();
  5. try
  6. {
  7. var lastOccurence = _formFieldRepository.GetAll()
  8. .OrderByDescending(x => x.Id)
  9. .FirstOrDefault(x => x.UniqueName.StartsWith(currentName));
  10.  
  11. if (lastOccurence == null) return currentName;
  12. if (lastOccurence.UniqueName == currentName) return $"{currentName}1";
  13.  
  14. var tail = lastOccurence.UniqueName.Replace(currentName, "");
  15.  
  16. int count = 0;
  17.  
  18. var tailHasIndex = int.TryParse(tail, out count);
  19.  
  20. var generatedName = tailHasIndex ? string.Format(currentName, count+1) : currentName;
  21.  
  22. if (_formFieldRepository.GetAll().All(f => f.UniqueName != generatedName)) return generatedName;
  23.  
  24. return GenerateFormFieldUniqueName($"{generatedName}-2");
  25.  
  26. }
  27. catch (Exception e)
  28. {
  29. throw new UserFriendlyException(e.Message);
  30. }
  31. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement