public void DeleteLanguageValidatorShouldReturnFalseWhenIdIsNull() { IValidator <DeleteLanguageRequest> validator = new DeleteLanguageValidator(); var request = new DeleteLanguageRequest() { Id = null }; Assert.IsFalse(validator.IsRequestValid(request)); }
public void DeleteLanguageValidatorShouldReturnTrueWithValidRequest() { IValidator <DeleteLanguageRequest> validator = new DeleteLanguageValidator(); var request = new DeleteLanguageRequest() { Id = "1" }; Assert.IsTrue(validator.IsRequestValid(request)); }
public DeleteLanguageResponse DeleteLnaguage(DeleteLanguageRequest request) { DeleteLanguageResponse response = new DeleteLanguageResponse(); try { _languageRepository.Delete(request.LanguageId); response.Success = true; } catch (Exception ex) { response.Success = false; response.Message = ex.Message; } return(response); }
/// <summary> /// Deletes the specified request. /// </summary> /// <param name="request">The request.</param> /// <returns><c>DeleteLanguageResponse</c> with success status.</returns> public DeleteLanguageResponse Delete(DeleteLanguageRequest request) { if (request.Data == null || request.Id.HasDefaultValue()) { return(new DeleteLanguageResponse { Data = false }); } var futurePages = repository.AsQueryable <Module.Root.Models.Page>() .Where(p => p.Language != null && p.Language.Id == request.Id) .Select(p => p.Id) .ToFuture(); var itemToDelete = repository .AsQueryable <Module.Root.Models.Language>() .Where(p => p.Id == request.Id) .ToFuture() .FirstOne(); if (request.Data.Version > 0 && itemToDelete.Version != request.Data.Version) { throw new ConcurrentDataException(itemToDelete); } if (futurePages.ToList().Any()) { var message = string.Format("Cannot delete language {0}, because it's used in pages.", itemToDelete.Name); throw new CmsApiValidationException(message); } unitOfWork.BeginTransaction(); repository.Delete(itemToDelete); unitOfWork.Commit(); Events.RootEvents.Instance.OnLanguageDeleted(itemToDelete); return(new DeleteLanguageResponse { Data = true }); }
public ActionResult Delete(int id) { DeleteLanguageRequest request = new DeleteLanguageRequest() { LanguageId = id }; DeleteLanguageResponse response = _languageService.DeleteLnaguage(request); if (response.Success) { return(RedirectToAction("Index")); } else { LanguageListPageViewModel model = new LanguageListPageViewModel(); model.Success = false; model.Message = response.Message; return(View("Index", model)); } }
public void Setup() { AutoMapperConfig.RegisterMappings(); this.context = new MongoContextTestHelper(); this.repo = new LanguageRepository(context); RemoveAllTestLanguages(); InsertTestLanguage(); var language = context.Collection <LanguageEntity>()?.Find(x => true).FirstOrDefault(); this.request = new DeleteLanguageRequest() { Id = language.Id }; this.trueValidator = Substitute.For <IValidator <DeleteLanguageRequest> >(); trueValidator.IsRequestValid(request).Returns(true); this.falseValidator = Substitute.For <IValidator <DeleteLanguageRequest> >(); falseValidator.IsRequestValid(request).Returns(false); }
/// <summary> /// Deletes the specified request. /// </summary> /// <param name="request">The request.</param> /// <returns><c>DeleteLanguageResponse</c> with success status.</returns> public DeleteLanguageResponse Delete(DeleteLanguageRequest request) { if (request.Data == null || request.Id.HasDefaultValue()) { return new DeleteLanguageResponse { Data = false }; } var futurePages = repository.AsQueryable<Module.Root.Models.Page>() .Where(p => p.Language != null && p.Language.Id == request.Id) .Select(p => p.Id) .ToFuture(); var itemToDelete = repository .AsQueryable<Module.Root.Models.Language>() .Where(p => p.Id == request.Id) .ToFuture() .FirstOne(); if (request.Data.Version > 0 && itemToDelete.Version != request.Data.Version) { throw new ConcurrentDataException(itemToDelete); } if (futurePages.ToList().Any()) { var message = string.Format("Cannot delete language {0}, because it's used in pages.", itemToDelete.Name); throw new CmsApiValidationException(message); } unitOfWork.BeginTransaction(); repository.Delete(itemToDelete); unitOfWork.Commit(); Events.RootEvents.Instance.OnLanguageDeleted(itemToDelete); return new DeleteLanguageResponse { Data = true }; }
public override async Task <Empty> DeleteLanguage(DeleteLanguageRequest deleteLanguageRequest, ServerCallContext context) { var deleteLanguage = _mapper.Map <DeleteLanguageRequest, DeleteLanguage>(deleteLanguageRequest); return(_mapper.Map <Unit, Empty>(await _mediator.Send(deleteLanguage))); }
public void Delete([FromBody] DeleteLanguageRequest request) { deleteLanguageCommand.Execute(request); }