public override async Task <AddressAdditionResponse> AddUserAddress(AddressAdditionRequest request, ServerCallContext context) { // var userAddress = new AddressData { Name = request.Name, Address = request.Address, Enrollment = request.Enrollment }; var userAddress = GetAddressData(request); _personDbContext.Add(userAddress); await _personDbContext.SaveChangesAsync(); var results = new AddressAdditionResponse { Message = "Address Save Successfully." }; return(results); }
public override async Task <AddressAdditionResponse> AddUserAddress(AddressAdditionRequest request, ServerCallContext context) { var userAddress = GetAddressData(request); try { if (userAddress.Enrollment == "Bank") { var trailer = new Metadata() { { "BadValue", "Enrollment type is Bank" }, { "Field", "Enrollment" }, { "Message", "Bank enrollment is stopped temporarily" } }; throw new RpcException(new Status(StatusCode.Cancelled, "Bank enrollment is stopped temporarily"), trailer); } _personDbContext.Add(userAddress); await _personDbContext.SaveChangesAsync(); } catch (InvalidOperationException) { var trailer = new Metadata() { { "CorelationId", Guid.NewGuid().ToString() }, { "Message", "Unable to save the Data inside Database." } }; throw new RpcException(new Status(StatusCode.Internal, "Internal Error"), trailer); } catch (RpcException rpcError) { throw rpcError; } var results = new AddressAdditionResponse { Message = "Address Save Successfully." }; return(results); }