Esempio n. 1
0
    public static void LogBeforeSave(Habit habit, TypeUpdate typeUpdate, HabitField field, object newValue, string logDescription, MSSQLLocalDBEntities context)
    {
        var habitLog = new HabitLog
        {
            ChangeDescription = logDescription,
            DoneDate          = DateTime.Now,
            HabitId           = habit.Id
        };

        switch (field)
        {
        case HabitField.Name:
            habitLog.OldValue = habit.Name;
            break;

        case HabitField.DoneDate:
            habitLog.OldValue = habit.DoneDate?.ToString();
            break;

        case HabitField.NewRecord:
            break;

        case HabitField.DeleteRecord:
            break;

        default:
            habitLog.OldValue = "";
            break;
        }
        habitLog.NewValue = newValue.ToString();
        context.HabitLogs.Add(habitLog);
        context.SaveChanges();
    }
Esempio n. 2
0
        public SqlMakerProjects(
            BptConnection bptConnection = null,
            Connection connection       = null,
            TypeUpdate typeUpdate       = TypeUpdate.Increment)
        {
            if (bptConnection != null)
            {
                this.bptConnection = bptConnection;
            }
            else
            {
                throw new ArgumentNullException("bptConnection", "O parâmetro 'bptConnection' não pode ser null");
            }

            if (connection != null)
            {
                this.Connection = connection;
            }
            else
            {
                throw new ArgumentNullException("connection", "O parâmetro 'connection' não pode ser null");
            }

            this.typeUpdate = typeUpdate;
        }
        //public override void LoadData_Testes(TypeUpdate typeUpdate)
        //{
        //    var oTestes_Template_05 = new Testes_Template_05(projeto: this, typeUpdate: typeUpdate);
        //    oTestes_Template_05.LoadData();
        //}

        //public override void LoadData_Steps(TypeUpdate typeUpdate)
        //{
        //    var oSteps_Template_05 = new Steps_Template_05(projeto: this, typeUpdate: typeUpdate);
        //    oSteps_Template_05.LoadData();
        //}

        //public override void LoadData_CTs(TypeUpdate typeUpdate)
        //{
        //    var oCTs_Template_05 = new CTs_Template_05(projeto: this, typeUpdate: typeUpdate);
        //    oCTs_Template_05.LoadData();
        //}

        //public override void LoadData_Execucoes(TypeUpdate typeUpdate)
        //{
        //    var oExecucoes_Template_05 = new Execucoes_Template_05(projeto: this, typeUpdate: typeUpdate);
        //    oExecucoes_Template_05.LoadData();
        //}

        //public override void LoadData_Defeitos(TypeUpdate typeUpdate)
        //{
        //    var defeitos_Template_05 = new Defeitos_Template_05(projeto: this, TypeUpdate: typeUpdate);
        //    defeitos_Template_05.LoadData();
        //}

        //public override void LoadData_Defeitos_Links(TypeUpdate typeUpdate)
        //{
        //    var defeitos_Links_Template_05 = new Defeitos_Links_Template_05(projeto: this, typeUpdate: typeUpdate);
        //    defeitos_Links_Template_05.LoadData();
        //}

        public override void LoadData_Defeitos_Tempos(TypeUpdate typeUpdate)
        {
            DateTime Dt_Inicio_Geral = DateTime.Now;

            // Defeitos_Tempos.LoadData(project, typeUpdate, alm.Database); já alterado ??????????

            Connection SGQConn = new Connection();

            SGQConn.Executar(
                @"update ALM_Defeitos
                    set Qtd_Reopen = 
                        (select count(*)
                            from  
                            (select distinct Dt_Ate from ALM_Defeitos_Tempos t 
                                where t.Subprojeto = '{Subprojeto}' and t.Entrega = '{Entrega}' and t.Defeito = ALM_Defeitos.Defeito and t.Status = 'REOPEN') x
                        ) ".Replace("{Subprojeto}", this.Subprojeto).Replace("{Entrega}", this.Entrega));

            SGQConn.Dispose();

            DateTime Dt_Fim_Geral = DateTime.Now;

            if (typeUpdate == TypeUpdate.Full)
            {
                Gerais.Enviar_Email_Atualizacao_Projetos(
                    @"SGQ - ALM - Projeto " + this.Nome +
                    " Atualizado - Tipo Atualização: " + typeUpdate +
                    ", Escopo de Dados: Defeitos Tempos",
                    new List <String> {
                    this.Nome
                },
                    Dt_Inicio_Geral,
                    Dt_Fim_Geral
                    );
            }
        }
        public SqlMakerFurther(
            BptConnection bptConnection = null,
            Connection connection       = null,
            TypeUpdate typeUpdate       = TypeUpdate.Increment,
            BptProject bptProject       = null)
        {
            if (bptConnection != null)
            {
                this.bptConnection = bptConnection;
            }
            else
            {
                throw new ArgumentNullException("bptConnection", "O parâmetro 'bptConnection' não pode ser null");
            }

            if (connection != null)
            {
                this.Connection = connection;
            }
            else
            {
                throw new ArgumentNullException("connection", "O parâmetro 'connection' não pode ser null");
            }

            if (bptProject != null)
            {
                this.BptProject = bptProject;
            }
            else
            {
                throw new ArgumentNullException("bptProject", "O parâmetro 'bptProject' não pode ser null");
            }
        }
Esempio n. 5
0
        public static void LoadData(Projeto projeto, TypeUpdate typeUpdate, alm.Database database)
        {
            DateTime Dt_Inicio = DateTime.Now;

            Connection SGQConn = new Connection();

            if (typeUpdate == TypeUpdate.Full)
            {
                SGQConn.Executar($"delete ALM_Defeitos_Tempos where Subprojeto = '{projeto.Subprojeto}' and Entrega = '{projeto.Entrega}'");
            }

            Defeitos_Tempos_Processar(projeto, database);

            DateTime Dt_Fim = DateTime.Now;

            if (typeUpdate == TypeUpdate.Increment || typeUpdate == TypeUpdate.IncrementFullUpdate)
            {
                SGQConn.Executar($@"
                    update 
                        alm_projetos 
                    set Defeitos_Tempos_Incremental_Inicio='{Dt_Inicio.ToString("dd-MM-yy HH:mm:ss")}',
                        Defeitos_Tempos_Incremental_Fim='{Dt_Fim.ToString("dd-MM-yy HH:mm:ss")}',
                        Defeitos_Tempos_Incremental_Tempo={DataEHora.DateDiff(DataEHora.DateInterval.Second, Dt_Inicio, Dt_Fim)}
                    where 
                        subprojeto='{projeto.Subprojeto}' and entrega='{projeto.Entrega}'
                ");
            }
            else if (typeUpdate == TypeUpdate.Full)
            {
                SGQConn.Executar($@"
                    update 
                        alm_projetos 
                    set Defeitos_Tempos_Completa_Inicio='{Dt_Inicio.ToString("dd-MM-yy HH:mm:ss")}',
                        Defeitos_Tempos_Completa_Fim='{Dt_Fim.ToString("dd-MM-yy HH:mm:ss")}',
                        Defeitos_Tempos_Completa_Tempo={DataEHora.DateDiff(DataEHora.DateInterval.Second, Dt_Inicio, Dt_Fim)}
                    where 
                        subprojeto='{projeto.Subprojeto}' and entrega='{projeto.Entrega}'
                ");
            }

            SGQConn.Dispose();

            //====================================================================
            //Connection SGQConn = new Connection();
            //SGQConn.Executar(
            //    @"update ALM_Defeitos
            //            set Qtd_Reopen =
            //                (select count(*)
            //                    from
            //                    (select distinct Dt_Ate from ALM_Defeitos_Tempos t
            //                        where t.Subprojeto = '{Subprojeto}' and t.Entrega = '{Entrega}' and t.Defeito = ALM_Defeitos.Defeito and t.Status = 'REOPEN') x
            //                ) ".Replace("{Subprojeto}", projeto.Subprojeto).Replace("{Entrega}", projeto.Entrega));
            //SGQConn.Dispose();
            //====================================================================

            //Gerais.Enviar_Email_Atualizacao_Tabela("ALM", "ALM_Defeitos_Tempos - " + projeto.Subprojeto + " - " + projeto.Entrega, Dt_Inicio, Dt_Fim);
        }
Esempio n. 6
0
 public void Atualizar_Tudo(TypeUpdate typeUpdate)
 {
     //this.Atualizar_Testes(typeUpdate);
     //this.Atualizar_Steps(typeUpdate);
     //this.Atualizar_CTs(typeUpdate);
     //this.Atualizar_Execucoes(typeUpdate);
     //this.Atualizar_Defeitos(typeUpdate);
     //this.Atualizar_Defeitos_Links(typeUpdate);
     //this.Atualizar_Defeitos_Tempos(typeUpdate);
     //this.Atualizar_Historicos(typeUpdate);
 }
Esempio n. 7
0
        public async Task <IActionResult> PatchAsync([FromRoute] long id, [FromBody, Required] TypeUpdate type)
        {
            if (!_user.HasPermission(Permissions.UPDATE_SYMBOL_TYPE))
            {
                throw new Shared.Exceptions.InsuficientPermission()
                      {
                          ResourceName      = id.ToString(),
                          ResourceId        = id.ToString(),
                          ResourceType      = typeof(Data.Models.Symbols.Type),
                          MissingPermission = Permissions.UPDATE_SYMBOL_TYPE
                      }
            }
            ;
            var mdl = await _symmgr.TypeManager.PatchAsync(id, type.CreatePatch(await _symmgr.TypeManager.GetAsync(id)));

            return(Json(Models.Output.Symbols.Type.CreateModel(mdl)));
        }
Esempio n. 8
0
        public Projetos(alm.Database database, List <Field> fields, TypeUpdate typeUpdate = TypeUpdate.Increment)
        {
            this.database   = database;
            this.typeUpdate = typeUpdate;

            this.sqlMaker2Param        = new SqlMaker2Param();
            this.sqlMaker2Param.fields = fields;

            this.sqlMaker2Param.dataSource = $@"
                (
                    select project_id, domain_name, create_from_domain, create_from_project, project_name, db_name, physical_directory, pr_is_active, description,
                        substr(d,4,2) || '-' || substr(d,1,2) || '-' || substr(d,9,2) dtCreate
                    from
                        (
                            select project_id, domain_name, create_from_domain, create_from_project, project_name, db_name, physical_directory, pr_is_active, description,
                                case when substr(d,5,1) = '/' then substr(d,1,3) || '0' || substr(d,4) else d end d
                            from
                                (
                                    select project_id, domain_name, create_from_domain, create_from_project, project_name, db_name, physical_directory, pr_is_active, description,
                                        case when substr(d,2,1) = '/' then '0' || substr(d,1) else d end d
                                    from
                                        (
                                            select project_id, domain_name, create_from_domain, create_from_project, project_name, db_name, physical_directory, pr_is_active, description,
                                                substr(dbms_lob.substr(description, 30, 1),12,9) d
                                            from {this.database.scheme}.projects p  
                                        ) aux1
                                ) aux2
                        ) aux3
                ) aux4
            ";

            this.sqlMaker2Param.dataSourceFilterCondition = $@"
                domain_name = '{this.database.dominio}'
                and substr(project_name,1,3) = 'PRJ' 
                and substr(project_name,12,4) = '_ENT' 
            ";
            this.sqlMaker2Param.targetTable             = "alm_projetos";
            this.sqlMaker2Param.targetSqlLastIdInserted = $"select max(id) from alm_projetos where dominio = '{this.database.dominio}'";

            this.sqlMaker2Param.dataSourceFilterConditionInsert = $" project_id > {this.sqlMaker2Param.targetLastIdInserted} ";
            this.sqlMaker2Param.dataSourceFilterConditionUpdate = "";

            this.sqlMaker2Param.typeDB = "ORACLE";
        }
Esempio n. 9
0
        //public void LoadData_Projeto(Projeto projeto, Sql sql) {
        //    DateTime Dt_Inicio = DateTime.Now;

        //    string Origem_Condicoes_Insert = "";
        //    string Origem_Condicoes_Update = "";
        //    Connection SGQConn = new Connection();
        //    if (typeUpdate == TypeUpdate.Increment) {
        //        string Dt_Leitura = SGQConn.Get_String_Por_Id("ALM_Projetos", "CTs_Incremental_Inicio", projeto.Id.ToString());
        //        if (Dt_Leitura == "" || Dt_Leitura == null)
        //            Dt_Leitura = "00-00-00 00:00:00";
        //        else
        //            Dt_Leitura = Dt_Leitura.Substring(6, 2) + "-" + Dt_Leitura.Substring(3, 2) + "-" + Dt_Leitura.Substring(0, 2) + " " + Dt_Leitura.Substring(9, 8);

        //        Origem_Condicoes_Update = "substr(tc.tc_vts,3,17) > '" + Dt_Leitura + "'";

        //        string Ultimo_Id = SGQConn.Get_String("select max(CT) from ALM_CTs where Subprojeto = '{Subprojeto}' and Entrega = '{Entrega}'".Replace("{Subprojeto}", projeto.Subprojeto).Replace("{Entrega}", projeto.Entrega));
        //        if (Ultimo_Id == "" || Ultimo_Id == null)
        //            Ultimo_Id = "0";

        //        Origem_Condicoes_Insert = " tc.tc_testcycl_id > {Ultimo_Id}".Replace("{Ultimo_Id}", Ultimo_Id);
        //    }

        //    Sql sql = new Sql() {
        //        dataSource = @"{Esquema}.testcycl tc",
        //        dataSourceFilterCondition = "",
        //        dataSourceFilterConditionInsert = Origem_Condicoes_Insert,
        //        dataSourceFilterConditionUpdate = Origem_Condicoes_Update,
        //        targetTable = "ALM_CTs",
        //        fields = Campos,
        //        typeDB = "ORACLE"
        //    };
        //    sql.Carregarkeys();

        //    string Sql_Insert = sql.Get_Oracle_Insert().Replace("{Esquema}", projeto.Esquema).Replace("{Subprojeto}", projeto.Subprojeto).Replace("{Entrega}", projeto.Entrega);
        //    string Sql_Update = sql.Get_Oracle_Update().Replace("{Esquema}", projeto.Esquema).Replace("{Subprojeto}", projeto.Subprojeto).Replace("{Entrega}", projeto.Entrega);

        //    ALMConnection ALMConn = new ALMConnection(alm.Databases.ALM11);
        //    OracleDataReader DataReader_Insert = ALMConn.Get_DataReader(Sql_Insert);
        //    OracleDataReader DataReader_Update = ALMConn.Get_DataReader(Sql_Update);

        //    if (DataReader_Insert != null && DataReader_Insert.HasRows == true)
        //        SGQConn.Executar(ref DataReader_Insert, 1);

        //    if (DataReader_Update != null && DataReader_Update.HasRows == true)
        //        SGQConn.Executar(ref DataReader_Update, 1);

        //    DateTime Dt_Fim = DateTime.Now;

        //    if (typeUpdate == TypeUpdate.Increment) {
        //        SGQConn.Setfields_Por_Id("ALM_Projetos", projeto.Id.ToString(), "CTs_Incremental_Inicio", "'" + Dt_Inicio.ToString("dd-MM-yy HH:mm:ss") + "'");
        //        SGQConn.Setfields_Por_Id("ALM_Projetos", projeto.Id.ToString(), "CTs_Incremental_Fim", "'" + Dt_Fim.ToString("dd-MM-yy HH:mm:ss") + "'");
        //        SGQConn.Setfields_Por_Id("ALM_Projetos", projeto.Id.ToString(), "CTs_Incremental_Tempo", DataEHora.DateDiff(DataEHora.DateInterval.Second, Dt_Inicio, Dt_Fim).ToString());
        //    } else {
        //        SGQConn.Setfields_Por_Id("ALM_Projetos", projeto.Id.ToString(), "CTs_Completa_Inicio", "'" + Dt_Inicio.ToString("dd-MM-yy HH:mm:ss") + "'");
        //        SGQConn.Setfields_Por_Id("ALM_Projetos", projeto.Id.ToString(), "CTs_Completa_Fim", "'" + Dt_Fim.ToString("dd-MM-yy HH:mm:ss") + "'");
        //        SGQConn.Setfields_Por_Id("ALM_Projetos", projeto.Id.ToString(), "CTs_Completa_Tempo", DataEHora.DateDiff(DataEHora.DateInterval.Second, Dt_Inicio, Dt_Fim).ToString());
        //    }

        //    SGQConn.Dispose();

        //    //Gerais.Enviar_Email_Atualizacao_Tabela("ALM", "ALM_CTs - " + projeto.Subprojeto + " - " + projeto.Entrega, Dt_Inicio, Dt_Fim);
        //}

        public virtual void LoadData_Testes(TypeUpdate typeUpdate)
        {
        }
Esempio n. 10
0
        public Defeitos_Links(Projeto projeto, TypeUpdate typeUpdate, alm.Database database)
        {
            this.projeto    = projeto;
            this.typeUpdate = typeUpdate;
            this.database   = database;

            sqlMaker2Param        = new SqlMaker2Param();
            sqlMaker2Param.fields = new List <Field>();

            this.sqlMaker2Param.fields.Add(new Field()
            {
                target = "Subprojeto", source = "'{Subprojeto}'", key = true
            });
            this.sqlMaker2Param.fields.Add(new Field()
            {
                target = "Entrega", source = "'{Entrega}'", key = true
            });
            this.sqlMaker2Param.fields.Add(new Field()
            {
                target = "Id", source = "LN_LINK_ID", type = "N", key = true
            });
            this.sqlMaker2Param.fields.Add(new Field()
            {
                target = "Defeito", source = "LN_BUG_ID", type = "N"
            });
            this.sqlMaker2Param.fields.Add(new Field()
            {
                target = "Tabela", source = "LN_ENTITY_TYPE"
            });
            this.sqlMaker2Param.fields.Add(new Field()
            {
                target = "Tabela_Id", source = "LN_ENTITY_ID"
            });
            this.sqlMaker2Param.fields.Add(new Field()
            {
                target = "Atualizador", source = "upper(LN_CREATED_BY)"
            });

            if (database.name == "ALM11")
            {
                this.sqlMaker2Param.fields.Add(new Field()
                {
                    target = "Dt_Alteracao", source = "to_char(ln_creation_date,'dd-mm-yy')"
                });
            }
            else
            {
                this.sqlMaker2Param.fields.Add(new Field()
                {
                    target = "Dt_Alteracao", source = "substr(ln_vts,9,2) || '-' || substr(ln_vts,6,2) || '-' || substr(ln_vts,3,2) || ' ' || substr(ln_vts,12,8)"
                });
            }

            this.sqlMaker2Param.dataSource = @"{Esquema}.link";
            this.sqlMaker2Param.dataSourceFilterCondition = "";
            this.sqlMaker2Param.targetTable = "alm_defeitos_links";

            this.sqlMaker2Param.targetSqlLastIdInserted = $"select max(id) from alm_defeitos_links where subprojeto='{projeto.Subprojeto}' and entrega='{projeto.Entrega}'";
            this.sqlMaker2Param.targetSqlLastDateUpdate = $"select Defeitos_Links_Incremental_Inicio from alm_projetos where subprojeto='{projeto.Subprojeto}' and entrega='{projeto.Entrega}'";

            this.sqlMaker2Param.dataSourceFilterConditionInsert = $" ln_bug_id > {this.sqlMaker2Param.targetLastIdInserted}";
            this.sqlMaker2Param.dataSourceFilterConditionUpdate = $" to_char(ln_creation_date,'yy-mm-dd') > '{this.sqlMaker2Param.targetLastDateUpdate}'";

            this.sqlMaker2Param.typeDB = "ORACLE";
        }
Esempio n. 11
0
        public Usuarios(alm.Database database, TypeUpdate typeUpdate = TypeUpdate.Increment)
        {
            this.database   = database;
            this.typeUpdate = typeUpdate;

            sqlMaker2Param = new SqlMaker2Param();

            sqlMaker2Param.fields = new List <Field>();

            sqlMaker2Param.fields.Add(new Field()
            {
                target = "Dominio", source = $"'{database.dominio}'", key = true
            });
            sqlMaker2Param.fields.Add(new Field()
            {
                target = "Id", source = "user_id", type = "N", key = true
            });
            sqlMaker2Param.fields.Add(new Field()
            {
                target = "Login", source = "upper(replace(trim(user_name),'''',''))"
            });
            sqlMaker2Param.fields.Add(new Field()
            {
                target = "Nome", source = "upper(replace(trim(full_name),'''',''))"
            });
            sqlMaker2Param.fields.Add(new Field()
            {
                target = "Email", source = "lower(replace(trim(email),'''',''))"
            });
            sqlMaker2Param.fields.Add(new Field()
            {
                target = "Telefone", source = "upper(replace(trim(replace(replace(phone_number,'--','-'),' ','')),'''',''))"
            });
            sqlMaker2Param.fields.Add(new Field()
            {
                target = "Descricao", source = "upper(replace(trim(description),'''',''))"
            });
            sqlMaker2Param.fields.Add(new Field()
            {
                target = "Sistema", source = "upper(replace(trim(us_is_system),'''',''))"
            });
            sqlMaker2Param.fields.Add(new Field()
            {
                target = "Fornecedor", source = "upper(replace(trim(description),'''',''))"
            });
            sqlMaker2Param.fields.Add(new Field()
            {
                target = "Ativo", source = "upper(US_IS_ACTIVE)"
            });
            sqlMaker2Param.fields.Add(new Field()
            {
                target = "Dt_Alteracao", source = "to_char(last_update,'dd-mm-yy hh24:mi:ss')"
            });

            sqlMaker2Param.dataSource = "{Esquema}.users";

            sqlMaker2Param.dataSourceFilterCondition = "user_id is not null";
            sqlMaker2Param.targetTable = "ALM_Usuarios";

            this.sqlMaker2Param.targetSqlLastIdInserted = "select max(Id) from ALM_Usuarios";
            this.sqlMaker2Param.targetSqlLastDateUpdate = "select Valor from SGQ_Parametros where Nome = 'ALM_Usuarios_Update'";

            this.sqlMaker2Param.dataSourceFilterConditionInsert = $" user_id > {this.sqlMaker2Param.targetLastIdInserted}";
            this.sqlMaker2Param.dataSourceFilterConditionUpdate = $" to_char(last_update,'yy-mm-dd hh24:mi:ss') > '{this.sqlMaker2Param.targetLastDateUpdate}'";

            sqlMaker2Param.typeDB = "ORACLE";
        }
Esempio n. 12
0
        public Projetos(TypeUpdate typeUpdate)
        {
            this.typeUpdate = typeUpdate;

            this.sql = new Sql();

            this.sql.fields = new List <Field>();
            this.sql.fields.Add(new Field()
            {
                target = "id", source = "id_projeto", key = true
            });
            this.sql.fields.Add(new Field()
            {
                target = "ideia", source = "id_ideia"
            });
            this.sql.fields.Add(new Field()
            {
                target = "nome", source = "upper(replace(titulo_projeto,'''',''))"
            });
            this.sql.fields.Add(new Field()
            {
                target = "descricao", source = "replace(descricao_executiva,'''','')"
            });
            this.sql.fields.Add(new Field()
            {
                target = "status", source = "upper(replace(status,'''',''))"
            });
            this.sql.fields.Add(new Field()
            {
                target = "estado", source = "upper(replace(estado,'''',''))"
            });
            this.sql.fields.Add(new Field()
            {
                target = "tipo", source = "upper(replace(tipo_projeto,'''',''))"
            });
            this.sql.fields.Add(new Field()
            {
                target = "complexidade", source = "upper(replace(complexidade,'''',''))"
            });
            this.sql.fields.Add(new Field()
            {
                target = "posicao_im", source = "upper(replace(posicao_im,'''',''))"
            });
            this.sql.fields.Add(new Field()
            {
                target = "sistema_principal", source = "upper(replace(sistema_principal,'''',''))"
            });
            this.sql.fields.Add(new Field()
            {
                target = "gerencia_relacionamento", source = "upper(replace(gerencia_relacionamento,'''',''))"
            });
            this.sql.fields.Add(new Field()
            {
                target = "unidade_negocio", source = "upper(replace(unidade_negocio,'''',''))"
            });
            this.sql.fields.Add(new Field()
            {
                target = "diretoria_ti", source = "upper(replace(diretoria_ti,'''',''))"
            });
            this.sql.fields.Add(new Field()
            {
                target = "area_solicitante", source = "upper(replace(area_solicitante,'''',''))"
            });
            this.sql.fields.Add(new Field()
            {
                target = "gestor_solicitante", source = "upper(replace(gestor_solicitante,'''',''))"
            });
            this.sql.fields.Add(new Field()
            {
                target = "usuario_Solicitante", source = "upper(replace(usuario_solicitante_projeto,'''',''))"
            });
            this.sql.fields.Add(new Field()
            {
                target = "analista_negocio", source = "upper(replace(analista_negocio,'''',''))"
            });
            this.sql.fields.Add(new Field()
            {
                target = "gerente_projeto", source = "upper(replace(gerente_projeto,'''',''))"
            });
            this.sql.fields.Add(new Field()
            {
                target = "gestor_direto_lt", source = "upper(replace(gestor_direto_lt,'''',''))"
            });
            this.sql.fields.Add(new Field()
            {
                target = "gestor_do_gestor_lt", source = "upper(replace(gestor_do_gestor_lt,'''',''))"
            });
            this.sql.fields.Add(new Field()
            {
                target = "pmo", source = "upper(replace(pmo,'''',''))"
            });
            this.sql.fields.Add(new Field()
            {
                target = "prioridade_geral", source = "prioridade_global", type = "N"
            });
            this.sql.fields.Add(new Field()
            {
                target = "prioridade_un", source = "prioridade_un", type = "N"
            });
            this.sql.fields.Add(new Field()
            {
                target = "tipificacao", source = "upper(replace(tipificacao,'''',''))"
            });
            this.sql.fields.Add(new Field()
            {
                target = "tipificacao_pos_priorizacao", source = "upper(replace(tipificacao_pos_priorizacao,'''',''))"
            });
            this.sql.fields.Add(new Field()
            {
                target = "custo_total", source = "custo_total", type = "N"
            });
            this.sql.fields.Add(new Field()
            {
                target = "esforco_total", source = "esforco_total", type = "N"
            });
            this.sql.fields.Add(new Field()
            {
                target = "apuravel", source = "apuravel"
            });
            this.sql.fields.Add(new Field()
            {
                target = "macro_estimativa_total", source = "macroestimativa_total_projeto", type = "N"
            });
            this.sql.fields.Add(new Field()
            {
                target = "particao", source = "upper(particao)"
            });
            this.sql.fields.Add(new Field()
            {
                target = "dt_criacao", source = "convert(varchar,data_criacao,5) + ' ' + convert(varchar(8), data_criacao, 8)"
            });
            this.sql.fields.Add(new Field()
            {
                target = "criador", source = "upper(replace(criador,'''',''))"
            });
            this.sql.fields.Add(new Field()
            {
                target = "dt_atualizacao", source = "convert(varchar,data_ultima_atualizacao,5) + ' ' + convert(varchar(8), data_ultima_atualizacao, 8)"
            });
            this.sql.fields.Add(new Field()
            {
                target = "atualizador", source = "upper(replace(ultimo_atualizador,'''',''))"
            });

            this.sql.dataSource              = "tb_ft_projeto";
            this.sql.targetTable             = "biti_projetos";
            this.sql.targetSqlLastIdInserted = "select max(id) from biti_projetos";
            this.sql.targetSqlLastDateUpdate = @"
                select 
                    substring(valor,9,2) + '-' + 
                    substring(valor,6,2) + '-' + 
                    substring(valor,3,2) + ' ' + 
                    substring(valor,12,8) 
                from 
                    sgq_parametros 
                where 
                    nome = 'BITI_Projetos_Update'
            ";

            this.sql.dataSourceFilterCondition       = "";
            this.sql.dataSourceFilterConditionInsert = $" id_projeto > '{this.sql.targetLastIdInserted}'";
            this.sql.dataSourceFilterConditionUpdate = $" substring(convert(varchar, data_ultima_atualizacao, 120),3,17) > '{this.sql.targetLastDateUpdate}'";
            this.sql.typeDB = "SQL SERVER";
        }
Esempio n. 13
0
        public Defeitos(Projeto projeto, TypeUpdate typeUpdate, alm.Database database)
        {
            this.projeto    = projeto;
            this.typeUpdate = typeUpdate;
            this.database   = database;

            sqlMaker2Param        = new SqlMaker2Param();
            sqlMaker2Param.fields = new List <Field>();

            sqlMaker2Param.fields.Add(new Field()
            {
                target = "Subprojeto", source = "'{Subprojeto}'", type = "A", key = true
            });
            sqlMaker2Param.fields.Add(new Field()
            {
                target = "Entrega", source = "'{Entrega}'", type = "A", key = true
            });
            sqlMaker2Param.fields.Add(new Field()
            {
                target = "Defeito", source = "bg_bug_id", type = "N", key = true
            });
            sqlMaker2Param.fields.Add(new Field()
            {
                target = "Detectado_Por", source = "Def.bg_detected_by"
            });
            sqlMaker2Param.fields.Add(new Field()
            {
                target = "Nome", source = "upper(replace(Def.bg_summary,'''',''))"
            });
            sqlMaker2Param.fields.Add(new Field()
            {
                target = "Release", source = "replace(upper((select r.rel_name from {Esquema}.release_cycles rc, {Esquema}.releases r where rc.rcyc_id = Def.bg_detected_in_rcyc and r.rel_id = rc.rcyc_parent_id)),'''','')"
            });
            sqlMaker2Param.fields.Add(new Field()
            {
                target = "Ciclo", source = "upper((select rc.rcyc_name from {Esquema}.release_cycles rc where rc.rcyc_id = Def.bg_detected_in_rcyc))"
            });
            sqlMaker2Param.fields.Add(new Field()
            {
                target = "Severidade", source = "upper(Def.bg_severity)"
            });
            sqlMaker2Param.fields.Add(new Field()
            {
                target = "Prioridade", source = "upper(Def.bg_priority)"
            });
            sqlMaker2Param.fields.Add(new Field()
            {
                target = "Status_Atual", source = "upper(Def.bg_status)"
            });
            sqlMaker2Param.fields.Add(new Field()
            {
                target = "Dt_Inicial", source = "to_char(BG_DETECTION_DATE, 'dd-mm-yy')"
            });
            //sqlMaker2Param.fields.Add(new Field() { target = "Dt_Inicial", source = "to_char(Dt_Inicial_Bug('{Esquema}', Def.bg_bug_id),'dd-mm-yy hh24:mi:ss')" });
            sqlMaker2Param.fields.Add(new Field()
            {
                target = "Dt_Final", source = "(case when BG_CLOSING_DATE is null then '' else to_char(BG_CLOSING_DATE,'dd-mm-yy') || ' ' || substr(bg_vts,12,8) end)"
            });
            sqlMaker2Param.fields.Add(new Field()
            {
                target = "Tempo_Resolucao_Dias", source = "Def.bg_actual_fix_time", type = "N"
            });
            sqlMaker2Param.fields.Add(new Field()
            {
                target = "Qtd_Reopen", source = "0", type = "N"
            });
            sqlMaker2Param.fields.Add(new Field()
            {
                target = "CT", source = "(select (case when ln_entity_type = 'TESTCYCL' then (select TC.tc_testcycl_id from {Esquema}.testcycl TC where TC.tc_testcycl_id = L.ln_entity_id) when ln_entity_type = 'RUN' then (select R.rn_testcycl_id from {Esquema}.run R where R.rn_run_id = L.ln_entity_id) when ln_entity_type = 'STEP' then (select R.rn_testcycl_id from {Esquema}.run R where R.rn_run_id = (select S.st_run_id from {Esquema}.step S where S.st_id = L.ln_entity_id)) end) from {Esquema}.Link L where L.ln_bug_id = Def.bg_bug_id and rownum=1)", type = "N"
            });
            sqlMaker2Param.fields.Add(new Field()
            {
                target = "Dt_Alteracao", source = "substr(bg_vts,9,2) || '-' || substr(bg_vts,6,2) || '-' || substr(bg_vts,3,2) || ' ' || substr(bg_vts,12,8)"
            });

            sqlMaker2Param.fields.Add(new Field()
            {
                target = "Natureza", source = "upper(Def.bg_user_template_01)"
            });
            sqlMaker2Param.fields.Add(new Field()
            {
                target = "Sistema_Defeito", source = "upper(Def.bg_user_template_02)"
            });
            sqlMaker2Param.fields.Add(new Field()
            {
                target = "Sistema_CT", source = "upper(Def.bg_user_template_03)"
            });
            sqlMaker2Param.fields.Add(new Field()
            {
                target = "Dt_Prevista_Solucao_Defeito", source = "(case when bg_user_template_04 is not null then substr(bg_user_template_04, 9, 2) || '-' || substr(bg_user_template_04, 6, 2) || '-' || substr(bg_user_template_04, 3, 2) || ' ' || substr(bg_user_template_04, 12, 8) else '' end)"
            });
            sqlMaker2Param.fields.Add(new Field()
            {
                target = "Origem", source = "upper(Def.bg_user_template_05)"
            });
            sqlMaker2Param.fields.Add(new Field()
            {
                target = "Erro_Detectavel_Em_Desenvolvimento", source = "replace(upper(Def.bg_user_template_06),'''','')"
            });
            sqlMaker2Param.fields.Add(new Field()
            {
                target = "Qtd_Reincidencia", source = "Def.bg_user_template_07", type = "N"
            });
            sqlMaker2Param.fields.Add(new Field()
            {
                target = "Ja_Foi_Rejeitado", source = "upper(Def.bg_user_template_08)"
            });
            sqlMaker2Param.fields.Add(new Field()
            {
                target = "Encaminhado_Para", source = "upper(Def.bg_user_template_09)"
            });
            sqlMaker2Param.fields.Add(new Field()
            {
                target = "Motivo_Pendencia", source = "upper(Def.bg_user_template_10)"
            });
            sqlMaker2Param.fields.Add(new Field()
            {
                target = "Qtd_CTs_Impactados", source = "Def.bg_user_template_11", type = "N"
            });
            sqlMaker2Param.fields.Add(new Field()
            {
                target = "Detalhamento_CR_PKE", source = "Def.bg_user_template_13"
            });

            if (database.name == "ALM11")
            {
                sqlMaker2Param.fields.Add(new Field()
                {
                    target = "Dt_Ultimo_Status", source = "to_char(Dt_Ultimo_Status_Bug('{Esquema}', Def.bg_bug_id, Def.bg_status),'dd-mm-yy hh24:mi:ss')"
                });
                sqlMaker2Param.fields.Add(new Field()
                {
                    target = "SLA", source = "SLA(Def.bg_severity)"
                });
            }

            sqlMaker2Param.dataSource = @"{Esquema}.Bug Def";
            sqlMaker2Param.dataSourceFilterCondition = "";
            sqlMaker2Param.targetTable = "ALM_Defeitos";

            this.sqlMaker2Param.targetSqlLastIdInserted = $"select max(defeito) from alm_defeitos where subprojeto='{projeto.Subprojeto}' and entrega='{projeto.Entrega}'";
            this.sqlMaker2Param.targetSqlLastDateUpdate = $"select Defeitos_Incremental_Inicio from alm_projetos where subprojeto='{projeto.Subprojeto}' and entrega='{projeto.Entrega}'";

            this.sqlMaker2Param.dataSourceFilterConditionInsert = $" bg_bug_id > {this.sqlMaker2Param.targetLastIdInserted}";
            this.sqlMaker2Param.dataSourceFilterConditionUpdate = $" substr(bg_vts,3,17) > '{this.sqlMaker2Param.targetLastDateUpdate}'";

            sqlMaker2Param.typeDB = "ORACLE";
        }
Esempio n. 14
0
 public virtual void LoadData_Defeitos_Tempos(TypeUpdate typeUpdate)
 {
 }
Esempio n. 15
0
 public virtual void LoadData_Historicos(TypeUpdate typeUpdate)
 {
 }
Esempio n. 16
0
 public virtual void LoadData_Execucoes(TypeUpdate typeUpdate)
 {
 }
Esempio n. 17
0
        //public virtual void LoadData_Defeitos(TypeUpdate typeUpdate) {
        //    var defeitos_Template_05 = new Defeitos_Template_05(projeto: this, TypeUpdate: typeUpdate);
        //    defeitos_Template_05.LoadData();
        //}

        public virtual void LoadData_Defeitos_Links(TypeUpdate typeUpdate)
        {
        }
Esempio n. 18
0
        public Historicos(Projeto projeto, TypeUpdate typeUpdate, alm.Database database)
        {
            this.projeto    = projeto;
            this.typeUpdate = typeUpdate;
            this.database   = database;

            sqlMaker2Param = new SqlMaker2Param();

            sqlMaker2Param.fields = new List <Field>();

            sqlMaker2Param.fields.Add(new Field()
            {
                target = "Subprojeto", source = "'{Subprojeto}'", type = "A", key = true
            });
            sqlMaker2Param.fields.Add(new Field()
            {
                target = "Entrega", source = "'{Entrega}'", type = "A", key = true
            });
            sqlMaker2Param.fields.Add(new Field()
            {
                target = "Id", source = "ap_property_id", type = "N", key = true
            });
            sqlMaker2Param.fields.Add(new Field()
            {
                target = "Tabela", source = "upper(AU_ENTITY_TYPE)"
            });
            sqlMaker2Param.fields.Add(new Field()
            {
                target = "Tabela_Id", source = "AU_ENTITY_ID", type = "N"
            });
            sqlMaker2Param.fields.Add(new Field()
            {
                target = "Campo", source = "upper(AP_PROPERTY_NAME)"
            });
            sqlMaker2Param.fields.Add(new Field()
            {
                target = "Novo_Valor",
                source =
                    @"replace(
                            case 
                                when AP_NEW_VALUE is not null then TO_CLOB(upper(AP_NEW_VALUE))
                                when AP_NEW_LONG_VALUE is not null then 
                                        TO_CLOB(DBMS_LOB.SUBSTR(AP_NEW_LONG_VALUE,4000,1)) ||
                                        TO_CLOB(DBMS_LOB.SUBSTR(AP_NEW_LONG_VALUE,4000,4001)) ||
                                        TO_CLOB(DBMS_LOB.SUBSTR(AP_NEW_LONG_VALUE,4000,8001)) ||
                                        TO_CLOB(DBMS_LOB.SUBSTR(AP_NEW_LONG_VALUE,4000,12001)) ||
                                        TO_CLOB(DBMS_LOB.SUBSTR(AP_NEW_LONG_VALUE,4000,16001)) ||
                                        TO_CLOB(DBMS_LOB.SUBSTR(AP_NEW_LONG_VALUE,4000,20001))
                                when AP_NEW_DATE_VALUE is not null then TO_CLOB(to_char(AP_NEW_DATE_VALUE ,'dd-mm-yy') )
                            end,
                '''','')"
            });
            sqlMaker2Param.fields.Add(new Field()
            {
                target = "Operador", source = "upper(au_user)"
            });
            sqlMaker2Param.fields.Add(new Field()
            {
                target = "Dt_Alteracao", source = " to_char(au_time,'dd-mm-yy hh24:mi:ss')"
            });

            sqlMaker2Param.dataSource = @"{Esquema}.audit_properties inner join {Esquema}.audit_log on ap_action_id = au_action_id";
            sqlMaker2Param.dataSourceFilterCondition = @"upper(AU_ENTITY_TYPE) in ('TESTCYCL','BUG')";

            this.sqlMaker2Param.targetSqlLastIdInserted = $"select max(id) from alm_historico_alteracoes_campos where subprojeto='{projeto.Subprojeto}' and entrega='{projeto.Entrega}'";
            this.sqlMaker2Param.targetSqlLastDateUpdate = $"select Historico_Incremental_Inicio from alm_projetos where subprojeto='{projeto.Subprojeto}' and entrega='{projeto.Entrega}'";

            this.sqlMaker2Param.dataSourceFilterConditionInsert = $" ap_property_id > {this.sqlMaker2Param.targetLastIdInserted}";
            this.sqlMaker2Param.dataSourceFilterConditionUpdate = $" to_char(au_time,'yy-mm-dd hh24:mi:ss') > '{this.sqlMaker2Param.targetLastDateUpdate}'";

            sqlMaker2Param.targetTable = "alm_historico_alteracoes_campos";

            sqlMaker2Param.typeDB = "ORACLE";
        }
Esempio n. 19
0
        public Tests(Projeto projeto, TypeUpdate typeUpdate, alm.Database database)
        {
            this.projeto    = projeto;
            this.typeUpdate = typeUpdate;
            this.database   = database;

            sqlMaker2Param = new SqlMaker2Param();

            sqlMaker2Param.fields = new List <Field>();

            sqlMaker2Param.fields.Add(new Field()
            {
                target = "Subprojeto", source = "'{Subprojeto}'", type = "A", key = true
            });
            sqlMaker2Param.fields.Add(new Field()
            {
                target = "Entrega", source = "'{Entrega}'", type = "A", key = true
            });
            sqlMaker2Param.fields.Add(new Field()
            {
                target = "Teste", source = "ts_test_id", type = "N", key = true
            });
            sqlMaker2Param.fields.Add(new Field()
            {
                target = "Nome", source = "upper(replace(trim(ts_name),'''',''))"
            });
            sqlMaker2Param.fields.Add(new Field()
            {
                target = "Descricao", source = "upper(replace(trim(ts_description),'''',''))"
            });
            sqlMaker2Param.fields.Add(new Field()
            {
                target = "Qt_Steps", source = "ts_steps"
            });
            sqlMaker2Param.fields.Add(new Field()
            {
                target = "Path", source = "replace(substr(PTH,14),'''','')"
            });
            sqlMaker2Param.fields.Add(new Field()
            {
                target = "Status", source = "upper(replace(ts_status,'''',''))"
            });
            sqlMaker2Param.fields.Add(new Field()
            {
                target = "Status_Execucao", source = "upper(replace(ts_exec_status,'''',''))"
            });
            sqlMaker2Param.fields.Add(new Field()
            {
                target = "Resposavel", source = "upper(ts_responsible)"
            });
            sqlMaker2Param.fields.Add(new Field()
            {
                target = "Dt_Criacao", source = "to_char(ts_creation_Date,'dd-mm-yy')"
            });
            sqlMaker2Param.fields.Add(new Field()
            {
                target = "Dt_Alteracao", source = "substr(ts_vts,9,2) || '-' || substr(ts_vts,6,2) || '-' || substr(ts_vts,3,2) || ' ' || substr(ts_vts,12,8)"
            });

            if (this.database.name == "ALM11")
            {
                sqlMaker2Param.fields.Add(new Field()
                {
                    target = "Sistema", source = "upper(replace(ts_user_template_01,'''',''))"
                });
                sqlMaker2Param.fields.Add(new Field()
                {
                    target = "Macrocenario", source = "upper(ts_user_template_02)"
                });
                sqlMaker2Param.fields.Add(new Field()
                {
                    target = "Cenario_Teste", source = "upper(ts_user_template_03)"
                });
                sqlMaker2Param.fields.Add(new Field()
                {
                    target = "Fornecedor", source = "upper(ts_user_template_05)"
                });
                sqlMaker2Param.fields.Add(new Field()
                {
                    target = "Tipo_Requisito", source = "upper(ts_user_template_06)"
                });
                sqlMaker2Param.fields.Add(new Field()
                {
                    target = "Qt_Sistemas", source = "ts_user_template_08", type = "N"
                });
                sqlMaker2Param.fields.Add(new Field()
                {
                    target = "CT_Automatizado", source = "upper(ts_user_template_15)"
                });
                sqlMaker2Param.fields.Add(new Field()
                {
                    target = "TRG", source = "upper(ts_user_template_16)"
                });
                sqlMaker2Param.fields.Add(new Field()
                {
                    target = "Prioridade_Execucao", source = "upper(ts_user_template_20)"
                });
                sqlMaker2Param.fields.Add(new Field()
                {
                    target = "Sistemas_Afetados", source = "upper(ts_user_template_22)"
                });
                sqlMaker2Param.fields.Add(new Field()
                {
                    target = "Complexidade_Accenture", source = "upper(ts_user_template_24)"
                });
                sqlMaker2Param.fields.Add(new Field()
                {
                    target = "Requisito", source = "upper(ts_user_template_26)"
                });
                sqlMaker2Param.fields.Add(new Field()
                {
                    target = "Modulo", source = "upper(ts_user_template_27)"
                });
                sqlMaker2Param.fields.Add(new Field()
                {
                    target = "Complexidade_Link", source = "upper(ts_user_template_28)"
                });
            }

            sqlMaker2Param.dataSource =
                @"(select
                         al_item_id, sys_connect_by_path(al_description, ' \ ') PTH
                       from
                         {Esquema}.all_lists connect by prior al_item_id = al_father_id
                         start with al_father_id = 0 and al_description = 'Subject'
                      ) x
                      inner join {Esquema}.test t 
                        on t.ts_subject = x.al_item_id";

            sqlMaker2Param.dataSourceFilterCondition =
                @"exists(select distinct 1 
                        from {Esquema}.testcycl tc 
                        where tc.tc_test_id = t.ts_test_id)";

            sqlMaker2Param.targetTable = "ALM_Testes";

            this.sqlMaker2Param.targetSqlLastIdInserted = $"select max(teste) from alm_Testes where subprojeto='{projeto.Subprojeto}' and entrega='{projeto.Entrega}'";
            this.sqlMaker2Param.targetSqlLastDateUpdate = $"select Testes_Incremental_Inicio from alm_projetos where subprojeto='{projeto.Subprojeto}' and entrega='{projeto.Entrega}'";

            this.sqlMaker2Param.dataSourceFilterConditionInsert = $" ts_test_id > {this.sqlMaker2Param.targetLastIdInserted}";
            this.sqlMaker2Param.dataSourceFilterConditionUpdate = $" substr(ts_vts,3,17) > '{this.sqlMaker2Param.targetLastDateUpdate}'";

            sqlMaker2Param.typeDB = "ORACLE";
        }
Esempio n. 20
0
        public Execucoes(Projeto projeto, TypeUpdate typeUpdate, alm.Database database)
        {
            this.projeto    = projeto;
            this.typeUpdate = typeUpdate;
            this.database   = database;

            sqlMaker2Param = new SqlMaker2Param();

            sqlMaker2Param.fields = new List <Field>();

            sqlMaker2Param.fields.Add(new Field()
            {
                target = "Subprojeto", source = "'{Subprojeto}'", type = "A", key = true
            });
            sqlMaker2Param.fields.Add(new Field()
            {
                target = "Entrega", source = "'{Entrega}'", type = "A", key = true
            });
            sqlMaker2Param.fields.Add(new Field()
            {
                target = "CT", source = "rn_testcycl_id", type = "N", key = true
            });
            sqlMaker2Param.fields.Add(new Field()
            {
                target = "Execucao", source = "rn_run_id", type = "N", key = true
            });
            sqlMaker2Param.fields.Add(new Field()
            {
                target = "Nome", source = "upper(replace(rn_run_name,'''',''))"
            });
            sqlMaker2Param.fields.Add(new Field()
            {
                target = "Dt_Execucao", source = "to_char(rn_execution_date, 'dd-mm-yy') || ' ' || rn_execution_time"
            });
            sqlMaker2Param.fields.Add(new Field()
            {
                target = "Duracao", source = "rn_duration", type = "N"
            });
            sqlMaker2Param.fields.Add(new Field()
            {
                target = "Status", source = "upper(replace((rn_status),'''',''))"
            });
            sqlMaker2Param.fields.Add(new Field()
            {
                target = "Testador", source = "upper(replace((rn_tester_name),'''',''))"
            });
            sqlMaker2Param.fields.Add(new Field()
            {
                target = "Tem_Anexo", source = "upper(rn_attachment)"
            });
            sqlMaker2Param.fields.Add(new Field()
            {
                target = "Dt_Alteracao", source = "substr(rn_vts,9,2) || '-' || substr(rn_vts,6,2) || '-' || substr(rn_vts,3,2) || ' ' || substr(rn_vts,12,8)"
            });

            sqlMaker2Param.dataSource = @"{Esquema}.run rn";

            sqlMaker2Param.dataSourceFilterCondition = "";

            sqlMaker2Param.targetTable = "alm_execucoes";

            this.sqlMaker2Param.targetSqlLastIdInserted = $"select max(execucao) from alm_execucoes where subprojeto='{projeto.Subprojeto}' and entrega='{projeto.Entrega}'";
            this.sqlMaker2Param.targetSqlLastDateUpdate = $"select Execucoes_Incremental_Inicio from alm_projetos where subprojeto='{projeto.Subprojeto}' and entrega='{projeto.Entrega}'";

            this.sqlMaker2Param.dataSourceFilterConditionInsert = $" rn_run_id > {this.sqlMaker2Param.targetLastIdInserted}";
            this.sqlMaker2Param.dataSourceFilterConditionUpdate = $" substr(rn_vts,3,17) > '{this.sqlMaker2Param.targetLastDateUpdate}'";


            sqlMaker2Param.typeDB = "ORACLE";
        }
Esempio n. 21
0
        public CTs(Projeto projeto, TypeUpdate typeUpdate, alm.Database database)
        {
            this.projeto    = projeto;
            this.typeUpdate = typeUpdate;
            this.database   = database;

            sqlMaker2Param = new SqlMaker2Param();

            sqlMaker2Param.fields = new List <Field>();

            sqlMaker2Param.fields.Add(new Field()
            {
                target = "Subprojeto", source = "'{Subprojeto}'", type = "A", key = true
            });
            sqlMaker2Param.fields.Add(new Field()
            {
                target = "Entrega", source = "'{Entrega}'", type = "A", key = true
            });
            sqlMaker2Param.fields.Add(new Field()
            {
                target = "CT", source = "tc.tc_testcycl_id", type = "N", key = true
            });
            sqlMaker2Param.fields.Add(new Field()
            {
                target = "Teste", source = "tc.tc_test_id", type = "N"
            });

            sqlMaker2Param.fields.Add(new Field()
            {
                target = "Path",
                source = @"
                    substr(
                        (select TABLEPATH.PTH from
                        (select in_cf.CF_ITEM_ID, sys_connect_by_path (in_cf.CF_ITEM_NAME, ' \ ') PTH 
                            from {Esquema}.CYCL_FOLD in_cf connect by prior in_cf.CF_ITEM_ID = in_cf.CF_FATHER_ID
                            start with in_cf.CF_FATHER_ID = 0
                        ) TABLEPATH

                        left join {Esquema}.CYCLE in_cy 
                            on (in_cy.CY_FOLDER_ID = TABLEPATH.CF_ITEM_ID)

                        where in_cy.CY_CYCLE_ID = ts.CY_CYCLE_ID

                        ),4)
                "
            });

            sqlMaker2Param.fields.Add(new Field()
            {
                target = "Nome", source = "upper(substr((select t.ts_name from {Esquema}.test t where t.ts_test_id=tc.tc_test_id),0,199))"
            });
            sqlMaker2Param.fields.Add(new Field()
            {
                target = "Tipo", source = "upper((select t.ts_type from {Esquema}.test t where t.ts_test_id=tc.tc_test_id))"
            });
            sqlMaker2Param.fields.Add(new Field()
            {
                target = "Iterations", source = "tc.tc_iterations"
            });
            sqlMaker2Param.fields.Add(new Field()
            {
                target = "Dt_Base", source = "''"
            });
            sqlMaker2Param.fields.Add(new Field()
            {
                target = "Dt_Planejamento", source = "to_char(tc.tc_plan_scheduling_date,'dd-mm-yy')"
            });
            sqlMaker2Param.fields.Add(new Field()
            {
                target = "Dt_Execucao", source = "case when tc.tc_exec_date is not null then to_char(tc.tc_exec_date,'dd-mm-yy') || ' ' || tc.tc_exec_time else '' end"
            });
            sqlMaker2Param.fields.Add(new Field()
            {
                target = "Dt_Deteccao_Primeiro_Anexo", source = "(case when exists (select 1 from {Esquema}.cros_ref where cr_entity = 'TESTCYCL' and cr_ref_type = 'File' and cr_key_1 = tc.tc_testcycl_id) then to_char(sysdate,'dd-mm-yy hh:mm:ss') else '' end)"
            });
            sqlMaker2Param.fields.Add(new Field()
            {
                target = "Release", source = "replace(upper((select r.rel_name from {Esquema}.release_cycles rc, {Esquema}.releases r where rc.rcyc_id = tc.tc_assign_rcyc and r.rel_id = rc.rcyc_parent_id)),'''','')"
            });
            sqlMaker2Param.fields.Add(new Field()
            {
                target = "Ciclo", source = "upper((select distinct rc.rcyc_name from {Esquema}.release_cycles rc where rc.rcyc_id=tc.tc_assign_rcyc))"
            });
            //sqlMaker2Param.fields.Add(new Field() { target = "Plano_Teste", source = "upper(replace((select c.cy_cycle from {Esquema}.cycle c where c.cy_cycle_id = tc.tc_cycle_id),'''',''))" });
            sqlMaker2Param.fields.Add(new Field()
            {
                target = "Plano_Teste", source = "upper(replace(ts.cy_cycle,'''',''))"
            });
            sqlMaker2Param.fields.Add(new Field()
            {
                target = "Qt_Steps", source = "(select t.ts_steps from {Esquema}.test t where t.ts_test_id=tc.tc_test_id)", type = "N"
            });
            sqlMaker2Param.fields.Add(new Field()
            {
                target = "Status_Exec_Teste", source = "upper((select t.ts_exec_Status from {Esquema}.test t where t.ts_test_id=tc.tc_test_id))"
            });
            sqlMaker2Param.fields.Add(new Field()
            {
                target = "Status_Exec_CT", source = "upper(tc.tc_status)"
            });
            sqlMaker2Param.fields.Add(new Field()
            {
                target = "Instanciador", source = "tc.tc_tester_name"
            });
            sqlMaker2Param.fields.Add(new Field()
            {
                target = "Testador", source = "(case when tc.tc_actual_tester is not null or tc.tc_actual_tester <> '' then tc.tc_actual_tester else tc.tc_tester_name end)"
            });
            sqlMaker2Param.fields.Add(new Field()
            {
                target = "Qt_Blocked", source = "(select count(*) from {Esquema}.run where rn_status='Blocked' and run.rn_testcycl_id=tc.tc_testcycl_id)", type = "N"
            });
            sqlMaker2Param.fields.Add(new Field()
            {
                target = "Qt_Cancelled", source = "(select count(*) from {Esquema}.run where rn_status='Cancelled' and run.rn_testcycl_id=tc.tc_testcycl_id)", type = "N"
            });
            sqlMaker2Param.fields.Add(new Field()
            {
                target = "Qt_Failed", source = "(select count(*) from {Esquema}.run where rn_status='Failed' and run.rn_testcycl_id=tc.tc_testcycl_id)", type = "N"
            });
            sqlMaker2Param.fields.Add(new Field()
            {
                target = "Qt_NoRun", source = "(select count(*) from {Esquema}.run where rn_status='No Run' and run.rn_testcycl_id=tc.tc_testcycl_id)", type = "N"
            });
            sqlMaker2Param.fields.Add(new Field()
            {
                target = "Qt_NotCompleted", source = "(select count(*) from {Esquema}.run where rn_status='Not Completed' and run.rn_testcycl_id=tc.tc_testcycl_id)", type = "N"
            });
            sqlMaker2Param.fields.Add(new Field()
            {
                target = "Qt_Passed", source = "(select count(*) from {Esquema}.run where rn_status='Passed' and run.rn_testcycl_id=tc.tc_testcycl_id)", type = "N"
            });
            sqlMaker2Param.fields.Add(new Field()
            {
                target = "Qt_N_Def", source = "(select count(*) from {Esquema}.run where rn_status is null and run.rn_testcycl_id=tc.tc_testcycl_id)", type = "N"
            });
            //sqlMaker2Param.fields.Add(new Field() { target = "Dt_Criacao", source = "to_char((select min(au_time) from {Esquema}.audit_log where au_entity_type = 'TESTCYCL' and au_entity_id = ''' || tc.tc_testcycl_id || '''),'dd-mm-yy hh:mm:ss')" });
            //sqlMaker2Param.fields.Add(new Field() { target = "Dt_Criacao", source = "to_char((select min(au_time) from {Esquema}.audit_log where au_entity_type = 'TESTCYCL' and TO_NUMBER(au_entity_id) = TO_NUMBER(tc.tc_testcycl_id)),'dd-mm-yy hh:mm:ss')" });
            sqlMaker2Param.fields.Add(new Field()
            {
                target = "Dt_Criacao", source = "to_char((select min(l.au_time) from {Esquema}.audit_log l where l.au_entity_type = 'TESTCYCL' group by TO_NUMBER(l.au_entity_id) having TO_NUMBER(l.au_entity_id) = TO_NUMBER(tc.tc_testcycl_id)),'dd-mm-yy hh:mm:ss')"
            });
            sqlMaker2Param.fields.Add(new Field()
            {
                target = "Dt_Alteracao", source = "substr(tc.tc_vts,9,2) || '-' || substr(tc.tc_vts,6,2) || '-' || substr(tc.tc_vts,3,2) || ' ' || substr(tc.tc_vts,12,8)"
            });

            sqlMaker2Param.fields.Add(new Field()
            {
                target = "UAT", source = "upper(tc.tc_user_template_02)"
            });
            sqlMaker2Param.fields.Add(new Field()
            {
                target = "Dt_Previsao_Desbloqueio", source = "to_char(tc_user_template_03,'dd-mm-yy')"
            });
            sqlMaker2Param.fields.Add(new Field()
            {
                target = "Causa_Blocked", source = "replace(upper(tc.tc_user_template_06),'''','')"
            });
            sqlMaker2Param.fields.Add(new Field()
            {
                target = "Detalhe_Blocked", source = "replace(upper(tc.tc_user_template_07),'''','')"
            });
            sqlMaker2Param.fields.Add(new Field()
            {
                target = "Plano_Validacao_Tecnica", source = "replace(upper(tc.tc_user_template_15),'''','')"
            });
            sqlMaker2Param.fields.Add(new Field()
            {
                target = "Plano_Comentario_Tecnica", source = "replace(upper(tc.tc_user_template_19),'''','')"
            });
            sqlMaker2Param.fields.Add(new Field()
            {
                target = "Plano_Aprovador_Tecnico", source = "upper(tc.tc_user_template_21)"
            });
            sqlMaker2Param.fields.Add(new Field()
            {
                target = "Detalhamento_Funcional", source = "upper(replace(tc_user_template_25,'''',''))"
            });
            sqlMaker2Param.fields.Add(new Field()
            {
                target = "Pre_Requisito", source = "replace(upper(tc.tc_user_template_26),'''','')"
            });
            sqlMaker2Param.fields.Add(new Field()
            {
                target = "CT_Sucessor", source = "upper(replace(tc_user_template_27,'''',''))"
            });
            sqlMaker2Param.fields.Add(new Field()
            {
                target = "Execucao_Automatica", source = "upper(replace(tc_user_template_28,'''',''))"
            });
            sqlMaker2Param.fields.Add(new Field()
            {
                target = "Variante", source = "replace(upper(tc.tc_user_template_31),'''','')"
            });
            sqlMaker2Param.fields.Add(new Field()
            {
                target = "Motivo_Execucao_Manual", source = "upper(replace(tc_user_template_32,'''',''))"
            });

            if (database.name == "ALM11")
            {
                sqlMaker2Param.fields.Add(new Field()
                {
                    target = "Sistema", source = "upper((select t.ts_user_template_01 from {Esquema}.test t where t.ts_test_id=tc.tc_test_id))"
                });
                sqlMaker2Param.fields.Add(new Field()
                {
                    target = "Macrocenario", source = "upper((select t.ts_user_template_02 from {Esquema}.test t where t.ts_test_id=tc.tc_test_id))"
                });
                sqlMaker2Param.fields.Add(new Field()
                {
                    target = "Cenario", source = "upper((select t.ts_user_template_03 from {Esquema}.test t where t.ts_test_id=tc.tc_test_id))"
                });
                sqlMaker2Param.fields.Add(new Field()
                {
                    target = "Fornecedor", source = "upper((select t.ts_user_template_05 from {Esquema}.test t where t.ts_test_id=tc.tc_test_id))"
                });
                sqlMaker2Param.fields.Add(new Field()
                {
                    target = "Complexidade", source = "upper((select t.ts_user_template_24 from {Esquema}.test t where t.ts_test_id=tc.tc_test_id))"
                });
                sqlMaker2Param.fields.Add(new Field()
                {
                    target = "Complexidade_Link", source = "upper((select t.ts_user_template_28 from {Esquema}.test t where t.ts_test_id=tc.tc_test_id))"
                });
                //sqlMaker2Param.fields.Add(new Field() { target = "Resp_Execucao", source = "upper((select t.ts_user_template_19 from {Esquema}.test t where t.ts_test_id=tc.tc_test_id))" });
                sqlMaker2Param.fields.Add(new Field()
                {
                    target = "Prioridade_Execucao", source = "upper((select t.ts_user_template_20 from {Esquema}.test t where t.ts_test_id=tc.tc_test_id))"
                });

                sqlMaker2Param.fields.Add(new Field()
                {
                    target = "Nro_CT", source = "tc.tc_user_template_01", type = "N"
                });
                sqlMaker2Param.fields.Add(new Field()
                {
                    target = "Evidencia_Aprovador_Tecnico", source = "upper(tc.tc_user_template_04)"
                });
                sqlMaker2Param.fields.Add(new Field()
                {
                    target = "Nro_Cenario", source = "replace(tc.tc_user_template_05,'''','')", type = "N"
                });
                sqlMaker2Param.fields.Add(new Field()
                {
                    target = "Evidencia_Validacao_Tecnica", source = "replace(upper(tc.tc_user_template_08),'''','')"
                });
                sqlMaker2Param.fields.Add(new Field()
                {
                    target = "Evidencia_Validacao_Cliente", source = "replace(upper(tc.tc_user_template_09),'''','')"
                });
                sqlMaker2Param.fields.Add(new Field()
                {
                    target = "Evidencia_Motivo_Rejeicao_Tecnica", source = "replace(upper(tc.tc_user_template_10),'''','')"
                });
                sqlMaker2Param.fields.Add(new Field()
                {
                    target = "Evidencia_Motivo_Rejeicao_Cliente", source = "replace(upper(tc.tc_user_template_11),'''','')"
                });
                sqlMaker2Param.fields.Add(new Field()
                {
                    target = "Evidencia_Comentario_Tecnica", source = "replace(upper(tc.tc_user_template_12),'''','')"
                });
                sqlMaker2Param.fields.Add(new Field()
                {
                    target = "Evidencia_Comentario_Cliente", source = "replace(upper(tc.tc_user_template_13),'''','')"
                });
                sqlMaker2Param.fields.Add(new Field()
                {
                    target = "Evidencia_Aprovador_Cliente", source = "upper(tc.tc_user_template_14)"
                });
                sqlMaker2Param.fields.Add(new Field()
                {
                    target = "Plano_Validacao_Cliente", source = "replace(upper(tc.tc_user_template_16),'''','')"
                });
                sqlMaker2Param.fields.Add(new Field()
                {
                    target = "Plano_Motivo_Rejeicao_Tecnica", source = "replace(upper(tc.tc_user_template_17),'''','')"
                });
                sqlMaker2Param.fields.Add(new Field()
                {
                    target = "Plano_Motivo_Rejeicao_Cliente", source = "replace(upper(tc.tc_user_template_18),'''','')"
                });
                sqlMaker2Param.fields.Add(new Field()
                {
                    target = "Plano_Comentario_Cliente", source = "replace(upper(tc.tc_user_template_20),'''','')"
                });
                sqlMaker2Param.fields.Add(new Field()
                {
                    target = "Plano_Aprovador_Cliente", source = "upper(tc.tc_user_template_22)"
                });
                sqlMaker2Param.fields.Add(new Field()
                {
                    target = "Motivo_Cancelamento_CT", source = "replace(upper(tc.tc_user_template_23),'''','')"
                });
                sqlMaker2Param.fields.Add(new Field()
                {
                    target = "Demanda_Sinergia", source = "upper(replace(tc_user_template_24,'''',''))"
                });
                sqlMaker2Param.fields.Add(new Field()
                {
                    target = "Massa_Teste", source = "upper(tc.tc_user_template_29)"
                });
                sqlMaker2Param.fields.Add(new Field()
                {
                    target = "Pre_Condicao", source = "replace(upper(tc.tc_user_template_30),'''','')"
                });
            }

            //sqlMaker2Param.dataSource = @"{Esquema}.testcycl tc";
            sqlMaker2Param.dataSource =
                @"{Esquema}.TESTCYCL tc
                    JOIN {Esquema}.CYCLE ts
                    ON ts.CY_CYCLE_ID = tc.TC_CYCLE_ID
                    JOIN {Esquema}.CYCL_FOLD tsfolder
                    ON tsfolder.CF_ITEM_ID = ts.CY_FOLDER_ID
                ";

            sqlMaker2Param.dataSourceFilterCondition = "";
            sqlMaker2Param.targetTable = "ALM_CTs";

            this.sqlMaker2Param.targetSqlLastIdInserted = $"select max(ct) from alm_cts where subprojeto='{projeto.Subprojeto}' and entrega='{projeto.Entrega}'";
            this.sqlMaker2Param.targetSqlLastDateUpdate = $"select CTs_Incremental_Inicio from alm_projetos where subprojeto='{projeto.Subprojeto}' and entrega='{projeto.Entrega}'";

            this.sqlMaker2Param.dataSourceFilterConditionInsert = $" tc_testcycl_id > {this.sqlMaker2Param.targetLastIdInserted}";
            this.sqlMaker2Param.dataSourceFilterConditionUpdate = $" substr(tc_vts,3,17) > '{this.sqlMaker2Param.targetLastDateUpdate}'";

            sqlMaker2Param.typeDB = "ORACLE";

            // - Instanciador : tc.tc_tester_name (ALM Label: Responsible Tester)
            // - Testador    :(case when tc.tc_actual_tester <> '' then tc.tc_actual_tester else tc.tc_tester_name end) (ALM Label: Tester)
        }
Esempio n. 22
0
        public Steps(Projeto projeto, TypeUpdate typeUpdate, alm.Database database)
        {
            this.projeto    = projeto;
            this.typeUpdate = typeUpdate;
            this.database   = database;

            sqlMaker2Param = new SqlMaker2Param();

            sqlMaker2Param.fields = new List <Field>();

            sqlMaker2Param.fields.Add(new Field()
            {
                target = "Subprojeto", source = "'{Subprojeto}'", type = "A", key = true
            });
            sqlMaker2Param.fields.Add(new Field()
            {
                target = "Entrega", source = "'{Entrega}'", type = "A", key = true
            });
            sqlMaker2Param.fields.Add(new Field()
            {
                target = "Step", source = "ds_id", type = "N", key = true
            });
            sqlMaker2Param.fields.Add(new Field()
            {
                target = "Teste", source = "ds_test_id", type = "N"
            });
            sqlMaker2Param.fields.Add(new Field()
            {
                target = "Ordem", source = "ds_step_order", type = "N"
            });
            sqlMaker2Param.fields.Add(new Field()
            {
                target = "Nome", source = "upper(replace(trim(ds_step_name),'''',''))"
            });
            sqlMaker2Param.fields.Add(new Field()
            {
                target = "Descricao", source = "upper(replace(trim(ds_description),'''',''))"
            });
            sqlMaker2Param.fields.Add(new Field()
            {
                target = "Resultado_Esperado", source = "upper(replace(trim(DS_expected),'''',''))"
            });
            sqlMaker2Param.fields.Add(new Field()
            {
                target = "Tem_Paramentro", source = "upper(ds_has_params)"
            });
            sqlMaker2Param.fields.Add(new Field()
            {
                target = "Dt_Alteracao", source = "substr(ds_vts,9,2) || '-' || substr(ds_vts,6,2) || '-' || substr(ds_vts,3,2) || ' ' || substr(ds_vts,12,8)"
            });

            sqlMaker2Param.dataSource = @"{Esquema}.DesSteps st";

            sqlMaker2Param.dataSourceFilterCondition =
                @"exists(select distinct 1 
                        from {Esquema}.testcycl tc 
                        where tc.tc_test_id = st.ds_test_id)";

            sqlMaker2Param.targetTable = "alm_steps";

            this.sqlMaker2Param.targetSqlLastIdInserted = $"select max(step) from alm_Steps where subprojeto='{projeto.Subprojeto}' and entrega='{projeto.Entrega}'";
            this.sqlMaker2Param.targetSqlLastDateUpdate = $"select Steps_Incremental_Inicio from alm_projetos where subprojeto='{projeto.Subprojeto}' and entrega='{projeto.Entrega}'";

            this.sqlMaker2Param.dataSourceFilterConditionInsert = $" ds_id > {this.sqlMaker2Param.targetLastIdInserted}";
            this.sqlMaker2Param.dataSourceFilterConditionUpdate = $" substr(st.ds_vts,3,17) > '{this.sqlMaker2Param.targetLastDateUpdate}'";

            sqlMaker2Param.typeDB = "ORACLE";
        }
