Beispiel #1
0
        public static void WelcomeEmail(string anexo, string racf, string nomeLocatario, string locatarioCpf)
        {
            Usuario   user = UsuarioBusiness.UserData(racf);
            Locatario loc  = LocatarioFacade.LocatarioData(nomeLocatario, locatarioCpf);

            EmailFacade.WelcomeEmail(user.Email, loc.Email, user.SenhaEmail, anexo, user.Nome, loc.Nome);
        }
Beispiel #2
0
        public static string GenerateDocument(string racf, string nomeLocatarioBase, string locatarioCpf, Contrato contrato)
        {
            var repetitionKey = new List <string>()
            {
                "[NOMELOCADOR]", "[CPFLOCADOR]", "[RGLOCADOR]", "[NOMELOCATARIO]", "[CPFLOCATARIO]", "[RGLOCATARIO]"
            };
            var fieldList = new Dictionary <string, string>();

            Usuario   user = UsuarioBusiness.UserData(racf);
            Locatario loc  = LocatarioFacade.LocatarioData(nomeLocatarioBase, locatarioCpf);
            Casa      casa = CasaFacade.CasaLocatario(loc.FkCasa);

            // Informações - Locador

            fieldList.Add("[NOMELOCADOR]", user.Nome);
            fieldList.Add("[CPFLOCADOR]", user.Cpf);
            fieldList.Add("[RGLOCADOR]", user.Rg);
            fieldList.Add("[RUALOCADOR]", user.Rua);
            fieldList.Add("[CASALOCADOR]", user.CasaNumero.ToString());
            fieldList.Add("[BAIRROLOCADOR]", user.Bairro);

            // Informações - Locatário

            string diaPagamento  = loc.DiaPagamento.Split('/')[0];
            string nomeLocatario = loc.Nome;

            fieldList.Add("[NOMELOCATARIO]", nomeLocatario);
            fieldList.Add("[CPFLOCATARIO]", loc.Cpf);
            fieldList.Add("[RGLOCATARIO]", loc.Rg);
            fieldList.Add("[ALUGUEL]", loc.VlAluguel.ToString("f2", CultureInfo.InvariantCulture));
            fieldList.Add("[ALUGUELEXTENSO]", CommonBusiness.EscreverExtenso(loc.VlAluguel));
            fieldList.Add("[DIAPAGAMENTO]", diaPagamento);
            fieldList.Add("[DIAPAGAMENTOEXTENSOORDINAL]", CommonBusiness.RetornarDiaMesOrdinal(Convert.ToInt32(diaPagamento)));

            // Informações - Contrato

            fieldList.Add("[RUALOCACAO]", casa.Rua);
            fieldList.Add("[NUMEROLOCACAO]", casa.Numero.ToString());
            fieldList.Add("[BAIRROLOCACAO]", casa.Bairro);
            fieldList.Add("[CIDADELOCACAO]", casa.Cidade);

            // Informações Locatario - Domicílio de Origem

            fieldList.Add("[RUALOCATARIO]", contrato.Rua);
            fieldList.Add("[BAIRROLOCATARIO]", contrato.Bairro);
            fieldList.Add("[UFLOCATARIO]", contrato.UF);
            fieldList.Add("[CIDADELOCATARIO]", contrato.CidadeOrigemLocatario);

            // Informações Dados Deposito

            string numeroConta = contrato.Conta.ToString();
            string digitoConta = contrato.Digito.ToString();

            if (!string.IsNullOrEmpty(digitoConta))
            {
                numeroConta = numeroConta + "-" + digitoConta;
            }

            fieldList.Add("[CODIGOBANCO]", contrato.CodigoBanco.ToString());
            fieldList.Add("[NOMEBANCO]", contrato.NomeBanco);
            fieldList.Add("[AGENCIA]", contrato.Agencia.ToString());
            fieldList.Add("[NUMEROCONTA]", numeroConta);
            fieldList.Add("[TIPOCONTA]", contrato.TipoConta);

            // (+) Informações Contrato

            string mesExtenso = DateTimeFormatInfo.CurrentInfo.GetMonthName(DateTime.Now.Month).ToLower();

            mesExtenso = char.ToUpper(mesExtenso[0]) + mesExtenso.Substring(1);

            fieldList.Add("[CIDADEATUAL]", contrato.CidadeAtual);
            fieldList.Add("[DIAATUAL]", DateTime.Now.Day.ToString());
            fieldList.Add("[MESATUAL]", mesExtenso);
            fieldList.Add("[ANOATUAL]", DateTime.Now.Year.ToString());

            int vigenciaMeses = contrato.VigenciaMeses;

            fieldList.Add("[DATAINICIOVIGENCIA]", contrato.InicioContrato.ToString("dd/MM/yyyy"));
            fieldList.Add("[DATAFIMVIGENCIA]", contrato.TerminoContrato.ToString("dd/MM/yyyy"));
            fieldList.Add("[VIGENCIAMESES]", vigenciaMeses.ToString());
            fieldList.Add("[VIGENCIAEXTENSOMESES]", GeneralMethods.FindExtensiveNumber(vigenciaMeses, "e"));


            if (!Directory.Exists(DiretorioContratoFim))
            {
                throw new Exception($"O diretório destino dos contratos de locação foi apagado ou está inacessível. Diretório: {DiretorioBase}");
            }

            object destinationPath = DiretorioContratoFim + $@"\Contrato_Locacao_{nomeLocatario}_" + DateTime.Now.Date.ToString("dd-MM-yyyy") + ".docx";

            Application app = new Application();

            app.Visible = false;

            object missing        = System.Reflection.Missing.Value;
            object findText       = null;
            object replaceWith    = null;
            object matchWholeWord = true;
            object forward        = false;

            Document doc = app.Documents.Open(DiretorioContratoBase, ReadOnly: true);
            Range    rng = doc.Range(ref missing, ref missing);

            // Replace dos Campos

            foreach (var item in fieldList)
            {
                rng         = doc.Range(ref missing, ref missing);
                findText    = item.Key;
                replaceWith = item.Value;

                rng.Find.Execute(ref findText, ref missing, ref matchWholeWord, ref missing, ref missing, ref missing, ref forward, ref missing, ref missing, ref replaceWith,
                                 ref missing, ref missing, ref missing, ref missing, ref missing);

                if (repetitionKey.Contains(findText))
                {
                    rng.Find.Execute(ref findText, ref missing, ref matchWholeWord, ref missing, ref missing, ref missing, ref forward, ref missing, ref missing, ref replaceWith,
                                     ref missing, ref missing, ref missing, ref missing, ref missing);
                }
            }

            // Salvar Arquivo

            doc.SaveAs2(destinationPath);
            doc.Close();


            app.DisplayAlerts = WdAlertLevel.wdAlertsNone;
            app.Quit();

            return(destinationPath.ToString());
        }