예제 #1
0
 public OportunidadeDomain(SegurancaService service,
                           OportunidadeRepository repository, EnderecoService endService)
 {
     _segService   = service;
     _opRepository = repository;
     _endService   = endService;
 }
예제 #2
0
 public OportunidadeDomain(SegurancaService service,
                           OportunidadeRepository repository, UserXOportunidadeRepository xRepository)
 {
     _segService   = service;
     _opRepository = repository;
     _repository   = xRepository;
 }
예제 #3
0
 public EmailHandler(IConfiguration config, ConfiguracaoService configService, EmailService emailService, SegurancaService service)
 {
     _config        = config;
     _configService = configService;
     _emailService  = emailService;
     _service       = service;
 }
예제 #4
0
 public QrCodeController(SegurancaService service,
                         TokenDomain domain, QrCodeHandler handler, IConfiguration configuration)
 {
     _service       = service;
     _domain        = domain;
     _handler       = handler;
     _configuration = configuration;
 }
예제 #5
0
        public void ConfigureServices(IServiceCollection services)
        {
            services.Configure <CookiePolicyOptions>(options =>
            {
                options.CheckConsentNeeded    = context => true;
                options.MinimumSameSitePolicy = SameSiteMode.None;
            });

            services.AddDbContext <ApiDbContext>(options =>
                                                 options.UseSqlServer(SegurancaService.Descriptografar(Configuration.GetConnectionString("DefaultConnection"))));

            //services.AddEntityFrameworkNpgsql()
            //    .AddDbContext<CatalogoDbContext>(options =>
            //    options.UseNpgsql(SegurancaService.Descriptografar(Configuration.GetConnectionString("PostgreSQLDBConnection"))));


            services.AddDbContext <KlinikosDbContext>(options =>
                                                      options.UseSqlServer(Configuration.GetConnectionString("KlinikosConnection")));

            services.AddScoped <UserService>();
            services.AddScoped <AccessManager>();

            _signingConfigurations = new SigningConfigurations();
            services.AddSingleton(_signingConfigurations);

            _tokenConfigurations = new TokenConfigurations();
            new ConfigureFromConfigurationOptions <TokenConfigurations>(
                Configuration.GetSection("TokenConfigurations"))
            .Configure(_tokenConfigurations);
            services.AddSingleton(_tokenConfigurations);

            //Aciona a extensão que irá configurar o uso de
            //autenticação e autorização via tokens
            services.AddJwtSecurity(_signingConfigurations, _tokenConfigurations);


            services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_2);

            services.AddCors(o => o.AddPolicy("ApiPolicy", builder =>
            {
                builder.AllowAnyOrigin()
                .AllowAnyMethod()
                .AllowAnyHeader();
            }));
        }
예제 #6
0
 public CheckInController(SegurancaService service, CheckInDomain domain)
 {
     _service = service;
     _domain  = domain;
 }
예제 #7
0
 public ExtratosController(SegurancaService service, ExtratoDomain domain, EmailHandler emailHandler)
 {
     _service      = service;
     _domain       = domain;
     _emailHandler = emailHandler;
 }
예제 #8
0
 public EmpresaXEspecialidadesController([FromServices] EmpresaXEspecialidadesDomain domain, [FromServices] SegurancaService service)
 {
     _domain  = domain;
     _service = service;
 }
예제 #9
0
 public EnderecoDomain(SegurancaService service,
                       EnderecoRepository repository)
 {
     _segService   = service;
     _edRepository = repository;
 }
예제 #10
0
 public DadosBancariosController(SegurancaService service, DadosBancariosDomain domain)
 {
     _service = service;
     _domain  = domain;
 }
예제 #11
0
 public ContatoDomain(ContatoRepository repository, SegurancaService segService)
 {
     _repository = repository;
     _segService = segService;
 }
