Esempio n. 1
0
        public async Task <ActionResult> Create(ViewModelDocumentoInstitucional view, List <IFormFile> files)
        {
            if (files.Count > 0)
            {
                byte[] data;
                using (var br = new BinaryReader(files[0].OpenReadStream()))
                    data = br.ReadBytes((int)files[0].OpenReadStream().Length);

                var documenttransfer = new DocumentoInstitucionalTransfer
                {
                    Nombre  = view.Nombre,
                    Fichero = data,
                };

                var respuesta = await CreateFichero(documenttransfer);

                if (respuesta.IsSuccess)
                {
                    return(RedirectToAction("Index"));
                }
                else
                {
                    ViewData["Error"] = respuesta.Message;

                    var documento = new DocumentoInformacionInstitucional
                    {
                        Nombre = view.Nombre,
                    };
                    return(View(documento));
                }
            }

            return(BadRequest());
        }
        public async Task <Response> CreateFichero(DocumentoInstitucionalTransfer file)
        {
            InicializarMensaje(null);
            Response response = new Response();

            try
            {
                response = await apiServicio.InsertarAsync(file,
                                                           new Uri(WebApp.BaseAddress),
                                                           "api/MaterialesInduccion/UploadFiles");

                if (response.IsSuccess)
                {
                    var responseLog = await GuardarLogService.SaveLogEntry(new LogEntryTranfer
                    {
                        ApplicationName      = Convert.ToString(Aplicacion.WebAppTh),
                        ExceptionTrace       = null,
                        Message              = "Se ha subido un archivo",
                        UserName             = "******",
                        LogCategoryParametre = Convert.ToString(LogCategoryParameter.Create),
                        LogLevelShortName    = Convert.ToString(LogLevelParameter.ADV),
                        EntityID             = string.Format("{0} {1}", "Material de Inducción:", file.Nombre),
                    });

                    return(new Response
                    {
                        IsSuccess = true,
                        Message = response.Message,
                        Resultado = response.Resultado
                    });
                }

                ViewData["Error"] = response.Message;
                return(new Response
                {
                    IsSuccess = false,
                    Message = response.Message,
                });
            }
            catch (Exception ex)
            {
                await GuardarLogService.SaveLogEntry(new LogEntryTranfer
                {
                    ApplicationName      = Convert.ToString(Aplicacion.WebAppTh),
                    Message              = "Subiendo archivo",
                    ExceptionTrace       = ex.Message,
                    LogCategoryParametre = Convert.ToString(LogCategoryParameter.Create),
                    LogLevelShortName    = Convert.ToString(LogLevelParameter.ERR),
                    UserName             = "******"
                });

                return(new Response
                {
                    IsSuccess = false,
                    Message = response.Message,
                });
            }
        }
