예제 #1
0
 public void Cadastrar(Indicador obj)
 {
     IIndicadorRepositorio umIndicadorDAO = new IndicadorDAO(this._conexao);
     umIndicadorDAO.Cadastrar(obj);
 }
예제 #2
0
 public void Excluir(Indicador obj)
 {
     IIndicadorRepositorio umIndicadorDAO = new IndicadorDAO(this._conexao);
     umIndicadorDAO.Excluir(obj);
 }
예제 #3
0
        public double ApurarMetasPorMes(int ano, int mes, Funcionario funcionario, Projeto projeto, Indicador indicador)
        {
            OrdemServico ordemFiltro = new OrdemServico();
            ordemFiltro.DataDe = "01/" + mes + "/" + ano;
            ordemFiltro.DataAte = new DateTime(ano, mes, DateTime.DaysInMonth(ano, mes)).ToString("dd/MM/yyy");
            ordemFiltro.Projeto = projeto;
            ordemFiltro.Funcionario = funcionario;
            ordemFiltro.Cliente = new Cliente();

            OrdemServicoBUS umaOrdemServicoBUS = new OrdemServicoBUS(this._conexao, this._empresa, this._filial);
            List<OrdemServico> listaOrdens = umaOrdemServicoBUS.Pesquisar(ordemFiltro);

            double total = 0;

            switch (indicador.Codigo)
            {
                case 1: //HORA
                    foreach (var os in listaOrdens)
                    {
                        double horas = 0;

                        if ((os.Inicio == "00:00") && (os.Fim == "00:00"))
                        {
                            OrdemServicoRemoto osr = new OrdemServicoRemotoBUS(this._conexao, this._empresa, this._filial).Consultar(os.Codigo);
                            DateTime horasAcimaDeCem = new DateTime();
                            horasAcimaDeCem = horasAcimaDeCem.AddHours(Convert.ToInt32(osr.Total.Split(':')[0]));
                            horasAcimaDeCem = horasAcimaDeCem.AddMinutes(Convert.ToInt32(osr.Total.Split(':')[1]));
                            TimeSpan ticks = new TimeSpan(horasAcimaDeCem.Ticks);
                            total += ticks.TotalHours;
                        }
                        else
                        {
                            horas = TimeSpan.Parse(os.Total).TotalHours;
                        }
                        total += horas;
                    }
                    break;
                case 2: //PROSPECÇÕES                              
                    total = listaOrdens.Count;
                    break;
            }

            return total;
        }
예제 #4
0
        public Indicador Consultar(string empresa, string filia, int id)
        {
            FbCommand sqlCommand = new FbCommand();

            try
            {
                sqlCommand.Connection = this._conexao;
                sqlCommand.CommandText = "SELECT EMPRESA, FILIAL, CODIGO, DESCRICAO FROM INDICADOR " +
                                         "WHERE ((INDICADOR.EMPRESA = @EMPRESA) OR (INDICADOR.EMPRESA = '**')) " +
                                         "AND ((INDICADOR.FILIAL = @FILIAL) OR (INDICADOR.FILIAL = '**')) "+
                                         "AND CODIGO = @CODIGO";

                sqlCommand.Parameters.AddWithValue("@CODIGO", id);
                sqlCommand.Parameters.AddWithValue("@EMPRESA", empresa);
                sqlCommand.Parameters.AddWithValue("@FILIAL", filia);

                FbDataReader sqlReader = sqlCommand.ExecuteReader();

                int indexEmpresa = sqlReader.GetOrdinal("EMPRESA");
                int indexFilial = sqlReader.GetOrdinal("FILIAL");
                int indexCodigo = sqlReader.GetOrdinal("CODIGO");
                int indexDescricao = sqlReader.GetOrdinal("DESCRICAO");

                Indicador umIndicador = new Indicador();

                while (sqlReader.Read())
                {
                    umIndicador.Empresa = new Empresa();
                    umIndicador.Empresa.Codigo = sqlReader.GetString(indexEmpresa);
                    umIndicador.Filial = new Filial();
                    umIndicador.Filial.Codigo = sqlReader.GetString(indexFilial);
                    umIndicador.Codigo = sqlReader.GetInt32(indexCodigo);
                    umIndicador.Descricao = sqlReader.GetString(indexDescricao);
                }

                return umIndicador;
            }
            catch (FbException ex)
            {
                throw ex;
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                sqlCommand.Dispose();
            }
        }
예제 #5
0
 public void Excluir(Indicador obj)
 {
     throw new NotImplementedException();
 }
예제 #6
0
 public void Cadastrar(Indicador obj)
 {
     throw new NotImplementedException();
 }
예제 #7
0
        private IEnumerable<Indicador> ConverteDataTableEmList(DataTable dt)
        {
            int indexEmpresa = dt.Columns["EMPRESA"].Ordinal;
            int indexFilial = dt.Columns["FILIAL"].Ordinal;
            int indexCodigo = dt.Columns["CODIGO"].Ordinal;
            int indexDescricao = dt.Columns["DESCRICAO"].Ordinal;

            foreach (DataRow linha in dt.Rows)
            {
                Indicador umIndicador = new Indicador();
                umIndicador.Empresa = new Empresa();
                umIndicador.Empresa.Codigo = linha[indexEmpresa].ToString();
                umIndicador.Filial = new Filial();
                umIndicador.Filial.Codigo = linha[indexFilial].ToString();
                umIndicador.Codigo = Convert.ToInt32(linha[indexCodigo].ToString());
                umIndicador.Descricao = linha[indexDescricao].ToString();
                yield return umIndicador;
            }
        }