コード例 #1
0
 public async Task <IActionResult> Post([FromForm] AddEntregaTareaDTO entregaTarea)
 {
     if (Request.Form.Files.Count > 0)
     {
         return(Ok(await _cursoManager.addEntregaTarea(entregaTarea, Request.Form.Files[0])));
     }
     else
     {
         return(Ok(await _cursoManager.addEntregaTarea(entregaTarea, null)));
     }
 }
コード例 #2
0
        public async Task <ApiResponse <AddEntregaTareaDTO> > addEntregaTarea(AddEntregaTareaDTO entregaTarea, IFormFile archivoEntrega)
        {
            ApiResponse <AddEntregaTareaDTO> response = new ApiResponse <AddEntregaTareaDTO>();

            try
            {
                EntregaTarea entregaUpdate = _context.EntregasTarea.SingleOrDefault(et => et.UsuarioId == entregaTarea.UsuarioId && et.FacultadId == entregaTarea.FacultadId && et.ContenedorTareaId == entregaTarea.ContenedorTareaId);
                if (entregaUpdate != null)
                {
                    entregaUpdate.FechaEntrega = Convert.ToDateTime(entregaTarea.FechaEntrega);

                    Archivo archivoUpdate = await _context.Archivos.FirstAsync(a => a.Id == entregaTarea.ArchivoId);

                    archivoUpdate.Extension = Path.GetExtension(archivoEntrega.FileName).Substring(1);
                    archivoUpdate.Nombre    = Path.GetFileNameWithoutExtension(archivoEntrega.FileName);

                    _context.UploadS3(archivoEntrega, "componentFile", archivoUpdate.Nombre + "." + archivoUpdate.Extension);
                    archivoUpdate.Ubicacion = "componentFile/" + archivoUpdate.Nombre + "." + archivoUpdate.Extension;

                    await _context.SaveChangesAsync();

                    response.Data = entregaTarea;
                }
                else
                {
                    EntregaTarea entrega = new EntregaTarea();

                    entrega.Calificacion      = 0;
                    entrega.ContenedorTareaId = entregaTarea.ContenedorTareaId;
                    entrega.UsuarioId         = entregaTarea.UsuarioId;
                    entrega.FacultadId        = entregaTarea.FacultadId;
                    entrega.Calificacion      = 0;
                    entrega.FechaEntrega      = Convert.ToDateTime(entregaTarea.FechaEntrega);
                    entrega.Estado            = "Entregado";


                    _context.EntregasTarea.Add(entrega);
                    await _context.SaveChangesAsync();

                    int idEntregaTarea = entrega.Id;

                    Archivo a = new Archivo();

                    a.EntregaTareaId = idEntregaTarea;
                    a.Extension      = Path.GetExtension(archivoEntrega.FileName).Substring(1);
                    a.Nombre         = Path.GetFileNameWithoutExtension(archivoEntrega.FileName);

                    _context.UploadS3(archivoEntrega, "componentFile", a.Nombre + "." + a.Extension);
                    a.Ubicacion = "componentFile/" + a.Nombre + "." + a.Extension;

                    _context.Archivos.Add(a);

                    await _context.SaveChangesAsync();

                    response.Data = entregaTarea;
                }
            }
            catch (Exception e)
            {
                response.Success = false;
                response.Status  = 500;
                response.Message = e.Message;
            }

            return(response);
        }