コード例 #1
0
        public Resposta EnviarArquivoFtp(string arquivo, string url, string usuario, string senha)
        {
            try
            {
                DeletarArquivoFtp(arquivo, url, usuario, senha);
                string nomeArquivo = Tratar(arquivo);
                var    request     = (System.Net.FtpWebRequest)System.Net.WebRequest.Create(url + nomeArquivo);

                request.Method        = System.Net.WebRequestMethods.Ftp.UploadFile;
                request.Credentials   = new System.Net.NetworkCredential(usuario, senha);
                request.UseBinary     = true;
                request.ContentLength = arquivoInfo.Length;
                using (FileStream fs = arquivoInfo.OpenRead())
                {
                    byte[] buffer    = new byte[2048];
                    int    bytesSent = 0;
                    int    bytes     = 0;
                    using (Stream stream = request.GetRequestStream())
                    {
                        while (bytesSent < arquivoInfo.Length)
                        {
                            bytes = fs.Read(buffer, 0, buffer.Length);
                            stream.Write(buffer, 0, bytes);
                            bytesSent += bytes;
                        }
                    }
                }
                return(Resposta.Sucesso(nomeArquivo));
            }
            catch (Exception e)
            {
                return(Resposta.Aviso(e.Message));
            }
        }
コード例 #2
0
        public async Task <Resposta> CadastrarPerfilAsync(PerfilCadastroModel model, CancellationToken cancellationToken = default)
        {
            if (string.IsNullOrEmpty(model.Nome))
            {
                return(Resposta.Aviso("Nome do perfil não informado!"));
            }

            if (model.Nome.Length > 200)
            {
                return(Resposta.Aviso("Nome do perfil não pode conter mais que 200 carácteres!"));
            }

            var perfil = new Perfil(model.Nome);

            await _repositorio.IncluirAsync(perfil, cancellationToken);

            return(Resposta.Sucesso($"Perfil {perfil.Nome} cadastrado com sucesso!", new { perfil.Id, perfil.Nome }));
        }
コード例 #3
0
        public async Task <Resposta> CadastrarUsuarioAsync(UsuarioCadastroModel model, CancellationToken cancellationToken = default)
        {
            if (string.IsNullOrEmpty(model.Nome))
            {
                return(Resposta.Aviso("Nome do usuário não informado!"));
            }

            if (model.Nome.Length > 90)
            {
                return(Resposta.Aviso("Nome do perfil não pode conter mais que 90 carácteres!"));
            }

            var perfil = await _perfilRep.RecuperarAsync(model.Perfil);

            var usuario = new Usuario(model.Nome, model.Email, model.Senha, perfil);

            await _rep.IncluirAsync(usuario, cancellationToken);

            return(Resposta.Sucesso($"Usuario {usuario.Nome} cadastrado com sucesso!", new { usuario.Id, usuario.Nome }));
        }