/// <summary>
        /// <para>Parse los stats iniciales</para>
        /// </summary>
        /// <param name="linea"></param>
        private static void ParseStatsIniciales(string linea)        // Parse los stats iniciales
        {
            string[]   elementos = linea.Split(',');
            GameObject obj       = GetOCrear(elementos[0]);
            Oficio     oficio    = obj.GetComponent <Oficio>();

            for (int i = 1; i < Oficio.statOrden.Length + 1; i++)
            {
                oficio.baseStats[i - 1] = Convert.ToInt32(elementos[i]);
            }

            CaracteristicaModificadorStat evasion = GetCaracteristica(obj, TipoStats.EVD);

            evasion.valor = Convert.ToInt32(elementos[8]);

            CaracteristicaModificadorStat res = GetCaracteristica(obj, TipoStats.RES);

            res.valor = Convert.ToInt32(elementos[9]);

            CaracteristicaModificadorStat movimiento = GetCaracteristica(obj, TipoStats.MOV);

            movimiento.valor = Convert.ToInt32(elementos[10]);

            CaracteristicaModificadorStat salto = GetCaracteristica(obj, TipoStats.JMP);

            salto.valor = Convert.ToInt32(elementos[11]);
        }
        /// <summary>
        /// <para>Parse los stats de crecimientos</para>
        /// </summary>
        /// <param name="linea"></param>
        private static void ParseStatsCrecimiento(string linea)        // Parse los stats de crecimientos
        {
            string[]   elementos = linea.Split(',');
            GameObject obj       = GetOCrear(elementos[0]);
            Oficio     oficio    = obj.GetComponent <Oficio>();

            for (int n = 1; n < elementos.Length; n++)
            {
                oficio.crecimientoStats[n - 1] = Convert.ToSingle(elementos[n]);
            }
        }
        internal Oficio ObterDadosPDF(int titulo, BancoDeDados banco = null)
        {
            Oficio oficio = new Oficio();

            using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco))
            {
                #region Dados do Título

                DadosPDF dados = DaEsp.ObterDadosTitulo(titulo, bancoDeDados);

                oficio.Titulo = dados.Titulo;
                oficio.Titulo.SetorEndereco = DaEsp.ObterEndSetor(oficio.Titulo.SetorId);
                oficio.Protocolo            = dados.Protocolo;
                oficio.Empreendimento       = dados.Empreendimento;

                #endregion

                #region Dados da Especificidade

                Comando comando = bancoDeDados.CriarComando(@"select e.dimensao, e.destinatario, e.descricao, ee.zona empreendimento_tipo
															from {0}esp_oficio_usucapiao e, {0}tab_protocolo p, {0}tab_empreendimento_endereco ee
															where e.protocolo = p.id and ee.empreendimento(+) = p.empreendimento and ee.correspondencia = 0 
															and e.titulo = :id"                                                            , EsquemaBanco);

                comando.AdicionarParametroEntrada("id", titulo, DbType.Int32);

                using (IDataReader reader = bancoDeDados.ExecutarReader(comando))
                {
                    if (reader.Read())
                    {
                        oficio.DestinatarioPGE = reader["destinatario"].ToString();
                        oficio.Descricao       = reader["descricao"].ToString();
                        oficio.Dimensao        = Convert.ToDecimal(reader["dimensao"]).ToStringTrunc();

                        if (reader["empreendimento_tipo"] != null && !Convert.IsDBNull(reader["empreendimento_tipo"]))
                        {
                            oficio.EmpreendimentoTipo = reader.GetValue <Int32>("empreendimento_tipo");
                        }
                    }

                    reader.Close();
                }

                #endregion

                oficio.Destinatario = DaEsp.ObterDadosPessoa(oficio.Destinatario.Id, oficio.Empreendimento.Id, bancoDeDados);

                oficio.Anexos = DaEsp.ObterAnexos(titulo, bancoDeDados);
            }

            return(oficio);
        }
