private Task <ProcessResult> OnRemoveUserSubscription(RequestPacket request) { var subid = UserSubscription.GetIdFromPacket(request); if (string.IsNullOrWhiteSpace(subid)) { var errorData = new ErrorResponseData(ErrorResponseCodes.UserSubscriptionNotFound, $"The {nameof(UserSubscription)} with the id '{subid}' was not found.", false); return(Task.FromResult(new ProcessResult(errorData))); } var sub = _dataProvider.GetUserSubscription(subid); if (sub?.SubscriberUserId != request.Context.User.Id) { var errorData = new ErrorResponseData(ErrorResponseCodes.UserSubscriptionNotFound, $"The {nameof(UserSubscription)} with the id '{subid}' was not found.", false); return(Task.FromResult(new ProcessResult(errorData))); } _dataProvider.RemoveUserSubscription(sub.Id); return(Task.FromResult(ProcessResult.Processed)); }
private void Serializes_ErrorResponseData(ISerializer serializer) { var error = new ErrorResponseData(ErrorResponseCodes.UnauthorizedRequest, "crap", true); var pack = new ResponsePacket(error); using (var ms = new MemoryStream()) using (var writer = new BinaryWriter(ms)) using (var reader = new BinaryReader(ms)) { pack.Serialize(writer, serializer); ms.Position = 0; var p2 = new TestDataPacket(); p2.Deserialize(reader, serializer); Assert.AreEqual(error.Code, p2.As <ErrorResponseData>().Code); Assert.AreEqual(error.Message, p2.As <ErrorResponseData>().Message); Assert.AreEqual(error.IsCritical, p2.As <ErrorResponseData>().IsCritical); Assert.AreEqual(error.GetType(), p2.Data.GetType()); Assert.AreEqual(typeof(ErrorResponseData).AssemblyQualifiedName, p2.DataType); } }