public static Models.ValidationResult ValidateImage(Models.Image image, bool isNewImage)
{
var validationResult = new Models.ValidationResult();
if (string.IsNullOrEmpty(image.Name) || !image.Name.All(c => char.IsLetterOrDigit(c) || c == '_' || c == '-'))
{
validationResult.IsValid = false;
validationResult.Message = "Image Name Is Not Valid";
return validationResult;
}
if (isNewImage)
{
using (var uow = new DAL.UnitOfWork())
{
if (uow.ImageRepository.Exists(h => h.Name == image.Name))
{
validationResult.IsValid = false;
validationResult.Message = "This Image Already Exists";
return validationResult;
}
}
}
else
{
using (var uow = new DAL.UnitOfWork())
{
var originalImage = uow.ImageRepository.GetById(image.Id);
if (originalImage.Name != image.Name)
{
if (uow.ImageRepository.Exists(h => h.Name == image.Name))
{
validationResult.IsValid = false;
validationResult.Message = "This Image Already Exists";
return validationResult;
}
}
}
}
return validationResult;
}