Beispiel #4
0
        public object ObterDadosPdf(IEspecificidade especificidade, BancoDeDados banco)
        {
            try
            {
                Oficio oficio = _da.ObterDadosPDF(especificidade.Titulo.Id, banco);


                if (!string.IsNullOrEmpty(oficio.Titulo.Numero))
                {
                    string[] sequencial = oficio.Titulo.Numero.Split('/');

                    oficio.Titulo.Numero = sequencial[0].Length == 1 ? "0" + sequencial[0] + "/" + sequencial[1] : sequencial[0] + "/" + sequencial[1];
                }

                DataEmissaoPorExtenso(oficio.Titulo);


                #region Anexos

                oficio.AnexosPdfs = oficio.Anexos
                                    .Select(x => x.Arquivo)
                                    .Where(x => (!String.IsNullOrEmpty(x.Extensao) && x.Extensao.ToLower().IndexOf("pdf") > -1)).ToList();

                oficio.Anexos.RemoveAll(anexo =>
                                        String.IsNullOrEmpty(anexo.Arquivo.Extensao) ||
                                        !((new[] { ".jpg", ".gif", ".png", ".bmp" }).Any(x => anexo.Arquivo.Extensao.ToLower() == x)));

                if (oficio.Anexos != null && oficio.Anexos.Count > 0)
                {
                    foreach (AnexoPDF anexo in oficio.Anexos)
                    {
                        anexo.Arquivo.Conteudo = AsposeImage.RedimensionarImagem(
                            File.ReadAllBytes(anexo.Arquivo.Caminho),
                            11, eAsposeImageDimensao.Ambos);
                    }
                }

                #endregion

                return(oficio);
            }
            catch (Exception exc)
            {
                Validacao.AddErro(exc);
            }

            return(null);
        }
Beispiel #5
0
        public void get_Skills_Office(TcpClient cliente, string paquete)
        {
            string[]      separador_skill;
            GameCharacter personaje = cliente.Account.Game.Character;
            Oficio        oficio;
            SkillsOficio  skill = null;
            short         id_oficio, id_skill;
            byte          cantidad_minima, cantidad_maxima;
            float         tiempo;

            foreach (string datos_oficio in paquete.Substring(3).Split('|'))
            {
                id_oficio = short.Parse(datos_oficio.Split(';')[0]);
                oficio    = personaje.oficios.Find(x => x.id == id_oficio);

                if (oficio == null)
                {
                    oficio = new Oficio(id_oficio);
                    personaje.oficios.Add(oficio);
                }

                foreach (string datos_skill in datos_oficio.Split(';')[1].Split(','))
                {
                    separador_skill = datos_skill.Split('~');
                    id_skill        = short.Parse(separador_skill[0]);
                    cantidad_minima = byte.Parse(separador_skill[1]);
                    cantidad_maxima = byte.Parse(separador_skill[2]);
                    tiempo          = float.Parse(separador_skill[4]);
                    skill           = oficio.skills.Find(actividad => actividad.id == id_skill);

                    if (skill != null)
                    {
                        skill.set_Actualizar(id_skill, cantidad_minima, cantidad_maxima, tiempo);
                    }
                    else
                    {
                        oficio.skills.Add(new SkillsOficio(id_skill, cantidad_minima, cantidad_maxima, tiempo));
                    }
                }
            }

            personaje.evento_Oficios_Actualizados();
        }
Beispiel #6
0
        private void digitaçãoDeOfícioToolStripMenuItem_Click(object sender, EventArgs e)
        {
            bool open = false;

            foreach (Form form in this.MdiChildren)
            {
                if (form is Oficio)
                {
                    form.BringToFront();
                    open = true;
                }
            }
            if (!open)
            {
                Form tela = new Oficio();
                tela.MdiParent = this;
                tela.Show();
            }
        }