예제 #12
0
        public async Task <IActionResult> SaveAsync([FromRoute] string token, [FromBody] Empresa empresa)
        {
            try
            {
                if (empresa.Responsavel != null)
                {
                    var responsavel = _rDomain.Save(empresa.Responsavel);
                    empresa.ResponsavelId = responsavel.ID;
                    empresa.Responsavel   = responsavel;
                }
                var ep = await _domain.SaveAsync(empresa, token);

                ep.Endereco = await _edDomain.SaveAsync(ep.Endereco, token);

                await _cDomain.SaveAsync(ep.Contatos, token);

                if (empresa.TipoEmpresaId == 4)
                {
                    empresa.Telefone.EmpresaId = empresa.ID;
                    empresa.Endereco.EmpresaId = empresa.ID;
                }
                ep.Telefone = await _tDomain.SaveAsync(ep.Telefone, token);

                ep.Responsavel = empresa.Responsavel;

                //var oldEXe = default(EmpresaXEspecialidade);

                //if(ep.ID > 0 && ep.EspecialidadeId > 0)
                //{
                //    var result = _eXeDomain.GetByEmpresaId(ep.ID);
                //    oldEXe = _eXeDomain.Save(new EmpresaXEspecialidade(result == null ? 0 : result.ID, ep.ID, ep.EspecialidadeId));
                //}

                var oeXe = new EmpresaXEspecialidade();

                if (empresa.idsEspecialidades != null)
                {
                    oeXe.EmpresaId = ep.ID;

                    var bExe = _eXeDomain.GetByIdEmpresa(oeXe.EmpresaId);
                    if (bExe.Count() > 0)
                    {
                        for (int i = 0; i < bExe.Count(); i++)
                        {
                            oeXe.ID = bExe.ElementAtOrDefault(i).ID;

                            _eXeDomain.Delete(oeXe);
                        }
                    }

                    foreach (var item in empresa.idsEspecialidades)
                    {
                        oeXe.ID = 0;
                        oeXe.EspecialidadeId = item;

                        var mXc = _eXeDomain.Save(oeXe);
                    }
                }

                if (empresa.IdCliente == 12 && "saudesite".Equals(empresa.Origem))
                {
                    var perfis = await SegurancaService.GetUsuariosAsync(13);

                    var admins = await UsuarioService.GetByIdsAsync(12, perfis.Select(x => x.IdUsuario));

                    var email = new EmailHandler();

                    if (empresa.TipoEmpresaId == 1)
                    {
                        await email.EnviarEmailAsync(empresa.Tipo, empresa.ID, admins);
                    }
                    else if (empresa.TipoEmpresaId == 3)
                    {
                        await email.EnviarEmailAsync(empresa.Tipo, empresa.CodigoExterno, admins);
                    }
                }



                return(Ok(ep));
            }
            catch (InvalidTokenException e)
            {
                return(StatusCode(401, $"{ e.Message } { e.InnerException.Message }"));
            }
            catch (ServiceException e)
            {
                return(StatusCode(401, $"{ e.Message } { e.InnerException.Message }"));
            }
            catch (EmpresaException e)
            {
                return(StatusCode(400, $"{ e.Message } { e.InnerException.Message }"));
            }
            catch (Exception e)
            {
                return(StatusCode(500, "Ocorreu um erro ao tentar salvar a empresa recebida. Entre em contato com o suporte."));
            }
        }
예제 #13
0
 public OportunidadeStatusDomain(SegurancaService segService, OportunidadeStatusRepository osRepository)
 {
     _segService   = segService;
     _osRepository = osRepository;
 }
예제 #14
0
 public TelefoneDomain(TelefoneRepository repository, SegurancaService segService)
 {
     _repository = repository;
     _segService = segService;
 }
예제 #15
0
 public EmpresaDomain(EmpresaRepository repository, SegurancaService segService)
 {
     _repository = repository;
     _segService = segService;
 }
예제 #16
0
 public TipoEmpresasDomain(TipoEmpresaRepository repository, SegurancaService segService)
 {
     _repository = repository;
     _segService = segService;
 }