/// <summary> /// <para>Submits all changes in the context and returns IResponse</para> /// </summary> public IResponse <int> SaveChangesResponse() { try { var readonlyValidationResponse = ValidateReadonlyModels(); if (!readonlyValidationResponse.Success) { return(ResponseFactory <int> .Convert(readonlyValidationResponse)); } var save = Context.SaveChanges(); return(ResponseFactory <int> .Ok(save)); } //TODO: Replace this a proper exception to extract error detail //catch (DbEntityValidationException ex) //{ // var errorMessages = ex.EntityValidationErrors // .SelectMany(x => x.ValidationErrors) // .Select(x => x.ErrorMessage); // return ResponseFactory<int>.Exception(ex, errorMessages.ToList()); //} catch (Exception ex) { return(ResponseFactory <int> .Exception(ex)); } }
/// <summary> /// <para>Submits all changes in the context and returns IResponse</para> /// </summary> public async Task <IResponse <int> > SaveChangesResponseAsync(CancellationToken cancellationToken = default) { try { //Check if any readonly entities are modified var readonlyValidationResponse = ValidateReadonlyModels(); if (!readonlyValidationResponse.Success) { return(ResponseFactory <int> .Convert(readonlyValidationResponse)); } var save = await Context.SaveChangesAsync(cancellationToken); return(ResponseFactory <int> .Ok(save)); } //TODO: Replace this a proper exception to extract error detail //catch (DbEntityValidationException ex) //{ // var errorMessages = ex.EntityValidationErrors // .SelectMany(x => x.ValidationErrors) // .Select(x => x.ErrorMessage); // return ResponseFactory<int>.Exception(ex, errorMessages.ToList()); //} catch (Exception ex) { return(ResponseFactory <int> .Exception(ex)); } }
public void Response_Error_Convert() { var errorResponse = ResponseFactory.Convert(null); Assert.IsFalse(errorResponse.Success); Assert.AreEqual(ResponseStatus.NotFound, errorResponse.Status); }
/// <summary> /// <para>Submits all changes in the context and returns IResponse</para> /// </summary> public IResponse <int> SaveChangesResponse() { try { var readonlyValidationResponse = ValidateReadonlyModels(); if (!readonlyValidationResponse.Success) { return(ResponseFactory <int> .Convert(readonlyValidationResponse)); } var save = Context.SaveChanges(); return(ResponseFactory <int> .Ok(save)); } catch (DbEntityValidationException ex) { var errorMessages = ex.EntityValidationErrors .SelectMany(x => x.ValidationErrors) .Select(x => x.ErrorMessage); return(ResponseFactory <int> .Exception(ex, errorMessages.ToList())); } catch (Exception ex) { return(ResponseFactory <int> .Exception(ex)); } }
/// <summary> /// <para>Submits all changes in the context and returns IResponse</para> /// </summary> public async Task <IResponse <int> > SaveChangesResponseAsync(CancellationToken cancellationToken) { try { //Check if any readonly entities are modified var readonlyValidationResponse = ValidateReadonlyModels(); if (!readonlyValidationResponse.Success) { return(ResponseFactory <int> .Convert(readonlyValidationResponse)); } var save = await Context.SaveChangesAsync(cancellationToken); return(ResponseFactory <int> .Ok(save)); } catch (DbEntityValidationException ex) { var errorMessages = ex.EntityValidationErrors .SelectMany(x => x.ValidationErrors) .Select(x => x.ErrorMessage); return(ResponseFactory <int> .Exception(ex, errorMessages.ToList())); } catch (Exception ex) { return(ResponseFactory <int> .Exception(ex)); } }
public void Response_Error_Converted_Response_Should_Be_Same() { var errorResponse = ResponseFactory.Ok(); var convertedResponse = ResponseFactory.Convert(errorResponse); Assert.AreEqual(errorResponse.Status, convertedResponse.Status); Assert.AreEqual(errorResponse.Success, convertedResponse.Success); Assert.AreEqual(errorResponse.Exception, convertedResponse.Exception); }
public void Response_Error_Converted_Response_Should_Be_Same_With_Value() { var errorResponse = ResponseFactory <int> .Ok(55); var convertedResponse = ResponseFactory <int> .Convert(errorResponse); Assert.AreEqual(errorResponse.Status, convertedResponse.Status, "Status is not same"); Assert.AreEqual(errorResponse.Success, convertedResponse.Success, "Success is not same"); Assert.AreEqual(errorResponse.Exception, convertedResponse.Exception, "Exceptionsd are not same"); Assert.AreEqual(errorResponse.Value, convertedResponse.Value, "Values are not same"); }