private void ValidateCreateRequest(CreateContentTypeRequest request) { if (request == null) { throw new ValidationException("common.errors.invalidRequest"); } if (string.IsNullOrWhiteSpace(request.Name)) { throw new ValidationException("setting.addOrUpdateContentType.validation.nameIsRequired"); } IContentTypeRepository repo = IoC.Container.Resolve <IContentTypeRepository>(); if (repo.GetByName(request.Name) != null) { throw new ValidationException("setting.addOrUpdateContentType.validation.nameAlreadyExisted"); } if (string.IsNullOrWhiteSpace(request.Key)) { throw new ValidationException("setting.addOrUpdateContentType.validation.keyIsRequired"); } if (request.Key.Contains(" ")) { throw new ValidationException("setting.addOrUpdateContentType.validation.keyShouldNotHaveWhiteSpace"); } if (repo.GetByKey(request.Key) != null) { throw new ValidationException("setting.addOrUpdateContentType.validation.keyAlreadyExisted"); } }
public void CreateIfNotExist(IList <CreateContentTypeRequest> request) { using (IUnitOfWork uow = new UnitOfWork(new AppDbContext(IOMode.Write))) { IContentTypeRepository repo = IoC.Container.Resolve <IContentTypeRepository>(uow); foreach (CreateContentTypeRequest item in request) { if (repo.GetByKey(item.Key) != null) { continue; } ContentType contentType = new ContentType(item.Name, item.Key, item.Description); repo.Add(contentType); } uow.Commit(); } }