Ejemplo n.º 1
0
        /// <summary>
        /// Gera o relatorio e gera o spool se o parametro foi setado.
        /// </summary>
        /// <param name="rptImage"></param>
        public static void PrintReportAndGenerateSpool(ReportImage rptImage)
        {
            try
            {
                /*
                 * Forma de geração do relatório.
                 *
                 * 1 = Gera e visualiza sem gravar no spool,
                 * 2 = Gera e visualiza gravando no spool,
                 * 3 = Gera somente em spool.
                 */
                var param = ParametroManager.FindParamByTypeParametro(Framework.Enumeradores.TypeParametro.report_engine);

                if (param.ValorParametro == "2")
                {
                    new ReportSpoolDaoManager().PrintReportSpool(rptImage.IdReport);
                }
                else if (param.ValorParametro == "3")
                {
                    new ReportSpoolDaoManager().PrintReportSpool(rptImage.IdReport, false);
                }
                else
                {
                    //usar esse pq no azure nao tenho espaco pro spool por enquanto
                    PrintReport(rptImage, false);
                }
                //nao podemos impedir a rotina de funcionar
            }
            catch (Exception ex)
            {
                XMessageIts.ExceptionJustMessage(ex, "Falha ao gerar o relatório.");
            }
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Criar/Alterar relatorio carregado para o cache
        /// </summary>
        /// <param name="reportImageAnt"></param>
        public RbbFrmReportEditorNew(ReportImage reportImageAnt)
            : this()
        {
            this.reportImageAnt = reportImageAnt;

            try
            {
                if (reportImageAnt.IdReport == 0)
                {
                    reportDesigner1.CreateNewReport();
                    reportDesigner1.ActiveDesignPanel.Report.DisplayName = reportImageAnt.ReportDescription;
                }
                else
                {
                    //abri o relatório selecionado
                    var path = new ReportDaoManager().LoadToCache(this.reportImageAnt);
                    reportDesigner1.OpenReport(path);
                    reportDesigner1.ActiveDesignPanel.Name        = this.reportImageAnt.ReportName;
                    reportDesigner1.ActiveDesignPanel.Report.Name = this.reportImageAnt.ReportName;
                }
                this.sqlDataSource = new SqlDataSource(ReportUtil.GetParamDataSource());
                reportDesigner1.ActiveDesignPanel.Report.DataSource = sqlDataSource;
            }
            catch (Exception ex)
            {
                LoggerUtilIts.GenerateLogs(ex);
            }
        }
Ejemplo n.º 3
0
        private void workerRemoveBlack_ProgressChanged(object sender, System.ComponentModel.ProgressChangedEventArgs e)
        {
            ReportImage _temp = (ReportImage)e.UserState;

            this.Text = e.ProgressPercentage.ToString() + "%";

            switch (libraryType)
            {
            case Common.LibraryType.None:
                break;

            case Common.LibraryType.CSharpLibraryV1:
                break;

            case Common.LibraryType.CSharpLibraryV2:
                CSharpV2ImageLibrary.Images[_temp.Index].Image = _temp.Image;
                break;

            case Common.LibraryType.WeMadeLibrary:
                WemadeLibrary.Images[_temp.Index].Image = _temp.Image;
                break;

            case Common.LibraryType.WTLLibrary:
                WTLLibrary.Images[_temp.Index].Image = _temp.Image;
                break;

            default:
                break;
            }
        }
Ejemplo n.º 4
0
        public static void ExportReportList(List <ReportImage> reports)
        {
            string outReports = Path.Combine(FileManagerIts.DeskTopPath, "Reports ITS");

            if (!Directory.Exists(outReports))
            {
                FileManagerIts.CreateDirectory(outReports);
            }

            bool flag = false;

            foreach (var rpt in reports)
            {
                var novo = new ReportImage();
                //gera um novo
                novo.Update(rpt);

                string file = outReports + "\\" + rpt.ReportName + ".itsrpt";

                //serializa p relatorio
                var bytes = SerializeIts.SerializeObject(novo);
                flag = FileManagerIts.WriteBytesToFile(file, bytes);
            }
            if (flag)
            {
                XMessageIts.Mensagem("Relatórios exportados com sucesso!");
            }
            else
            {
                XMessageIts.Erro("Relatórios exportados com erro!");
            }
        }
Ejemplo n.º 5
0
        public static void ExportReport(ReportImage rpt)
        {
            SaveFileDialog sfd = new SaveFileDialog();

            sfd.Filter   = ReportFilter;
            sfd.FileName = "Export_" + rpt.ReportName;
            var op = sfd.ShowDialog();

            //novo
            var novo = new ReportImage();

            //gera um novo
            novo.Update(rpt);

            //serializa p relatorio
            var bytes = SerializeIts.SerializeObject(novo);

            if (op == DialogResult.OK)
            {
                if (FileManagerIts.WriteBytesToFile(sfd.FileName, bytes))
                {
                    XMessageIts.Mensagem("Arquivo salvo com sucesso!");
                }
                else
                {
                    XMessageIts.Erro("Erro na exportação do relatório!");
                }
            }
        }
Ejemplo n.º 6
0
        /// <summary>
        /// Visualiza um relatório.
        /// <br>
        /// O relatório sempre será escrito no disco.
        /// </br>
        /// O designer é montando manualmente.
        /// </summary>
        /// <param name="report"></param>
        public static void PrintReportOverwrite(ReportImage report)
        {
            try
            {
                using (var ctx = new ReportContext())
                {
                    var    current = ctx.ReportImageDao.Find(report.IdReport);
                    string path    = Path.Combine(Application.StartupPath, "Reports", current.ReportName + ".repx");

                    FileManagerIts.WriteBytesToFile(path, current.ReportImageData);

                    //carregue a estrutura do relatório
                    XtraReport xreport = XtraReport.FromFile(path, true);

                    //objeto para gerar a tela de parametros
                    ReportPrintTool reportPrintTool = new ReportPrintTool(xreport);

                    //chama a tela de parametros
                    xreport.CreateDocument();

                    //gera o relatorio
                    PrintPreviewFormEx preview = new PrintPreviewFormEx();
                    preview.PrintingSystem = xreport.PrintingSystem;
                    //exibe o relatorio
                    preview.ShowDialog();
                }
            }
            catch (Exception ex)
            {
                XMessageIts.Erro("Falha gerar relatório\n\n" + ex.Message, "Atenção!!!");
                LoggerUtilIts.GenerateLogs(ex);
            }
        }
Ejemplo n.º 7
0
        private void btnSalvar_ItemClick(object sender, ItemClickEventArgs e)
        {
            if (reportImageAnt == null || reportImageAnt.IdReport == 0)
            {
                //persiste o objeto no banco
                this.reportImageAnt = new ReportDaoManager().SaveReport(reportDesigner1, reportImageAnt);

                //se o objeto passar a ser diferente de null então foi salvo
                //e agora passarei a editar
                if (reportImageAnt != null)
                {
                    XMessageIts.Mensagem("Relatório salvo com sucesso!");
                }
            }
            else
            {
                //seta o nome do relatorio no design
                reportDesigner1.ActiveDesignPanel.Report.Name = reportImageAnt.ReportName;
                //prevent "Report has been changed"
                reportDesigner1.ActiveDesignPanel.ReportState = ReportState.Saved;

                //atualiza o relatorio no banco
                if (new ReportDaoManager().UpdateReport(reportDesigner1, reportImageAnt))
                {
                    XMessageIts.Mensagem("Relatório atualizado com sucesso!");
                }
            }
        }
Ejemplo n.º 8
0
        public static void DuplicateReport(ReportImage rpt)
        {
            var op = XMessageIts.Confirmacao("Certeza que deseja criar uma cópia do relatório selecionado?");

            if (op == DialogResult.Yes)
            {
                using (var ctx = new ReportContext())
                {
                    //novo
                    var novo = new ReportImage();
                    //gera um novo
                    novo.Update(rpt);

                    var count = ctx.ReportImageDao.Where(r => r.ReportName == novo.ReportName).Count();

                    novo.ReportName        = novo.ReportName + "Duplicado_" + count;
                    novo.ReportDescription = novo.ReportDescription + "(Duplicado)";

                    if (ctx.ReportImageDao.Save(novo))
                    {
                        XMessageIts.Mensagem("Relatório duplicado com sucesso!");
                    }
                    else
                    {
                        XMessageIts.Erro("Erro na cópia do relatório!");
                    }
                }
            }
        }
Ejemplo n.º 9
0
        public RepositoryActionResult <ReportImage> Update(ReportImage t)
        {
            try
            {
                var existingData = _ctx.ReportImages.FirstOrDefault(exp => exp.Id == t.Id);

                if (existingData == null)
                {
                    return(new RepositoryActionResult <ReportImage>(t, RepositoryActionStatus.NotFound));
                }

                _ctx.Entry(existingData).State = EntityState.Detached;
                _ctx.ReportImages.Attach(t);
                _ctx.Entry(t).State = EntityState.Modified;


                var result = _ctx.SaveChanges();
                if (result > 0)
                {
                    return(new RepositoryActionResult <ReportImage>(t, RepositoryActionStatus.Updated));
                }
                else
                {
                    return(new RepositoryActionResult <ReportImage>(t, RepositoryActionStatus.NothingModified, null));
                }
            }
            catch (Exception ex)
            {
                return(new RepositoryActionResult <ReportImage>(null, RepositoryActionStatus.Error, ex));
            }
        }
Ejemplo n.º 10
0
        public void Client_TestImageReport()
        {
            var dataSources = new Dictionary <string, DataSource>()
            {
                { "MANF_DATA_2009", new XmlDataSource(File.OpenRead(SampleTemplatesFolder + @"\Manufacturing.xml")) }
            };

            var           templateFilePath = SampleTemplatesFolder + @"\Manufacturing.docx";
            List <byte[]> pages            = new List <byte[]>();

            using (var templateFile = File.OpenRead(templateFilePath))
            {
                var imageFormat = "bmp";

                var report = new ReportImage(uri, imageFormat, templateFile, pages);
                report.Dpi = 96;

                report.Process(dataSources);

                var pageNo = 0;
                foreach (var page in pages)
                {
                    var path = string.Format(@"{0}\image_{1}.{2}", SampleTemplatesFolder, ++pageNo, imageFormat);
                    File.WriteAllBytes(path, page);
                }
            }
        }
Ejemplo n.º 11
0
        /// <summary>
        /// Localiza um relatorio no banco e carrega para um arquivo temporario
        /// Este cache irá ser salvo no banco
        /// </summary>
        /// <param name="reportID"></param>
        public string LoadToCache(ReportImage report)
        {
            try
            {
                using (var ctx = new ReportContext())
                {
                    //recupera o objeto do banco para alteração dos campos
                    report = ctx.ReportImageDao.Find(report.IdReport);

                    //caminho do relatorio
                    string reportPath = string.Format("{0}\\{1}", _reportDir, report.ReportName + ".repx");

                    //gera o arquivos atraves dos bytes salvo no banco
                    if (!File.Exists(reportPath))
                    {
                        FileManagerIts.WriteBytesToFile(reportPath, report.ReportImageData);
                    }

                    return(reportPath);
                }
            }
            catch (Exception)
            {
                return(null);
            }
        }
Ejemplo n.º 12
0
        private void btnSalvar_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
        {
            if (_reportImageAnt == null)
            {
                var newReport = new ReportImage(_descricaoRelatorio, _idGrupoRelatorio);

                //persiste o objeto no banco
                this._reportImageAnt = new ReportDaoManager().SaveReport(itsReportDesign, newReport);

                //se o objeto passar a ser diferente de null então foi salvo
                //e agora passarei a editar
                if (_reportImageAnt != null)
                {
                    XMessageIts.Mensagem("Relatório salvo com sucesso!");
                }
            }
            else
            {
                //esse comando nao funciona
                itsReportDesign.ActiveDesignPanel.Report.Name = _reportImageAnt.ReportName;

                //prevent "Report has been changed"
                itsReportDesign.ActiveDesignPanel.ReportState = ReportState.Saved;

                //atualiza o relatorio no banco
                if (new ReportDaoManager().UpdateReport(itsReportDesign, _reportImageAnt))
                {
                    XMessageIts.Mensagem("Relatório atualizado com sucesso!");
                }
            }
        }
Ejemplo n.º 13
0
        public static void ImportReportFromFiles(params string[] filesReports)
        {
            using (var ctx = new ReportContext())
            {
                try
                {
                    Dictionary <string, bool> importados = new Dictionary <string, bool>();

                    foreach (var file in filesReports)
                    {
                        var bytesFile        = FileManagerIts.GetBytesFromFile(file);
                        var rptDeserializado = SerializeIts.DeserializeObject <ReportImage>(bytesFile);

                        var rptCreateUpdate = ctx.ReportImageDao.Where(r =>
                                                                       r.ReportName == rptDeserializado.ReportName)
                                              .FirstOrDefault();

                        //relatorio ja existe
                        if (rptCreateUpdate != null)
                        {
                            var msg     = "O relatório selecionado já existe, deseja atualiza-lo?";
                            var confirm = XMessageIts.Confirmacao(msg);
                            if (confirm == DialogResult.Yes)
                            {
                                rptCreateUpdate.Update(rptDeserializado);

                                var traUpd = ctx.ReportImageDao.Update(rptCreateUpdate);
                                if (traUpd)
                                {
                                    XMessageIts.Mensagem("Relatório atualizado com sucesso!");
                                }
                            }
                        }
                        //relatorio nao existe, entao vai criar
                        else
                        {
                            var newReport = new ReportImage();
                            newReport.IdGrpReport       = rptDeserializado.IdGrpReport;
                            newReport.ReportDescription = rptDeserializado.ReportDescription;
                            newReport.ReportImageData   = rptDeserializado.ReportImageData;
                            newReport.ReportName        = rptDeserializado.ReportName;
                            importados.Add(newReport.ReportName, ctx.ReportImageDao.Save(newReport));
                        }
                    }
                    if (importados.Where(i => i.Value == false).Count() == 0)
                    {
                        XMessageIts.Mensagem("Relatórios importado com sucesso!");
                    }
                    else
                    {
                        XMessageIts.Advertencia("Ocorreram erros ao importar o(s) dashboard(s) !");
                    }
                }
                catch (Exception ex)
                {
                    XMessageIts.ExceptionMessageDetails(ex, "Falha ao importar o relatório");
                }
            }
        }
Ejemplo n.º 14
0
 /// <summary>
 /// Criar/Alterar um ReportImage
 /// </summary>
 /// <param name="reportImage"></param>
 public XFrmAddReport(ReportImage reportImage) : this()
 {
     this.DashboardImage = null;
     this.ReportImage    = reportImage;
     this.cbGrupoRelatorio.Properties.Items.Add(reportImage.Grupo);
     this.cbGrupoRelatorio.SelectedIndex = 0;
     this.txtDescricaoRelatorio.Text     = reportImage.ReportDescription;
 }
Ejemplo n.º 15
0
        public async Task <ActionResult> UploadImage(FormCollection fc, IEnumerable <HttpPostedFileBase> files)
        {
            ReportImage     reportImage = null;
            HtmlToText      convert     = new HtmlToText();
            ManageMessageId?message;

            try
            {
                int reportId = Convert.ToInt32(fc["ReportId"]);
                var user     = await UserManager.FindByIdAsync(User.Identity.GetUserId());

                var    userReport   = _applicationDbContext.Reports.Where(m => m.ReportId == reportId).SingleOrDefault();
                string loggedUserId = user.Id;
                string userrptId    = userReport.UserId;
                string sm_titleC    = userReport.CompanyorIndividual + " : " + convert.Convert(userReport.ReportText).Substring(0, 90);
                titleC = Regex.Replace(sm_titleC, "[^A-Za-z0-9]", "-");
                iD     = Guid.NewGuid().ToString();
                var allowedExtensions = new[] { ".Jpg", ".png", ".jpg", ".jpeg", ".JPG", ".GIF", ".Gif", ".gif" };


                var isReportExist = _applicationDbContext.Reports.Where(m => m.ReportId == reportId).SingleOrDefault();

                foreach (var file in files)
                {
                    var ext = Path.GetExtension(file.FileName);
                    if (file != null && file.ContentLength > 0 && isReportExist != null && loggedUserId.Equals(userrptId) && allowedExtensions.Contains(ext))
                    {
                        string filename = Guid.NewGuid() + Path.GetExtension(file.FileName);

                        file.SaveAs(Path.Combine(Server.MapPath("~/ImageUpload"), filename));

                        reportImage = new ReportImage();

                        reportImage.ImageName    = filename;
                        reportImage.ReportId     = Convert.ToInt32(fc["ReportId"]);
                        reportImage.ImageCaption = fc["imgCaption"].ToString();
                        reportImage.DateCreated  = DateTime.UtcNow;

                        _applicationDbContext.ReportImages.Add(reportImage);
                        await _applicationDbContext.SaveChangesAsync();
                    }
                    else
                    {
                        message = ManageMessageId.Error;

                        return(RedirectToAction("FileUpload", new { Controller = "Report", action = "FileUpload", title = titleC, page = Convert.ToInt32(fc["ReportId"]), id = iD, Message = message }));
                    }
                }
                return(RedirectToAction("ReportDetails", new { Controller = "Report", action = "ReportDetails", title = titleC, page = Convert.ToInt32(fc["ReportId"]), id = iD }));
            }
            catch (Exception ex)
            {
                message = ManageMessageId.Error;
                return(RedirectToAction("FileUpload", new { Controller = "Report", action = "FileUpload", title = titleC, page = Convert.ToInt32(fc["ReportId"]), id = iD, Message = message }));
            }

            //return View();
        }
Ejemplo n.º 16
0
 /// <summary>
 /// Editar relatorio carregado para o cache
 /// <param name="reportImage"></param>Objeto de relatório
 public XtraForm1(ReportImage reportImage)
     : this()
 {
     this.reportImageAnt = reportImage;
     //abri o relatório selecionado
     //Abre o relatorio que foi armazenado no cache
     var path = new ReportDaoManager().LoadToCache(reportImageAnt);
     reportDesigner1.OpenReport(path);
 }
Ejemplo n.º 17
0
        /// <summary>
        /// Atualiza o relatorio que está sendo editado
        /// </summary>
        /// <param name="reportDesigner"></param>
        /// <param name="report"></param>
        public bool UpdateReport(XRDesignMdiController reportDesigner, ReportImage report)
        {
            try
            {
                using (var ctx = new ReportContext())
                {
                    //objeto designer do relatório
                    var xtraReport = reportDesigner.ActiveDesignPanel.Report;

                    //nome setado no relatório
                    //report.DefaultName = xtraReport.Name;

                    //gera um nome aleatorio utilizando o nome setado no relatório
                    string reportPath = generatePath(report, ctx);

                    using (MemoryStream ms = new MemoryStream())
                    {
                        //salva o layout em memoria
                        xtraReport.SaveLayout(ms);

                        //salva o relatorio no disco em formato repx (Fica serializado)
                        xtraReport.SaveLayout(reportPath);

                        ////salva pro xml
                        //xtraReport.SaveLayoutToXml(reportPath + ".xml");

                        //obtem os bytes do relatório
                        var bytes = ms.GetBuffer();

                        //AppConfigDefaultManager.Configuration.ChangeConnectionStringRuntime
                        //    ("ITS", AppConfigManager.Configuration.AppConfig.ConnectionString);

                        //passa o objeto para o contexto
                        var current = ctx.ReportImageDao.Find(report.IdReport);

                        //atualiza o relatorio
                        report.ReportImageData = bytes;

                        //passa pro objeto do contexto
                        current.Update(report);

                        report.Update(current);

                        //persiste a atualização no banco
                        return(ctx.ReportImageDao.Update(current));
                    }
                }
            }
            catch (Exception)
            {
                return(false);
            }
        }
Ejemplo n.º 18
0
 public ReportImageDto ReportImageToReportImageDto(ReportImage image)
 {
     return(new ReportImageDto
     {
         Id = image.Id,
         ReportId = image.ReportId,
         FileName = image.FileName,
         FileType = image.FileType,
         Description = image.Description,
         Size = image.Size,
         ImageDataUrl = image.ImageDataUrl
     });
 }
Ejemplo n.º 19
0
        /// <summary>
        /// Salva o relatorio que está aberto no banco
        /// </summary>
        /// <param name="reportDesigner"></param>
        /// <param name="report"></param>
        public ReportImage SaveReport(XRDesignMdiController reportDesigner, ReportImage report)
        {
            try
            {
                using (var ctx = new ReportContext())
                {
                    //objeto designer do relatório
                    var xtraReport = reportDesigner.ActiveDesignPanel.Report;

                    //nome setado no relatório
                    //report.DefaultName = xtraReport.Name;

                    //gera um nome aleatorio utilizando o nome setado no dashboard
                    string reportPath = generatePath(report, ctx);

                    using (MemoryStream ms = new MemoryStream())
                    {
                        //salva o relatorio
                        reportDesigner.ActiveDesignPanel.SaveReport(reportPath);

                        //salva o layout em memoria
                        xtraReport.SaveLayout(ms);

                        xtraReport.SaveLayoutToXml(reportPath + ".xml");

                        //salva o relatorio no disco em formato repx
                        xtraReport.SaveLayout(reportPath);

                        //obtem os bytes do relatorio
                        var bytes = ms.GetBuffer();

                        //gerar os bytes do arquivo
                        report.ReportImageData = bytes;

                        if (ctx.ReportImageDao.Save(report))
                        {
                            return(report);
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                XMessageIts.Advertencia("Houve um erro ao salvar relatório.\n\n"
                                        + ex.Message);

                LoggerUtilIts.GenerateLogs(ex);
            }

            return(null);
        }
Ejemplo n.º 20
0
        public XFrmConfigSourceRpt(XtraReport report, ReportImage reportImageAnt) : this()
        {
            this.reportImageAnt = reportImageAnt;
            this.report         = report;

            //se for um relatório novo que está sendo criado...
            if (reportImageAnt.Datasources.Count == 0)
            {
                this.sourceReport = new List <ReportDataSource>();
            }
            else //edicao
            {
                this.sourceReport = reportImageAnt.Datasources.ToList();
            }
            gridControl1.DataSource = this.sourceReport;
        }
Ejemplo n.º 21
0
        private string generatePath(ReportImage report, ReportContext ctx)
        {
            //O nome do relatorio so pode ser setado pelo design
            var result = ctx.ReportImageDao.Last();

            result = result == null ? new ReportImage() : result;
            int num = result.IdReport + 1;

            //se nao tem um nome gere
            if (string.IsNullOrEmpty(report.ReportName))
            {
                report.ReportName = string.Format("{0}{1}", "Report", num);
            }

            var path = string.Format("{0}\\{1}{2}", _reportDir, report.ReportName, ".repx");

            return(path);
        }
Ejemplo n.º 22
0
        public static void PrintReportWithParams(ReportImage rptImage)
        {
            try
            {
                /*
                 * Forma de geração do relatório.
                 *
                 * 1 = Gera e visualiza sem gravar no spool,
                 * 2 = Gera e visualiza gravando no spool,
                 * 3 = Gera somente em spool.
                 */
                var param = ParametroManager.GetValorParamByCodigo("report_eng");

                if (param == "1")
                {
                    //new ReportSpoolDaoManager().PrintReportSpool(rptSelected.IdReport);
                    //usar esse aqui no azure pq nao tenho espaco pro spool por enquanto
                    //acho q faz mais sentido salvar a ref do relatorio gerado
                    //do q os bytes do relatorio uma vez que o relatorio ja existe
                    //entao so a pk dele ja seria o suficiente
                    ReportUtil.PrintReport(rptImage);
                }
                else if (param == "2")
                {
                    new ReportSpoolDaoManager().PrintReportSpool(rptImage.IdReport);
                }
                else if (param == "3")
                {
                    new ReportSpoolDaoManager().PrintReportSpool(rptImage.IdReport, false);
                }

                else
                {
                    LoggerUtilIts.GenerateLogs(new Exception("Paramentro report_eng não existe."));
                }

                //nao acontece nada
                //nao podemos impedir a rotina de funcionar
            }
            catch (Exception ex)
            {
                XMessageIts.ExceptionJustMessage(ex, "Falha ao gerar o relatório.");
            }
        }
Ejemplo n.º 23
0
 public RepositoryActionResult <ReportImage> Insert(ReportImage t)
 {
     try
     {
         _ctx.ReportImages.Add(t);
         var result = _ctx.SaveChanges();
         if (result > 0)
         {
             return(new RepositoryActionResult <ReportImage>(t, RepositoryActionStatus.Created));
         }
         else
         {
             return(new RepositoryActionResult <ReportImage>(t, RepositoryActionStatus.NothingModified, null));
         }
     }
     catch (Exception ex)
     {
         return(new RepositoryActionResult <ReportImage>(null, RepositoryActionStatus.Error, ex));
     }
 }
Ejemplo n.º 24
0
        //Editar relatorio selecionado
        private void btnEditReport_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
        {
            if (gridView1.IsSelectOneRowWarning())
            {
                ReportImage reportSelect = gridView1.GetFocusedRow <ReportImage>();

                if (ReportUtil.IsEditReport(reportSelect, _group))
                {
                    XFrmAddReport xFrmAddReport = new XFrmAddReport(reportSelect);

                    if (barChEditarReport.Checked == false)
                    {
                        xFrmAddReport.ShowDialog();

                        //atualiza o nome do relatorio
                        reportSelect = xFrmAddReport.ReportImage;
                    }
                    else
                    {
                        //chame o relatorio diretamente
                        reportSelect = xFrmAddReport.CreateReport();
                    }

                    if (!xFrmAddReport.IsCancelado && reportSelect != null)
                    {
                        new RbbFrmReportEditorNew(reportSelect).Show();

                        //atualiza na tabela
                        reportSelect.ReportDescription = xFrmAddReport.ReportImage.ReportDescription;

                        gridView1.RefreshData();
                    }
                }
                else
                {
                    //senão, exibe mensagem informando da falta de permissao
                    XMessageIts.Erro("Você não possue permissão para editar relatórios do sistema!");
                }
            }
        }
Ejemplo n.º 25
0
        public bool GenerateSpoolFromReport(ReportImage report)
        {
            try
            {
                using (var ctx = new ReportContext())
                {
                    //zipar a imagem
                    var imageZipped = ZipUtil.ZipFromBytes(report.ReportImageData);

                    //criaçao do relatorio
                    var imgSave = new ReportSpool(DateTime.Now, report.ReportName, imageZipped);

                    return(ctx.ReportSpoolDao.Save(imgSave));
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine("Falha na geração do spool");
                LoggerUtilIts.GenerateLogs(ex, "Falha na geração do spool do relatório");
                return(false);
            }
        }
Ejemplo n.º 26
0
        /// <summary>
        /// Remove o relatório do banco
        /// </summary>
        /// <param name="report"></param>Relatório a ser removido
        /// <returns></returns>
        public bool RemoveReport(ReportImage report)
        {
            var ctx = new ReportContext();

            report = ctx.ReportImageDao.Find(report.IdReport); //recuperar o objeto para o contexto.

            if (report != null)
            {
                if (ctx.ReportImageDao.Delete(report))
                {
                    return(true);
                }
                else
                {
                    XMessageIts.Erro("Não foi possível remover o relatório!");
                    return(false);
                }
            }
            else
            {
                return(false);
            }
        }
Ejemplo n.º 27
0
        public async Task <IHttpActionResult> Post()
        {
            // Check if the request contains multipart/form-data.
            if (!Request.Content.IsMimeMultipartContent("form-data"))
            {
                return(BadRequest("Unsupported media type"));
            }

            dynamic     report      = null;
            Report      myrep       = null;
            ReportImage reportImage = null;

            //string lastName = string.Empty;
            foreach (var i in Request.RequestUri.ParseQueryString().AllKeys)
            {
                if (i.Equals("report"))
                {
                    JObject myObjet = new JObject();
                    Request.RequestUri.TryReadQueryAsJson(out myObjet);
                    int k = 0;

                    foreach (var m in myObjet)
                    {
                        if (k == 0)
                        {
                            dynamic json = JValue.Parse(m.Value.ToString());
                            report = json.report;
                        }
                        else
                        {
                            dynamic userid = m.Value.ToString();
                            report.userId       = userid;
                            report.DateCreated  = DateTime.Now;
                            report.Status       = false;
                            report.imageCaption = "This is a supporting document";

                            myrep = new Report();

                            myrep.Alias             = report.alias;
                            myrep.CategoryId        = report.categoryId;
                            myrep.CityId            = report.cityId;
                            myrep.Company           = report.company;
                            myrep.contactbyMedia    = report.contactbyMedia;
                            myrep.CreditCard        = report.creditCard;
                            myrep.DateCreated       = report.DateCreated;
                            myrep.Email             = report.email;
                            myrep.ReportText        = report.reportText;
                            myrep.fax               = report.fax;
                            myrep.LocationTypeId    = report.locationTypeId;
                            myrep.OnlineTransaction = report.onlineTransaction;
                            myrep.PhoneNo           = report.phoneNumber;
                            myrep.ripTerms          = true;
                            myrep.StateId           = report.stateId;
                            myrep.Status            = report.Status;
                            myrep.Street            = report.street;
                            myrep.TopicId           = report.topicId;
                            myrep.UserId            = report.userId;
                            myrep.WebSite           = report.website;
                        }

                        k = k + 1;
                    }
                }
            }


            ReportController reportCtr = new ReportController();
            int reportiD = 0;
            await reportCtr.Post(myrep);

            reportiD = myrep.Id;
            rId      = reportiD;

            try
            {
                dynamic photos = await photoManager.Add(Request, rId);

                int imageCount = photos.Count;
                foreach (var p in photos)
                {
                    for (int i = 0; i < imageCount; i++)
                    {
                        reportImage              = new ReportImage();
                        reportImage.ImagePath    = p.Name;
                        reportImage.ReportId     = reportiD;
                        reportImage.ImageCaption = report.imageCaption;
                    }
                    var result = imageRepository.Insert(reportImage);
                    if (result.Status == RepositoryActionStatus.Created)
                    {
                    }
                }

                return(Ok(new { Message = "Photos uploaded ok", Photos = photos }));
            }
            catch (Exception ex)
            {
                return(BadRequest(ex.GetBaseException().Message));
            }
        }
Ejemplo n.º 28
0
 /// <summary>
 /// Editar relatorio carregado para o cache
 /// <param name="reportImage"></param>Objeto de relatório
 public XFrmReportEditor(ReportImage reportImage)
     : this()
 {
     this._reportImageAnt = reportImage;
 }
Ejemplo n.º 29
0
 /// <summary>
 /// Visualiza um relatório usando a inteface RibbonForm.
 /// </summary>
 /// <param name="report"></param>
 /// <param name="requestParameters"></param>
 /// <param name="visibleParameters"></param>
 public static void PrintReportRibbon(ReportImage report, bool requestParameters = true, bool visibleParameters = true)
 {
     printReport(report, requestParameters, visibleParameters, true);
 }
Ejemplo n.º 30
0
        //Metodo refeito para melhoria na performace na geração do relatorio
        //Chamado internamanete
        private static void printReport(ReportImage report, bool requestParameters = true,
                                        bool visibleParameters = true, bool ribbon = false)
        {
            try
            {
                using (var ctx = new ReportContext())
                {
                    var    current   = ctx.ReportImageDao.Find(report.IdReport);
                    string reportDir = Path.GetTempPath().Replace("Temp", "Reports");
                    string path      = Path.Combine(reportDir, current.ReportName + ".repx");
                    //var pathPrnx = Path.Combine(Application.StartupPath, "Reports", current.ReportName + ".prnx");

                    //carregue a estrutura do relatório
                    XtraReport xreport = new XtraReport();

                    if (!File.Exists(path))
                    {
                        FileManagerIts.WriteBytesToFile(path, current.ReportImageData);
                    }
                    xreport.LoadLayout(path);

                    var ds      = xreport.DataSource as SqlDataSource;
                    var appConf = AppConfigManager.Configuration.AppConfig;

                    if (ds == null)
                    {
                        ds = new SqlDataSource(appConf.ServerName);
                    }

                    SetParamDataSource(ds, appConf);

                    ds.Connection.CreateConnectionString();

                    ds.RebuildResultSchema();

                    //objeto para gerar a tela de parametros
                    ReportPrintTool reportPrintTool = new ReportPrintTool(xreport);

                    //permissao para solicitar os parametros
                    xreport.RequestParameters = requestParameters;


                    //permissao para exibir os parametros
                    if (visibleParameters == false)
                    {
                        foreach (var p in xreport.Parameters)
                        {
                            p.Visible = false;
                        }
                    }

                    //chama a tela de parametros
                    xreport.CreateDocument();

                    //libera memoria da ferramenta
                    reportPrintTool.Dispose();

                    if (ribbon)
                    {
                        //chama o ribbon para exibir o relatório
                        xreport.ShowRibbonPreview();
                    }
                    else
                    {
                        xreport.ShowPreview();
                    }

                    ////carregando o relatório manualmente
                    ////salva o documento gerado em prnx
                    //xreport.PrintingSystem.SaveDocument(pathPrnx);

                    //// Create a PrintingSystem instance.
                    //PrintingSystem ps = new PrintingSystem();

                    //// Load the document from a file.
                    //ps.LoadDocument(pathPrnx);

                    ////ribbon form para visualizar o relatório
                    //PrintPreviewRibbonFormEx preview = new PrintPreviewRibbonFormEx();
                    //preview.PrintingSystem = ps;
                    ////xtraform para visualizar o relatório
                    //PrintPreviewFormEx prev = new PrintPreviewFormEx();
                    //prev.PrintingSystem = ps;
                    ////exibe o relatorio
                    //preview.ShowDialog();
                }
            }
            catch (Exception ex)
            {
                XMessageIts.Erro("Falha gerar relatório\n\n" + ex.Message, "Atenção!!!");
                LoggerUtilIts.GenerateLogs(ex);
            }
        }