예제 #1
0
        public async Task <Response> CreateFichero(ViewModelFacturaViatico file)
        {
            Response response = new Response();

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

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

                ViewData["Error"] = response.Message;
                return(new Response
                {
                    IsSuccess = false,
                    Message = response.Message,
                });
            }
            catch (Exception ex)
            {
                return(new Response
                {
                    IsSuccess = false,
                    Message = response.Message,
                });
            }
        }
        public async Task <Response> InsertarFacturas([FromBody] ViewModelFacturaViatico viewModelFacturaViatico)
        {
            try
            {
                var documenttransfer = new FacturaViatico
                {
                    NumeroFactura      = viewModelFacturaViatico.NumeroFactura,
                    IdSolicitudViatico = viewModelFacturaViatico.IdSolicitudViatico,
                    IdItemViatico      = viewModelFacturaViatico.IdItemViatico,
                    FechaFactura       = viewModelFacturaViatico.FechaFactura,
                    ValorTotalFactura  = viewModelFacturaViatico.ValorTotalFactura,
                    Observaciones      = viewModelFacturaViatico.Observaciones,
                    Url = viewModelFacturaViatico.Url,
                };

                var respuesta = Existe(documenttransfer);
                if (!respuesta.IsSuccess)
                {
                    db.FacturaViatico.Add(documenttransfer);
                    await db.SaveChangesAsync();

                    var id = documenttransfer.IdFacturaViatico;

                    await uploadFileService.UploadFile(viewModelFacturaViatico.Fichero, "FacturaViaticos", Convert.ToString(id), ".pdf");


                    var seleccionado = db.FacturaViatico.Find(documenttransfer.IdFacturaViatico);
                    seleccionado.Url = string.Format("{0}/{1}.{2}", "FacturaViaticos", Convert.ToString(id), "pdf");
                    db.FacturaViatico.Update(seleccionado);
                    db.SaveChanges();
                    return(new Response
                    {
                        IsSuccess = true,
                        Message = Mensaje.Satisfactorio
                    });
                }

                return(new Response
                {
                    IsSuccess = false,
                    Message = Mensaje.ExisteRegistro
                });
            }
            catch (Exception ex)
            {
                return(new Response
                {
                    IsSuccess = false,
                    Message = Mensaje.Error,
                });
            }
        }
예제 #3
0
        public async Task <FileResult> Download(string id, int IdSolicitudViatico, int IdItinerarioViatico)
        {
            var id2 = new ViewModelFacturaViatico
            {
                IdFacturaViatico = Convert.ToInt32(id),
            };
            var response = await apiServicio.ObtenerElementoAsync(id2,
                                                                  new Uri(WebApp.BaseAddress),
                                                                  "api/FacturaViatico/GetFile");


            var m        = JsonConvert.DeserializeObject <ViewModelFacturaViatico>(response.Resultado.ToString());
            var fileName = $"{ response.Message}.pdf";

            return(File(m.Fichero, "application/pdf", fileName));
        }
예제 #4
0
        public async Task <IActionResult> Create(ViewModelFacturaViatico viewModelFacturaViatico, List <IFormFile> files)
        {
            Response response = new Response();

            try
            {
                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 ViewModelFacturaViatico
                    {
                        NumeroFactura       = viewModelFacturaViatico.NumeroFactura,
                        IdItinerarioViatico = viewModelFacturaViatico.IdItinerarioViatico,
                        FechaFactura        = viewModelFacturaViatico.FechaFactura,
                        IdItemViatico       = viewModelFacturaViatico.IdItemViatico,
                        ValorTotalFactura   = viewModelFacturaViatico.ValorTotalFactura,
                        Observaciones       = viewModelFacturaViatico.Observaciones,
                        Url = viewModelFacturaViatico.Url,
                        IdSolicitudViatico = viewModelFacturaViatico.IdSolicitudViatico,
                        Fichero            = data,
                    };
                    var respuesta = await CreateFichero(documenttransfer);

                    if (respuesta.IsSuccess)
                    {
                        return(RedirectToAction("Informe", "ItinerarioViatico", new { IdSolicitudViatico = viewModelFacturaViatico.IdSolicitudViatico, IdItinerarioViatico = viewModelFacturaViatico.IdItinerarioViatico }));
                    }
                }
                ViewData["ItemViatico"] = new SelectList(await apiServicio.Listar <ItemViatico>(new Uri(WebApp.BaseAddress), "api/ItemViaticos/ListarItemViaticos"), "IdItemViatico", "Descripcion");
                ViewData["Error"]       = response.Message;
                return(View(viewModelFacturaViatico));
            }
            catch (Exception ex)
            {
                return(BadRequest());
            }
        }
        public async Task <Response> GetFile([FromBody] ViewModelFacturaViatico viewModelFacturaViatico)
        {
            try
            {
                var respuestaFile = uploadFileService.GetFile("FacturaViaticos", Convert.ToString(viewModelFacturaViatico.IdFacturaViatico), ".pdf");

                var dato = await db.FacturaViatico.Where(x => x.IdFacturaViatico == viewModelFacturaViatico.IdFacturaViatico).FirstOrDefaultAsync();

                return(new Response
                {
                    IsSuccess = true,
                    Message = "Factura #" + dato.IdFacturaViatico + ", archivo adjunto",
                    Resultado = respuestaFile,
                });
            }
            catch (Exception ex)
            {
                return(new Response
                {
                    IsSuccess = false,
                    Message = Mensaje.Error,
                });
            }
        }