public static async Task <List <User> > HandleViewUsers(Client client) { ProtocolHelpers.SendRequestCommand(ProtocolConstants.RequestCommands.VIEW_USERS, client.StreamCommunication); ConversionHandler.ConvertBytesToShort(await client.StreamCommunication.ReadAsync(ProtocolConstants.ShortTypeLength)); ConversionHandler.ConvertBytesToShort(await client.StreamCommunication.ReadAsync(ProtocolConstants.ShortTypeLength)); var data = await client.StreamCommunication.ReadAsync(ProtocolConstants.IntegerTypeLength); var dataLength = ConversionHandler.ConvertBytesToInt(data); var result = new List <User>(); while (dataLength != 0) { var name = ConversionHandler.ConvertBytesToString(await client.StreamCommunication.ReadAsync(User.UserNameLength)); var email = ConversionHandler.ConvertBytesToString(await client.StreamCommunication.ReadAsync(User.UserEmailLength)); var lastConnectionDate = ConversionHandler.ConvertBytesToString(await client.StreamCommunication.ReadAsync(ProtocolConstants.DateTimeTypeLength)); dataLength -= User.UserNameLength + User.UserEmailLength + ProtocolConstants.DateTimeTypeLength; result.Add(new User { Name = name, Email = email, //LastConnection = DateTime.Parse(lastConnectionDate) }); } return(result); }
public static async Task <List <Comment> > HandleViewComments(Client client, Photo photo) { ProtocolHelpers.SendRequestCommand(ProtocolConstants.RequestCommands.VIEW_COMMENTS, client.StreamCommunication); client.StreamCommunication.Write(ConversionHandler.ConvertLongToBytes(photo.Id)); ConversionHandler.ConvertBytesToShort(await client.StreamCommunication.ReadAsync(ProtocolConstants.ShortTypeLength)); ConversionHandler.ConvertBytesToShort(await client.StreamCommunication.ReadAsync(ProtocolConstants.ShortTypeLength)); var data = await client.StreamCommunication.ReadAsync(ProtocolConstants.IntegerTypeLength); var dataLength = ConversionHandler.ConvertBytesToInt(data); var result = new List <Comment>(); while (dataLength != 0) { var name = ConversionHandler.ConvertBytesToString(await client.StreamCommunication.ReadAsync(User.UserNameLength)); var email = ConversionHandler.ConvertBytesToString(await client.StreamCommunication.ReadAsync(User.UserEmailLength)); var message = ConversionHandler.ConvertBytesToString(await client.StreamCommunication.ReadAsync(Comment.CommentLength)); dataLength -= User.UserNameLength + User.UserEmailLength + Comment.CommentLength; result.Add(new Comment() { Commentator = new User { Email = email, Name = name }, Message = message, }); } return(result); }
public static async Task <List <Photo> > HandleViewPhotos(Client client) { ProtocolHelpers.SendRequestCommand(ProtocolConstants.RequestCommands.VIEW_PHOTOS, client.StreamCommunication); var response = ConversionHandler.ConvertBytesToShort(await client.StreamCommunication.ReadAsync(ProtocolConstants.ShortTypeLength)); var responseCommand = ConversionHandler.ConvertBytesToShort(await client.StreamCommunication.ReadAsync(ProtocolConstants.ShortTypeLength)); var data = await client.StreamCommunication.ReadAsync(ProtocolConstants.IntegerTypeLength); var dataLength = ConversionHandler.ConvertBytesToInt(data); var result = new List <Photo>(); while (dataLength != 0) { var email = ConversionHandler.ConvertBytesToString(await client.StreamCommunication.ReadAsync(User.UserEmailLength)); var photoId = ConversionHandler.ConvertBytesToLong(await client.StreamCommunication.ReadAsync(ProtocolConstants.LongTypeLength)); var photoName = ConversionHandler.ConvertBytesToString(await client.StreamCommunication.ReadAsync(Photo.PhotoNameLength)); var extension = ConversionHandler.ConvertBytesToString(await client.StreamCommunication.ReadAsync(Photo.PhotoExtensionLength)); var photoLength = ConversionHandler.ConvertBytesToLong(await client.StreamCommunication.ReadAsync(ProtocolConstants.LongTypeLength)); dataLength -= User.UserEmailLength + ProtocolConstants.LongTypeLength + Photo.PhotoNameLength + Photo.PhotoExtensionLength + ProtocolConstants.LongTypeLength; result.Add(new Photo() { User = new User() { Email = email }, Id = photoId, Name = photoName, FileSize = photoLength, Extension = extension, }); } return(result); }