Example #1
0
        public string GerarFatura(string postedData)
        {
            var    js         = new JavaScriptSerializer();
            var    boleto     = js.Deserialize <LoteBoleto>(postedData);
            var    fatura     = new FaturaViewModel();
            var    tokenIUGU  = new RepositorioParametro().Listar().FirstOrDefault().TokenIUGU;
            var    response   = "";
            string faturaJSON = "";

            try
            {
                //Util.EnviarBoletoPorEmail(boleto, "boleto.pdf");
                if (boleto.TituloId != null)
                {
                    fatura = Util.GerarFatura(boleto);
                }
                else
                {
                    fatura = Util.GerarFatura((int)boleto.TituloRecorrenteId, boleto.ModeloBoletoId, boleto.DataVencimento, boleto.Valor);
                }


                faturaJSON = js.Serialize(fatura);

                using (WebClient client = new WebClient()) {
                    client.Encoding = System.Text.Encoding.UTF8;

                    client.Headers.Add("Content-Type", "application/json");
                    client.Headers.Add("Authorization", "Basic " + tokenIUGU);

                    response = client.UploadString("https://api.iugu.com/v1/invoices", "POST", faturaJSON);
                }

                var faturaResponse = js.Deserialize <FaturaResponse>(response);
                if (faturaResponse != null)
                {
                    var faturaGerada = new FaturaGerada();
                    faturaGerada.DataVencimento     = DateTime.Parse(faturaResponse.due_date);
                    faturaGerada.IuguId             = faturaResponse.id;
                    faturaGerada.TituloId           = boleto.TituloId;
                    faturaGerada.TituloRecorrenteId = boleto.TituloRecorrenteId;
                    faturaGerada.UrlFatura          = faturaResponse.secure_url;

                    var repoFaturaGerada = new RepositorioFaturaGerada();
                    repoFaturaGerada.Incluir(faturaGerada);
                }

                return("Enviado");
            }
            catch (WebException e)
            {
                return(StreamToString(e.Response.GetResponseStream()) + "      " + faturaJSON);
            }
        }
        public FaturaResponse BuscarFaturaIUGU(string iuguId)
        {
            using (WebClient client = new WebClient())
            {
                client.Encoding = System.Text.Encoding.UTF8;
                var tokenIUGU = new RepositorioParametro().Listar().FirstOrDefault().TokenIUGU;

                client.Headers.Add("Content-Type", "application/json");
                client.Headers.Add("Authorization", "Basic " + tokenIUGU);

                var response       = client.DownloadString("https://api.iugu.com/v1/invoices/" + iuguId);
                var js             = new JavaScriptSerializer();
                var faturaResponse = js.Deserialize <FaturaResponse>(response);
                return(faturaResponse);
            }
        }
Example #3
0
        private void EnviarEmailPosLiquidacao(List <Liquidacao> liquidacoes, Titulo obj)
        {
            var pessoa = new RepositorioPessoa().BuscarPorId(obj.PessoaId);

            if (pessoa.RecebeEmailLiquidacao)
            {
                Parametro parametro = new RepositorioParametro().Listar().FirstOrDefault();

                foreach (var item in liquidacoes)
                {
                    var empresa = new RepositorioEmpresa().BuscarPorId(parametro.EmpresaId);
                    var email   = new Email(pessoa.EmailFinanceiro, SubstituiVariaveis(item, parametro.TextoEmailLiquidacao), parametro.AssuntoEmailLiquidacao, empresa.EmailFinanceiro);
                    email.DispararMensagem();
                }
            }
        }
Example #4
0
        public string SegundaVia(string iuguId, string dataVencimentoSelecionada)
        {
            var segundaVia = new SegundaVia();

            segundaVia.current_fines_option  = "true";
            segundaVia.due_date              = dataVencimentoSelecionada;
            segundaVia.ignore_due_email      = "false";
            segundaVia.ignore_canceled_email = "true";

            var js             = new JavaScriptSerializer();
            var segundaViaJSON = js.Serialize(segundaVia);

            var tokenIUGU = new RepositorioParametro().Listar().FirstOrDefault().TokenIUGU;
            var response  = "";

            using (WebClient client = new WebClient())
            {
                client.Encoding = System.Text.Encoding.UTF8;

                client.Headers.Add("Content-Type", "application/json");
                client.Headers.Add("Authorization", "Basic " + tokenIUGU);
                var address = "https://api.iugu.com/v1/invoices/" + iuguId + "/duplicate";

                response = client.UploadString(address, "POST", segundaViaJSON);
            }

            var faturaResponse = js.Deserialize <FaturaResponse>(response);

            if (faturaResponse != null)
            {
                var repoFaturaGerada = new RepositorioFaturaGerada();
                var faturaAntiga     = repo.Listar().Where(fg => fg.IuguId == iuguId).FirstOrDefault();
                faturaAntiga.IuguId    = faturaResponse.id;
                faturaAntiga.UrlFatura = faturaResponse.secure_url;

                repoFaturaGerada.Alterar(faturaAntiga);
            }
            return(response);
        }