Esempio n. 23
0
        private bool CalculatePercentageProficientCyclical(int userId, int topicId, TypeUpdate typeUpdate, bool isUpdate)
        {
            var today = DateTime.Now;

            var dayNumber = 0;

            switch (typeUpdate)
            {
            case TypeUpdate.Day:
                dayNumber = 1;
                break;

            case TypeUpdate.Week:
                dayNumber = 7;
                break;

            case TypeUpdate.Month:
                dayNumber = 30;
                break;
            }

            var allanswers = _answerRepo.Entities
                             .Where(_ => _.UserId == userId && _.Qtion.TopicId == topicId &&
                                    _.UpdateDay > today.AddDays(-dayNumber))
                             .ToList();

            if (allanswers == null || allanswers.Count < 20)
            {
                return(false);
            }

            var numberCorrectAnswer = 0;

            foreach (var answer in allanswers)
            {
                if (answer.IsCorrect == true)
                {
                    numberCorrectAnswer++;
                }
            }

            var percentageProgicient = (float)numberCorrectAnswer / allanswers.Count();

            if (isUpdate)
            {
                var lastUpdate = _ratingRepo.Entities
                                 .Where(_ => _.TopicId == topicId && _.UserId == userId)
                                 .OrderByDescending(_ => _.UpdateDay)
                                 .FirstOrDefault();
                lastUpdate.CorrectAnswer = numberCorrectAnswer;
                lastUpdate.TotalAnswer   = allanswers.Count;
                lastUpdate.Percentage    = percentageProgicient;
                UnitOfWork.SaveChanges();
            }
            else
            {
                _ratingRepo.Insert(new Ratings
                {
                    UserId        = userId,
                    TopicId       = topicId,
                    TotalAnswer   = allanswers.Count,
                    CorrectAnswer = numberCorrectAnswer,
                    Percentage    = percentageProgicient,
                    UpdateDay     = DateTime.Now,
                });
                UnitOfWork.SaveChanges();
            }
            return(false);
        }
Esempio n. 24
0
 public virtual void LoadData_CTs(TypeUpdate typeUpdate)
 {
 }