Beispiel #7
0
        public object ObterDadosPdf(IEspecificidade especificidade, BancoDeDados banco)
        {
            try
            {
                Oficio oficio = _da.ObterDadosPDF(especificidade.Titulo.Id, banco);
                DataEmissaoPorExtenso(oficio.Titulo);

                if (String.IsNullOrWhiteSpace(oficio.Titulo.ModeloHierarquia))
                {
                    oficio.Titulo.ModeloHierarquia = Mensagem.OficioNotificacao.HierarquiaSemInformacao.Texto;
                }

                return(oficio);
            }
            catch (Exception exc)
            {
                Validacao.AddErro(exc);
            }

            return(null);
        }
Beispiel #8
0
        public override IConfiguradorPdf ObterConfiguradorPdf(IEspecificidade especificidade)
        {
            ConfiguracaoDefault conf = new ConfiguracaoDefault();

            conf.AddLoadAcao((doc, dataSource) =>
            {
                Oficio oficio            = dataSource as Oficio;
                List <Table> itenRemover = new List <Table>();

                if (oficio.SituacoesGrupo == null || oficio.SituacoesGrupo.Count == 0)
                {
                    itenRemover.Add(doc.FindTable("«TableStart:SituacoesGrupo»«Nome»«TableEnd:SituacoesGrupo»"));
                }

                AsposeExtensoes.RemoveTables(itenRemover);
            });

            conf.CabecalhoRodape = CabecalhoRodapeFactory.Criar(especificidade.Titulo.SetorId);

            return(conf);
        }
Beispiel #9
0
        public override IConfiguradorPdf ObterConfiguradorPdf(IEspecificidade especificidade)
        {
            ConfiguracaoDefault conf = new ConfiguracaoDefault();

            conf.CabecalhoRodape = CabecalhoRodapeFactory.Criar(especificidade.Titulo.SetorId);

            conf.AddLoadAcao((doc, dataSource) =>
            {
                Oficio oficio            = dataSource as Oficio;
                List <Table> itenRemover = new List <Table>();
                conf.CabecalhoRodape     = CabecalhoRodapeFactory.Criar(especificidade.Titulo.SetorId);

                //if (oficio.Anexos.Count <= 0)
                //{
                //    doc.FindTable("«TableStart:Anexos»").RemovePageBreakAnterior();
                //    itenRemover.Add(doc.FindTable("«TableStart:Anexos»"));
                //}

                AsposeExtensoes.RemoveTables(itenRemover);
            });

            return(conf);
        }
