protected virtual ActionResult CreateConcurrencyConflictErrorResult <TEntity, TModel>(ConcurrencyError <TEntity> concurrencyError) { var model = _mapper.Map <TEntity, TModel>(concurrencyError.ConflictingObject); var message = new ConcurrencyErrorModel <TModel>() { Message = concurrencyError.Message, CurrentObject = model }; return(new ConflictObjectResult(message)); }
protected virtual ActionResult CreateObjectExistsConflictErrorResult <TEntity, TModel>(ObjectAlreadyExistsError <TEntity> objectExistsError) { var model = _mapper.Map <TEntity, TModel>(objectExistsError.ExistingObject); var message = new ConcurrencyErrorModel <TModel>() { Message = objectExistsError.Message, CurrentObject = model }; return(new ConflictObjectResult(message)); }
/// <summary> /// Helper Method to create a ConflictObjectResult object for when a concurrency exception occurs /// </summary> /// <remarks> /// This method will take in a ConcurrencyException of type T and translate it into a /// ConflictObjectResult object with the CurrentObject property being a ViewModel representation /// of the current (conflicting) object. This way the client can see the conflicting object /// such that they can make any needed changes and resubmit. /// </remarks> /// <typeparam name="TModel"></typeparam> /// <typeparam name="TObject"></typeparam> /// <param name="concurrencyException"></param> /// <returns></returns> protected virtual IActionResult CreateConcurrencyConflictErrorResult <TModel, TObject>(ConcurrencyException <TObject> concurrencyException) { var conflictingObject = concurrencyException.TypedObject; var model = _mapper.Map <TObject, TModel>(conflictingObject); var message = new ConcurrencyErrorModel <TModel>() { Message = concurrencyException.Message, CurrentObject = model }; return(new ConflictObjectResult(message)); }