示例#1
0
        public async Task <UploadModel> Post()
        {
            var         uploadService = InjectorManager.GetInstance <UploadArquivoService>();
            UploadModel model         = null;

            var provider = new MultipartMemoryStreamProvider();
            await Request.Content.ReadAsMultipartAsync(provider).
            ContinueWith(o =>
            {
                var fileContent = provider.Contents.SingleOrDefault();

                if (fileContent != null)
                {
                    var fileName = fileContent.Headers.ContentDisposition.FileName.Replace("\"", string.Empty);
                    var type     = fileContent.Headers.ContentType.MediaType;
                    var blob     = fileContent.ReadAsByteArrayAsync().Result;

                    var stream = fileContent.ReadAsStreamAsync().Result;
                    var upload = ImageService.ResizeAndCompress(stream);

                    model = uploadService.SalvarArquivo(upload);
                }
            });

            return(model);
        }
示例#2
0
 public ControllerSemODataBase()
 {
     UsuarioContexto = InjectorManager.GetInstance <UsuarioContexto>();
     UsuarioContexto.NomeDeUsuario = RetornarCampoIdentityClaim("NomeDeUsuario");
     UsuarioContexto.NomeDePerfil  = RetornarCampoIdentityClaim("NomeDePerfil");
     UsuarioContexto.Roles         = RetornarRoles();
 }
示例#3
0
        public static void Register(HttpConfiguration config)
        {
            var container = new Container();

            BindDependencies(container);

            config.DependencyResolver = new SimpleInjectorWebApiDependencyResolver(container);

            InjectorManager.SetContainer(container);
        }
示例#4
0
        public ControllerBase()
        {
            UsuarioContexto = InjectorManager.GetInstance <UsuarioContexto>();
            UsuarioContexto.NomeDeUsuario = RetornarCampoIdentityClaim("NomeDeUsuario");
            UsuarioContexto.NomeDePerfil  = RetornarCampoIdentityClaim("NomeDePerfil");

            if (!string.IsNullOrEmpty(RetornarCampoIdentityClaim("AceitouTermoDeUso")))
            {
                UsuarioContexto.AceitouTermoUso = Convert.ToBoolean(RetornarCampoIdentityClaim("AceitouTermoDeUso"));
            }

            UsuarioContexto.Roles = RetornarRoles();
        }
        public void ExcluirArquivo(int Id)
        {
            var contexto = InjectorManager.GetInstance <Contexto>();

            //não excluir imagens que pertençam a um layout
            var arquivo = contexto.Uploads.FirstOrDefault(item => item.Id.Equals(Id) &&
                                                          (!item.Imagens.Any(x => x.Artigo is Layout) ||
                                                           !item.ImagensGaleria.Any(x => x.Galeria.Artigo is Layout)));

            if (arquivo == null)
            {
                return;
            }

            contexto.Uploads.Remove(arquivo);
            contexto.SaveChanges();
        }
        public UploadModel SalvarArquivo(Upload upload)
        {
            var contexto = InjectorManager.GetInstance <Contexto>();

            contexto.Uploads.Add(upload);

            contexto.SaveChanges();

            return(new UploadModel
            {
                ArquivoId = upload.Id,
                Nome = upload.NomeArquivo,
                MediaType = upload.MediaType,
                Width = upload.Width.Value,
                Height = upload.Height.Value
            });
        }
示例#7
0
        public Usuario Autenticar(AutenticacaoTipo autenticacaoTipo, string nomeDeUsuario, string Senha)
        {
            IAutenticacaoAdService  adService;
            IAutenticacaoSapService sapService;
            Usuario usuario = null;

            switch (autenticacaoTipo)
            {
            case AutenticacaoTipo.Cms:
                adService = InjectorManager.GetInstance <IAutenticacaoAdService>();
                usuario   = adService.Autenticar(nomeDeUsuario, Senha);
                break;

            case AutenticacaoTipo.Mobile:
                sapService = InjectorManager.GetInstance <IAutenticacaoSapService>();
                usuario    = sapService.Autenticar(nomeDeUsuario, Senha);
                break;

            default:
                break;
            }

            return(usuario);
        }
 public AceitesTermoUsoController()
 {
     this.service = InjectorManager.GetInstance <AceitesTermosDeUsoService>();
     this.db      = InjectorManager.GetInstance <Contexto>();
 }
示例#9
0
        public override async Task GrantResourceOwnerCredentials(OAuthGrantResourceOwnerCredentialsContext context)
        {
            var appNameHeaderItem = context.Request.Headers.FirstOrDefault(item => item.Key.Equals("App"));
            IAutenticacaoService Autenticacaoservice;
            Usuario          user             = null;
            AutenticacaoTipo TipoAutenticacao = 0;

            try
            {
                if (appNameHeaderItem.Value != null && appNameHeaderItem.Value.Length > 0)
                {
                    TipoAutenticacao    = RetornarTipoAutenticacao(appNameHeaderItem.Value[0]);
                    Autenticacaoservice = InjectorManager.GetInstance <IAutenticacaoService>();
                    user = Autenticacaoservice.Autenticar(TipoAutenticacao, context.UserName, context.Password);
                }
            }
            catch (BusinessServiceException exception)
            {
                context.SetError("invalid_grant", exception.Message);
                return;
            }
            catch
            {
                context.SetError("invalid_grant", "Um erro crítico ocorreu durante a autenticação. Contacte a área responsável");
                return;
            }


            var identity = new ClaimsIdentity(context.Options.AuthenticationType);

            var aceitouTermoDeUso = VerificarSeUsuarioJaAceitouTermoDeuso(user.NomeDeUsuario);

            identity.AddClaim(new Claim("NomeDeUsuario", user.NomeDeUsuario));
            identity.AddClaim(new Claim("NomeDePerfil", user.Nome));
            identity.AddClaim(new Claim("AceitouTermoDeUso", aceitouTermoDeUso.ToString()));

            if (user.PerfilAdministrador)
            {
                identity.AddClaim(new Claim(ClaimTypes.Role, "Administrador"));
            }

            if (user.PerfilEditor)
            {
                identity.AddClaim(new Claim(ClaimTypes.Role, "Editor"));
            }

            if (user.PerfilMobile)
            {
                identity.AddClaim(new Claim(ClaimTypes.Role, "Mobile"));
            }

            if (TipoAutenticacao == AutenticacaoTipo.Cms)
            {
                identity.AddClaim(new Claim(ClaimTypes.Role, "UsuarioCms"));
            }

            if (TipoAutenticacao == AutenticacaoTipo.Mobile)
            {
                identity.AddClaim(new Claim(ClaimTypes.Role, "UsuarioApp"));
            }

            context.Validated(identity);
        }
示例#10
0
        public void Delete(int id)
        {
            var uploadService = InjectorManager.GetInstance <UploadArquivoService>();

            uploadService.ExcluirArquivo(id);
        }