Beispiel #10
0
        internal Oficio ObterDadosPDF(int titulo, BancoDeDados banco = null)
        {
            Oficio oficio = new Oficio();

            using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco))
            {
                #region Dados do Título

                DadosPDF dados = DaEsp.ObterDadosTitulo(titulo, bancoDeDados);

                oficio.Titulo = dados.Titulo;
                oficio.Titulo.SetorEndereco = DaEsp.ObterEndSetor(oficio.Titulo.SetorId);
                oficio.Protocolo            = dados.Protocolo;
                oficio.Empreendimento       = dados.Empreendimento;

                #endregion

                #region Dados da Especificidade

                Comando comando = bancoDeDados.CriarComando(@"select e.destinatario from {0}esp_oficio_notificacao e where e.titulo = :id", EsquemaBanco);

                comando.AdicionarParametroEntrada("id", titulo, DbType.Int32);

                using (IDataReader reader = bancoDeDados.ExecutarReader(comando))
                {
                    if (reader.Read())
                    {
                        oficio.Destinatario.Id = Convert.ToInt32(reader["destinatario"]);
                    }

                    reader.Close();
                }

                #endregion

                oficio.Destinatario = DaEsp.ObterDadosPessoa(oficio.Destinatario.Id, oficio.Empreendimento.Id, bancoDeDados);

                #region Itens da analise

                comando = bancoDeDados.CriarComando(@"select ri.item_id, ri.nome, i.situacao situacao_id, lis.texto situacao_texto, i.motivo
				from {0}esp_oficio_notificacao p, {0}tab_analise_itens i, {0}hst_roteiro_item ri, {0}lov_analise_item_situacao lis
				where i.analise = p.analise_id and p.titulo = :id and i.item_id = ri.item_id and i.item_tid = ri.tid 
				and i.situacao = lis.id and i.situacao in (2,4)"                , EsquemaBanco);

                comando.AdicionarParametroEntrada("id", titulo, DbType.Int32);

                oficio.SituacoesGrupo = new List <AnaliseSituacaoGrupoPDF>();
                AnaliseSituacaoGrupoPDF situacaoGrupo = null;

                using (IDataReader reader = bancoDeDados.ExecutarReader(comando))
                {
                    AnaliseItemPDF item;

                    while (reader.Read())
                    {
                        item        = new AnaliseItemPDF();
                        item.Id     = Convert.ToInt32(reader["item_id"]);
                        item.Nome   = reader["nome"].ToString();
                        item.Motivo = reader["motivo"].ToString();

                        int situacaoId = Convert.ToInt32(reader["situacao_id"]);
                        situacaoGrupo = oficio.SituacoesGrupo.FirstOrDefault(x => x.Situacao == situacaoId);

                        if (situacaoGrupo == null)
                        {
                            situacaoGrupo               = new AnaliseSituacaoGrupoPDF();
                            situacaoGrupo.Situacao      = Convert.ToInt32(reader["situacao_id"]);
                            situacaoGrupo.SituacaoTexto = reader["situacao_texto"].ToString();
                            oficio.SituacoesGrupo.Add(situacaoGrupo);
                        }

                        situacaoGrupo.Itens.Add(item);
                    }

                    reader.Close();
                }

                #endregion
            }

            return(oficio);
        }
Beispiel #11
0
        public void get_Skills_Oficio(ClienteTcp cliente, string paquete)
        {
            PersonajeJuego personaje = cliente.cuenta.juego.personaje;
            short          id_oficio;
            short          id_skill;

            Predicate <Oficio> < > 9__0;
            Predicate <SkillsOficio> < > 9__1;
            foreach (string text in paquete.Substring(3).Split(new char[]
            {
                '|'
            }))
            {
                id_oficio = short.Parse(text.Split(new char[]
                {
                    ';'
                })[0]);
                List <Oficio>      oficios = personaje.oficios;
                Predicate <Oficio> match;
                if ((match = < > 9__0) == null)
                {
                    match = (< > 9__0 = ((Oficio x) => x.id == (int)id_oficio));
                }
                Oficio oficio = oficios.Find(match);
                bool   flag   = oficio == null;
                if (flag)
                {
                    oficio = new Oficio((int)id_oficio);
                    personaje.oficios.Add(oficio);
                }
                foreach (string text2 in text.Split(new char[]
                {
                    ';'
                })[1].Split(new char[]
                {
                    ','
                }))
                {
                    string[] array3 = text2.Split(new char[]
                    {
                        '~'
                    });
                    id_skill = short.Parse(array3[0]);
                    byte  cantidad_minima           = byte.Parse(array3[1]);
                    byte  cantidad_maxima           = byte.Parse(array3[2]);
                    float tiempo                    = float.Parse(array3[4]);
                    List <SkillsOficio>      skills = oficio.skills;
                    Predicate <SkillsOficio> match2;
                    if ((match2 = < > 9__1) == null)
                    {
                        match2 = (< > 9__1 = ((SkillsOficio actividad) => actividad.id == id_skill));
                    }
                    SkillsOficio skillsOficio = skills.Find(match2);
                    bool         flag2        = skillsOficio != null;
                    if (flag2)
                    {
                        skillsOficio.set_Actualizar(id_skill, cantidad_minima, cantidad_maxima, tiempo);
                    }
                    else
                    {
                        oficio.skills.Add(new SkillsOficio(id_skill, cantidad_minima, cantidad_maxima, tiempo));
                    }
                }
            }
            personaje.evento_Oficios_Actualizados();
        }