// This method gets called by the runtime. Use this method to add services to the container.
        public void ConfigureServices(IServiceCollection services)
        {
            ConfiguracaoServico.ConfiguracaoDependenciaServico(services);
            ConfiguracaoRepositorio.ConfiguracaoRepositorioDependencia(services);
            services.AddControllers();

            services.AddSwaggerGen(c =>
            {
                c.SwaggerDoc("v1",
                             new OpenApiInfo
                {
                    Title       = "API HORAS DESENVOLVEDOR",
                    Version     = "v1",
                    Description = "API REST criada com o ASP.NET Core para Controle Horas Devs" +
                                  "Em Desenvolvimento! Devido ao trabalho atual, não tive tempo para implantar:" +
                                  " - A camada BO no services. GetFiveTop()" +
                                  " - Não implantei o Jwt. " +
                                  " - Não implantei tambem o apontamento dos serviços externo para validação" +
                                  "......a aplicação esta incompleta mas possui arquitetura rica destinada ao mercado!!!",

                    Contact = new OpenApiContact
                    {
                        Name  = "Guilherme Felix Silva",
                        Email = "*****@*****.**",
                        Url   = new Uri("https://www.linkedin.com/in/guilhermefdsilva/")
                    }
                });
            });
        }
Пример #2
0
        public string Salvar(ConfiguracoesModel model)
        {
            string mensagem;

            WorkLifetimeManager.Value.BeginTransaction(IsolationLevel.Serializable);

            try
            {
                var configuracao = ConfiguracaoRepositorio.Obter(WorkLifetimeManager.Value) ?? new Configuracao();

                configuracao.NomeEmpresa = model.NomeEmpresa;
                configuracao.CNPJEmpresa = model.CNPJEmpresa;

                ConfiguracaoRepositorio.Salvar(WorkLifetimeManager.Value, configuracao);
                WorkLifetimeManager.Value.Commit();

                mensagem = "Operação efetuada com sucesso!";
            }
            catch (Exception ex)
            {
                WorkLifetimeManager.Value.Rollback();

                mensagem = "Não foi possível efetuar alteração: " + ex.InnerException;
            }

            return(mensagem);
        }
Пример #3
0
        public ActionResult Index()
        {
            var configuracao = ConfiguracaoRepositorio.Obter(WorkLifetimeManager.Value) ?? new Configuracao();

            var model = new ConfiguracoesModel
            {
                NomeEmpresa     = configuracao.NomeEmpresa,
                CNPJEmpresa     = configuracao.CNPJEmpresa,
                TiposImportacao = RadioButtonHelper.ParseEnumToRadioButtonList(EnumTipoImportacao.Fonte)
            };

            return(PartialView(model));
        }
Пример #4
0
        // This method gets called by the runtime. Use this method to add services to the container.
        public void ConfigureServices(IServiceCollection services)
        {
            ConfiguracaoRepositorio.ConfDependenciesRepository(services);
            ConfiguracaoServicos.ConfDependenciesServices(services);

            services.AddSwaggerGen(c =>
            {
                c.SwaggerDoc("v1", new OpenApiInfo
                {
                    Version = "v1",
                    Title   = "Projeto de Bloco ASP.NET",
                });
            });
            services.AddControllers();
        }
Пример #5
0
        // This method gets called by the runtime. Use this method to add services to the container.
        public void ConfigureServices(IServiceCollection services)
        {
            ConfiguracaoRepositorio.ConfDependenciesRepository(services);
            ConfiguracaoServicos.ConfDependenciesServices(services);

            services.AddSwaggerGen(c =>
            {
                c.SwaggerDoc("v1", new OpenApiInfo
                {
                    Version = "v1",
                    Title   = "Projeto de Bloco ASP.NET",
                });
            });
            services.AddControllers().AddNewtonsoftJson(x => x.SerializerSettings.ReferenceLoopHandling = Newtonsoft.Json.ReferenceLoopHandling.Ignore);;
        }
Пример #6
0
        //public JsonResult Exportar(int id)
        //{
        //    bool sucesso;
        //    string mensagem;
        //    var nomeArquivo = string.Empty;

        //    try
        //    {
        //        var laudo = LaudoRepositorio.Obter(WorkLifetimeManager.Value, id);

        //        if (laudo == null)
        //            throw new InvalidOperationException(string.Format("Laudo não encontrado (Id: {0})", id));

        //        nomeArquivo = ExportarLaudo(laudo);
        //        sucesso = true;
        //        mensagem = "Arquivo exportado com sucesso!";
        //    }
        //    catch (Exception exception)
        //    {
        //        sucesso = false;
        //        mensagem = "Não foi possível realizar a operação: " + exception.Message;
        //    }

        //    return Json(new { sucesso, mensagem, nomeArquivo });
        //}

        public ActionResult Exportar(int id)
        {
            OpenXmlHelper openXmlHelper = new OpenXmlHelper();
            MemoryStream  memoryStream  = new MemoryStream();

            var laudo = LaudoRepositorio.Obter(WorkLifetimeManager.Value, id);

            var nomeArquivo = string.Format("UPredio_{0}.xlsx", laudo.Referencia.Replace("/", ""));

            HttpContext.Response.Clear();
            HttpContext.Response.AddHeader("content-disposition", string.Format("attachment;filename={0}", nomeArquivo));
            HttpContext.Response.Charset = "";
            HttpContext.Response.Cache.SetCacheability(HttpCacheability.NoCache);
            HttpContext.Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";

            WorkLifetimeManager.Value.BeginTransaction(IsolationLevel.Serializable);

            try
            {
                var configuracao    = ConfiguracaoRepositorio.Obter(WorkLifetimeManager.Value);
                var caminhoTemplate = Path.Combine(Server.MapPath("~/Content/uploads/"), "Source.xlsx");
                //var caminhoArquivo = Path.Combine(Server.MapPath("~/Content/uploads/"), nomeArquivo);

                using (FileStream source = System.IO.File.Open(caminhoTemplate, FileMode.Open))
                {
                    source.CopyTo(memoryStream);
                    openXmlHelper.PreencherPlanilha(memoryStream, laudo, configuracao);
                }

                laudo        = LaudoRepositorio.Obter(WorkLifetimeManager.Value, laudo.LaudoID);
                laudo.Status = (int)EnumStatusLaudo.Concluido;

                LaudoRepositorio.Salvar(WorkLifetimeManager.Value, laudo);

                WorkLifetimeManager.Value.Commit();
            }
            catch
            {
                WorkLifetimeManager.Value.Rollback();
            }

            memoryStream.Flush();
            memoryStream.WriteTo(HttpContext.Response.OutputStream);
            HttpContext.Response.End();

            return(File(memoryStream, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", nomeArquivo));
        }