예제 #1
0
        public async Task <IActionResult> Post(IFormFile image, IFormFile audio)
        {
            if (image != null && audio != null)
            {
                var idRequest = Guid.NewGuid();

                Console.WriteLine($"Files received -> {idRequest}");

                //persist files

                var idImage = Guid.Empty;
                using (var ms = new MemoryStream())
                {
                    image.CopyTo(ms);
                    idImage = await _file.UploadFileAsync(new ByteArrayPart(ms.ToArray(), image.FileName, image.ContentType));
                }

                var idAudio = Guid.Empty;
                using (var ms = new MemoryStream())
                {
                    audio.CopyTo(ms);
                    idAudio = await _file.UploadFileAsync(new ByteArrayPart(ms.ToArray(), audio.FileName, audio.ContentType));
                }

                //put in queue

                var message = new Lip
                {
                    IdAudio   = idAudio,
                    IdImage   = idImage,
                    IdRequest = idRequest
                };

                //TODO: colocar conexão no singleton e serializar dentro do helper
                var connection = _bus.CreateConnection(_bus.GetConnectionFactory());
                var json       = JsonConvert.SerializeObject(message);
                _bus.WriteMessageOnQueue(json, "lip", connection);

                return(Ok(idRequest));
            }

            return(BadRequest());
        }
예제 #2
0
 public Head()
 {
     Mouth = new Mouth();
     Lips  = new Lip();
 }