public static void Seed(IServiceProvider serviceProvider)
        {
            using (var scope = serviceProvider.GetRequiredService <IServiceScopeFactory>().CreateScope())
            {
                var context = scope.ServiceProvider.GetService <ApplicationContext>();

                context.Database.EnsureCreated();

                if (context.Contents.Any())
                {
                    return;
                }

                for (int i = 1; i < 100; i++)
                {
                    var entity = new ApplicationContent
                    {
                        Id       = i,
                        Title    = "Test " + i,
                        Content  = "Content",
                        Grade    = (Grade) new Random().Next(0, 2).TryParseDefault <Grade>(),
                        Category = (Category) new Random().Next(0, 4).TryParseDefault <Category>(),
                        Medium   = (Medium) new Random().Next(0, 4).TryParseDefault <Medium>(),
                    };

                    context.Contents.Add(entity);

                    context.SaveChanges();
                }
            }
        }
Exemplo n.º 2
0
        public async Task DicomFileOpen_MissingSequenceDeclaration_CanReadBeyond()
        {
            var dicomFile = await ApplicationContent.OpenDicomFileAsync("Data/GH364.dcm");

            var actual = dicomFile.Dataset.Contains(DicomTag.StudyInstanceUID);

            Assert.True(actual);
        }
Exemplo n.º 3
0
        public async Task <IActionResult> PostAsync([FromBody] ApplicationContent value)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            await Context.Contents.AddAsync(value);

            await Context.SaveChangesAsync();

            return(Ok());
        }
Exemplo n.º 4
0
        public async Task <IActionResult> PutAsync(int id, [FromBody] ApplicationContent value)
        {
            if (!Context.Contents.Any(content => content.Id == id))
            {
                return(NotFound());
            }

            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            value.Modified = DateTime.Now;

            Context.Contents.Update(value);
            await Context.SaveChangesAsync();

            return(Ok());
        }
Exemplo n.º 5
0
        public async Task <ActionResult> Create(CreateViewModel model)
        {
            if (!ModelState.IsValid)
            {
                return(View(model));
            }

            //Se abre un stream para leer el archivo.
            Stream st = null;

            try
            {
                st = model.File.OpenReadStream();
            }
            catch
            {
                // Error
                AddError("Error");
                return(View(model));
            }

            //Se leen los bytes del stream
            byte[] resultBytes = ReadBytesFromStream(st);
            //Se comprueban si estos bytes contienen una cabecera valida
            //y por lo tanto, que es un archivo de texto
            //En caso de que el archivo sea un binario, dará un error
            if (IsFileBinary(resultBytes))
            {
                AddError("El archivo no tiene un formato valido.");
                return(View(model));
            }
            //Los bytes se convierten a texto
            string audioDescriptionText = System.Text.Encoding.UTF8.GetString(resultBytes);

            //TODO Comprobar que el archivo es de tipo audiodescripción en el interior
            //TODO Comprobar que no sea duplicado

            /*if(audioDescriptionText.Length < 50)
             * {
             *  // Error
             *  AddError("El archivo contiene muy poco contenido.");
             *  return View(model);
             * }*/
            var user = await GetCurrentUserAsync();

            var applicationUser = new ApplicationContent()
            {
                Id               = new Guid(),
                Title            = model.Title,
                Description      = model.Description,
                AudioDescription = audioDescriptionText,
                AddedDateTime    = DateTime.Now.ToString(),
                Views            = 0,
                Downloads        = 0
            };

            //Añade el contenido nuevo
            _context.Content.Add(applicationUser);
            await _context.SaveChangesAsync();

            //Redirige a la página del contenido
            return(RedirectToAction($"Details/{applicationUser.Id}"));
        }