Esempio n. 3
0
        public DocumentoInstitucionalTransfer GetFile(string folder, string fileName, string extension)
        {
            var a = string.Format("{0}/{1}{2}", folder, fileName, extension);
            var targetDirectory = Path.Combine(_hostingEnvironment.WebRootPath, a);

            var file = new FileStream(targetDirectory, FileMode.Open);

            byte[] data;
            using (var br = new BinaryReader(file))
                data = br.ReadBytes((int)file.Length);

            var documenttransfer = new DocumentoInstitucionalTransfer
            {
                Nombre  = "sdjfhsdjkfhsdjk",
                Fichero = data,
            };

            return(documenttransfer);
        }
        public async Task <Response> Post([FromBody] DocumentoInstitucionalTransfer documentoInstitucionalTransfer)
        {
            try
            {
                if (!ModelState.IsValid)
                {
                    return(new Response
                    {
                        IsSuccess = false,
                        Message = ""
                    });
                }

                var documentoInstitucional = new DocumentoInformacionInstitucional
                {
                    Nombre = documentoInstitucionalTransfer.Nombre,
                };

                var respuesta = Existe(documentoInstitucional.Nombre);
                if (!respuesta.IsSuccess)
                {
                    documentoInstitucional = await InsertarDocumentoInformacionInstitucional(documentoInstitucional);

                    await uploadFileService.UploadFile(documentoInstitucionalTransfer.Fichero, "Documentos", Convert.ToString(documentoInstitucional.IdDocumentoInformacionInstitucional), "pdf");


                    var seleccionado = db.DocumentoInformacionInstitucional.Find(documentoInstitucional.IdDocumentoInformacionInstitucional);
                    seleccionado.Url = string.Format("{0}/{1}.{2}", "Documentos", Convert.ToString(documentoInstitucional.IdDocumentoInformacionInstitucional), "pdf");
                    db.DocumentoInformacionInstitucional.Update(seleccionado);
                    db.SaveChanges();
                    return(new Response
                    {
                        IsSuccess = true,
                        Message = Mensaje.Satisfactorio
                    });
                }

                return(new Response
                {
                    IsSuccess = false,
                    Message = Mensaje.ExisteRegistro
                });
            }
            catch (Exception ex)
            {
                await GuardarLogService.SaveLogEntry(new LogEntryTranfer
                {
                    ApplicationName      = Convert.ToString(Aplicacion.SwTH),
                    ExceptionTrace       = ex.Message,
                    Message              = Mensaje.Excepcion,
                    LogCategoryParametre = Convert.ToString(LogCategoryParameter.Critical),
                    LogLevelShortName    = Convert.ToString(LogLevelParameter.ERR),
                    UserName             = "",
                });

                return(new Response
                {
                    IsSuccess = false,
                    Message = Mensaje.Error,
                });
            }
        }
        public async Task <Response> Post([FromBody] DocumentoInstitucionalTransfer documentoInstitucionalTransfer)
        {
            MaterialInduccion seleccionado = new MaterialInduccion();

            try
            {
                if (!ModelState.IsValid)
                {
                    return(new Response
                    {
                        IsSuccess = false,
                        Message = ""
                    });
                }

                var documentoInstitucional = new MaterialInduccion
                {
                    Titulo      = documentoInstitucionalTransfer.Nombre,
                    Descripcion = documentoInstitucionalTransfer.Descripcion
                };

                var respuesta = ExisteMaterialInduccion(documentoInstitucional);
                if (!respuesta.IsSuccess)
                {
                    if (documentoInstitucionalTransfer.Url == null)
                    {
                        documentoInstitucional = await InsertarMaterialInduccion(documentoInstitucional);

                        await uploadFileService.UploadFile(documentoInstitucionalTransfer.Fichero, "MaterialInduccion", Convert.ToString(documentoInstitucional.IdMaterialInduccion), documentoInstitucionalTransfer.Extension);


                        seleccionado     = db.MaterialInduccion.Find(documentoInstitucional.IdMaterialInduccion);
                        seleccionado.Url = string.Format("{0}/{1}{2}", "MaterialInduccion", Convert.ToString(documentoInstitucional.IdMaterialInduccion), documentoInstitucionalTransfer.Extension);
                        db.MaterialInduccion.Update(seleccionado);
                        db.SaveChanges();
                    }
                    else
                    {
                        documentoInstitucional = await InsertarMaterialInduccion(documentoInstitucional);

                        seleccionado     = db.MaterialInduccion.Find(documentoInstitucional.IdMaterialInduccion);
                        seleccionado.Url = documentoInstitucionalTransfer.Url;
                        db.MaterialInduccion.Update(seleccionado);
                        db.SaveChanges();
                    }

                    return(new Response
                    {
                        IsSuccess = true,
                        Message = Mensaje.Satisfactorio,
                        Resultado = documentoInstitucional
                    });
                }

                return(new Response
                {
                    IsSuccess = false,
                    Message = Mensaje.ExisteRegistro
                });
            }
            catch (Exception ex)
            {
                await GuardarLogService.SaveLogEntry(new LogEntryTranfer
                {
                    ApplicationName      = Convert.ToString(Aplicacion.SwTH),
                    ExceptionTrace       = ex.Message,
                    Message              = Mensaje.Excepcion,
                    LogCategoryParametre = Convert.ToString(LogCategoryParameter.Critical),
                    LogLevelShortName    = Convert.ToString(LogLevelParameter.ERR),
                    UserName             = "",
                });

                return(new Response
                {
                    IsSuccess = false,
                    Message = Mensaje.Error,
                });
            }
        }
        public async Task <ActionResult> Create(MaterialInduccion view, List <IFormFile> files)
        {
            InicializarMensaje(null);
            if (files.Count > 0)
            {
                byte[] data;
                using (var br = new BinaryReader(files[0].OpenReadStream()))
                    data = br.ReadBytes((int)files[0].OpenReadStream().Length);

                var ext = Path.GetExtension(files[0].FileName);

                var documenttransfer = new DocumentoInstitucionalTransfer
                {
                    Nombre      = view.Titulo,
                    Descripcion = view.Descripcion,
                    Extension   = ext,
                    Fichero     = data,
                };

                var respuesta = await CreateFichero(documenttransfer);

                MaterialInduccion materialInduccion = JsonConvert.DeserializeObject <MaterialInduccion>(respuesta.Resultado.ToString());

                if (respuesta.IsSuccess)
                {
                    //await uploadFileService.UploadFile(documenttransfer.Fichero, "MaterialInduccion", Convert.ToString(materialInduccion.IdMaterialInduccion), ext);

                    materialInduccion.Url = string.Format("{0}/{1}{2}", "MaterialInduccion", Convert.ToString(materialInduccion.IdMaterialInduccion), ext);

                    return(RedirectToAction("Index"));
                }
                else
                {
                    ViewData["Error"] = respuesta.Message;

                    var documento = new MaterialInduccion
                    {
                        Titulo = view.Titulo,
                    };
                    return(View(view));
                }
            }
            else
            {
                var documenttransfer = new DocumentoInstitucionalTransfer
                {
                    Nombre      = view.Titulo,
                    Descripcion = view.Descripcion,
                    Url         = view.Url,
                };

                var respuesta = await CreateFichero(documenttransfer);

                MaterialInduccion materialInduccion = JsonConvert.DeserializeObject <MaterialInduccion>(respuesta.Resultado.ToString());

                if (respuesta.IsSuccess)
                {
                    return(RedirectToAction("Index"));
                }
                else
                {
                    ViewData["Error"] = respuesta.Message;

                    var documento = new MaterialInduccion
                    {
                        Titulo = view.Titulo,
                    };
                    return(View(view));
                }
            }
        }