public static Models.ValidationResult ValidateGroup(Models.Group group, bool isNewGroup)
{
var validationResult = new Models.ValidationResult();
if (string.IsNullOrEmpty(group.Name) || !group.Name.All(c => char.IsLetterOrDigit(c) || c == '_'))
{
validationResult.IsValid = false;
validationResult.Message = "Group Name Is Not Valid";
return validationResult;
}
if (isNewGroup)
{
using (var uow = new DAL.UnitOfWork())
{
if (uow.GroupRepository.Exists(h => h.Name == group.Name))
{
validationResult.IsValid = false;
validationResult.Message = "This Group Already Exists";
return validationResult;
}
}
}
else
{
using (var uow = new DAL.UnitOfWork())
{
var originalGroup = uow.GroupRepository.GetById(group.Id);
if (originalGroup.Name != group.Name)
{
if (uow.GroupRepository.Exists(h => h.Name == group.Name))
{
validationResult.IsValid = false;
validationResult.Message = "This Group Already Exists";
return validationResult;
}
}
}
}
return validationResult;
}