protected void botSave_Click(object sender, EventArgs e)
    {
        Projecto novoProjecto;

        if (Session["ADD_NEW"] != null)
        {
            novoProjecto = new Projecto();
            Session.Remove("ADD_NEW");
        }
        else
        {
            novoProjecto = (Projecto)Session["currProjecto"];
        }

        txtToProject(novoProjecto);
        novoProjecto.updateDBProjecto("JC");

        // depois de gravar
        MView.ActiveViewIndex = 1;

        updateProjectList();

        // actualiza os labels
        projectToLiteral(novoProjecto);

        //coloca este projecto em sessão
        Session.Add("currProjecto", novoProjecto);

        Session.Remove("EDIT");
    }
Beispiel #2
0
        public static String getCustomDocProcessor(String serverRoot, Projecto projecto)
        {
            String result = "";
            String fileTemplate = serverRoot + "\\" + projecto.Template_Mnemonica + ".docx";
            if (File.Exists(fileTemplate))
            {
                using (WordprocessingDocument doc = WordprocessingDocument.Open(fileTemplate, false))
                {
                    if (doc.CustomFilePropertiesPart == null) return "";
                    var docCp = doc.CustomFilePropertiesPart.Properties;
                    try
                    {
                        var prop = docCp.Elements().First(x => x.GetAttribute("name", "").Value == "DocGenerator");
                        result = prop.FirstChild.InnerText;
                    }
                    catch
                    {
                        result = "NO_TEMPLATE";
                    }

                }
                return result;
            }
            return "NO_TEMPLATE";
        }
Beispiel #3
0
 public Ticket(Pessoa proprio, Pessoa avaliado, int modeloID, Projecto projecto, String chave)
 {
     this.projecto = projecto;
     this.proprio = proprio;
     this.avaliado = avaliado;
     this.chave = chave;
     this.modeloID = modeloID;
 }
        // utilizado nos relatórios One2One
        public RamkoersCalculations(ModeloCompetencias modelo, Pessoa proprio, Pessoa avaliado, Projecto proj)
        {
            _avaliado = null;
            _proprio = null;

            _Modelo = modelo;
            _Projecto = proj;
            _proprio = proprio;
            _avaliado = avaliado;
            _pessoaID = avaliado.PessoaID;
        }
 protected void getProjectInfo()
 {
     Ticket oneTicket = ticketList[0];
     if (oneTicket.Projecto == null)
     {
         Response.Redirect("Default.aspx");
     }
     else
     {
         projecto = oneTicket.Projecto;
         Utility.currProjeto = projecto;
     }
 }
    protected void getTicketList()
    {
        if (Session["FO_ticketList"] == null)
        {
            if(Request["ticket"] == null)
                Response.Redirect("ticketError.aspx?Error=NotTicket");
            // vai buscar os intervenientes nesta sessão
            proprio = Ticket.getPessoa((String)Request["ticket"], ref projecto, Utility.currProjeto.owner);
            if (proprio == null)
                Response.Redirect("genericError.aspx");
            ticketList = Ticket.getAllTickets(proprio.PessoaID, projecto.ProjectoID, projecto.owner);

            if (ticketList == null)
                Response.Redirect("ticketError.aspx");

            Session.Add("FO_ticketList", ticketList);

        }
        else
        {
            ticketList = (List<Ticket>)Session["FO_ticketList"];
            proprio = ((Ticket)(ticketList[0])).Proprio;
            projecto = ((Ticket)(ticketList[0])).Projecto;

            bool refresh = true;

            // se for outro ticket renova a lista de tickets*/
            if (refresh)
            {
                Session.Remove("FO_ticketList");

                // vai buscar os intervenientes nesta sessão
                // proprio = Ticket.getPessoa((String)Request["ticket"], ref projecto);
                if (proprio == null)
                    Response.Redirect("ticketError.aspx");

                // vai buscar todos os tickets desta pessoa
                ticketList = Ticket.getAllTickets(proprio.PessoaID, projecto.ProjectoID, projecto.owner);

                if (ticketList==null)
                    Response.Redirect("ticketError.aspx");

                Session.Add("FO_ticketList", ticketList);
            }

        }
    }
    protected void Page_Load(object sender, EventArgs e)
    {
        if (Session["PESSOA_ID"] == null)
            Response.Redirect("Login.aspx");

        this.Page.Title = "multiRater 360º - Main Email Acount";

        if (Session["currProjecto"] == null)
        {
            Response.Redirect("GestaoProjectos.aspx");
        }
        else {
            currProjecto = (Projecto)Session["currProjecto"];
        }

        if (IsPostBack)
        {
        }
        else
        {
            updateTextBoxes();
        }
    }
        public RamkoersCalculations(ModeloCompetencias modelo, int pessoaID, Projecto proj)
        {
            _avaliado = null;
            _proprio = null;

            _Modelo = modelo;
            _Projecto = proj;
            _pessoaID = pessoaID;

            ReportGroupCodes = new string[proj.GroupsCodes.Length + 1];
            for (int i = 0; i < ReportGroupCodes.Length-1; i++)
            {
                ReportGroupCodes[i] = proj.GroupsCodes[i];
            }
            ReportGroupCodes[proj.GroupsCodes.Length] = Dicionario.getResource(proj.defaultLangCode,364); // é All no idioma do projecto

            ReportGroupDescriptions = new string[proj.GroupsCodes.Length + 1];
            for (int i = 0; i < ReportGroupDescriptions.Length - 1; i++)
            {
                ReportGroupDescriptions[i] = proj.GroupsDescription[i];
            }
            ReportGroupDescriptions[proj.GroupsCodes.Length] = Dicionario.getResource(proj.defaultLangCode, 364); // é All no idioma do projecto
        }
Beispiel #9
0
        public static String[] getCustomAttributes(String serverRoot, Projecto projecto, String[] AttrNames)
        {
            String[] result = new string[AttrNames.Length];
            int i = 0;
            using (WordprocessingDocument doc = WordprocessingDocument.Open(serverRoot + "docTemplates\\" + projecto.Template_Mnemonica + ".docx", false))
            {
                var docCp = doc.CustomFilePropertiesPart.Properties;
                foreach (String attr in AttrNames)
                {
                    try
                    {
                        var prop = docCp.Elements().First(x => x.GetAttribute("name", "").Value == AttrNames[i]);
                        result[i] = prop.FirstChild.InnerText;
                    }
                    catch
                    {
                        result[i] = "";
                    }
                    i++;
                }

            }
            return result;
        }
    protected void txtToProject(Projecto novoProjecto)
    {
        // recolhe os dados, coloca-os na classe
        if (this.txtDataFim.Text != "")
            novoProjecto.DataFim = Convert.ToDateTime(this.txtDataFim.Text);
        if (this.txtDataInicio.Text != "")
            novoProjecto.DataInicio = Convert.ToDateTime(this.txtDataInicio.Text);
        novoProjecto.Nome = this.txtNome.Text;
        novoProjecto.NomeEmpresa = this.txtNomeEmpresa.Text;
        novoProjecto.CssFile = this.txtCssFile.Text;

        // analisar os intervenientes

        novoProjecto.boss = chkBoss.Checked;
        novoProjecto.collaborators = chkColabor.Checked;
        novoProjecto.others = chkOthers.Checked;
        novoProjecto.pears = chkPears.Checked;
        novoProjecto.self = chkSelf.Checked;

        novoProjecto.QuebraAvaliacaoIndividual = ddlQAI.SelectedValue;
        novoProjecto.QuebraAvaliacaoGrupo = ddlQAG.SelectedValue;
        novoProjecto.QuebraAutoAvaliacao = ddlQAA.SelectedValue;

        // identificar qual o modelo
        novoProjecto.ModeloID = int.Parse(this.ddlModelo.SelectedValue);

        novoProjecto.validaPagina = chkValidaPagina.Checked ? 1 : 0;
        if (txtNaoResposta.Text == "")
        {
            novoProjecto.NumMaxNaoResposta = -1;
        }
        else
        {
            novoProjecto.NumMaxNaoResposta = int.Parse(txtNaoResposta.Text);
        }
        novoProjecto.PermiteSuspender = chkPermiteSuspender.Checked ? 1 : 0;

        novoProjecto.defaultLangCode = txtLangCode.Text;
        novoProjecto.Template_Mnemonica = txtTemplateRelatorio.Text;

        novoProjecto.TamanhoEscala = txtTamanhoEscala.Text;

        novoProjecto.Simultaneas = chkSimultaneas.Checked;
        novoProjecto.fullFill = chkFullFill.Checked;

        novoProjecto.CustomGroupsCodes = txtCustomGroupsCodes.Text;
        novoProjecto.CustomGroupsDescription = txtCustomGroupsDescription.Text;
        if (novoProjecto.CustomGroupsCodes != null)
            novoProjecto.GroupsCodes = novoProjecto.CustomGroupsCodes.Split(';');
        if (novoProjecto.CustomGroupsDescription != null)
            novoProjecto.GroupsDescription = novoProjecto.CustomGroupsDescription.Split(';');
    }
    protected void projectToTxt(Projecto novoProjecto)
    {
        //fill the ddl
        updateModelDDL("JC");

        this.txtDataFim.Text = novoProjecto.DataFim.ToString("yyyy/MM/dd"); ;
        this.txtDataInicio.Text = novoProjecto.DataInicio.ToString("yyyy/MM/dd");
        this.txtNome.Text = novoProjecto.Nome;
        this.txtNomeEmpresa.Text = novoProjecto.NomeEmpresa;

        //this.txtIntroText.Text = novoProjecto.TextoIntro;

        this.txtCssFile.Text = novoProjecto.CssFile;
        //this.txtCapa.Text = novoProjecto.TextoCapa;

        chkBoss.Checked = novoProjecto.boss;
        chkColabor.Checked = novoProjecto.collaborators;
        chkOthers.Checked = novoProjecto.others;
        chkPears.Checked = novoProjecto.pears;
        chkSelf.Checked = novoProjecto.self;

        ddlQAA.Text = novoProjecto.QuebraAutoAvaliacao;
        ddlQAG.Text = novoProjecto.QuebraAvaliacaoGrupo;
        ddlQAI.Text = novoProjecto.QuebraAvaliacaoIndividual;

        // identificar qual o modelo
        ListItem item = ddlModelo.Items.FindByValue(novoProjecto.ModeloID.ToString());
        if (item != null)
            ddlModelo.Text = item.Value;

        chkValidaPagina.Checked = novoProjecto.validaPagina == 1 ? true : false;
        chkPermiteSuspender.Checked = novoProjecto.PermiteSuspender == 1 ? true : false;

        txtNaoResposta.Text = novoProjecto.NumMaxNaoResposta.ToString();
        txtLangCode.Text = novoProjecto.defaultLangCode;

        if (novoProjecto.Template_Mnemonica != null)
            txtTemplateRelatorio.Text = novoProjecto.Template_Mnemonica.Trim().Length == 0 ? "" : novoProjecto.Template_Mnemonica;

        txtTamanhoEscala.Text = novoProjecto.TamanhoEscala == null ? "" : novoProjecto.TamanhoEscala;

        chkSimultaneas.Checked = novoProjecto.Simultaneas;
        chkFullFill.Checked = novoProjecto.fullFill;

        txtCustomGroupsCodes.Text = novoProjecto.CustomGroupsCodes == null ? "" : novoProjecto.CustomGroupsCodes;
        txtCustomGroupsDescription.Text = novoProjecto.CustomGroupsDescription == null ? "" : novoProjecto.CustomGroupsDescription;
    }
    protected void projectToLiteral(Projecto oProjecto)
    {
        //fill the ddl
        // updateModelDDL("JC");
        // recolhe os dados, coloca-os na classe

        this.litDataFim.Text = oProjecto.DataFim.ToString("yyyy/MM/dd"); ;
        this.litDatainicio.Text = oProjecto.DataInicio.ToString("yyyy/MM/dd");
        this.litNome.Text = oProjecto.Nome;

        this.litCssFile.Text = oProjecto.CssFile;

        // analisar os intervenientes
        this.litIntervenientes.Text = "";
        if (oProjecto.self)
            this.litIntervenientes.Text += "Próprio<br/>";
        if (oProjecto.boss)
            this.litIntervenientes.Text += "Chefias<br/>";
        if (oProjecto.collaborators)
            this.litIntervenientes.Text += "Colaboradores<br/>";
        if (oProjecto.pears)
            this.litIntervenientes.Text += "Pares<br/>";
        if (oProjecto.others)
            this.litIntervenientes.Text += "Outros<br/>";

        if (litIntervenientes.Text.Length > 3)
            this.litIntervenientes.Text = this.litIntervenientes.Text.Substring(0, this.litIntervenientes.Text.Length - 3);

        litQAA.Text = oProjecto.QuebraAutoAvaliacao;
        litQAG.Text = oProjecto.QuebraAvaliacaoGrupo;
        litQAI.Text = oProjecto.QuebraAvaliacaoIndividual;
        litNomeEmpresa.Text = oProjecto.NomeEmpresa;

        // identificar qual o modelo
        try
        {
            litModelo.Text = ModeloCompetencias.getDBModelo("JC", oProjecto.ModeloID).PublicName;
        }
        catch
        {
            litModelo.Text = "Nodelo Inválido";
        }

        litObrigaResponder.Text = oProjecto.validaPagina == 1 ? "SIM" : "NÃO";

        litPermiteSuspender.Text = oProjecto.PermiteSuspender == 1 ? "SIM" : "NÃO";

        litNumMax.Text = oProjecto.NumMaxNaoResposta.ToString();
        litlangCode.Text = oProjecto.defaultLangCode;

        if (oProjecto.Template_Mnemonica != null)
            litTemplateRelatorio.Text = oProjecto.Template_Mnemonica.Trim().Length == 0 ? "" : oProjecto.Template_Mnemonica;

        litTamanhoEscala.Text = oProjecto.TamanhoEscala == null ? "" : oProjecto.TamanhoEscala;

        litSimultaneas.Text = oProjecto.Simultaneas ? "Não permite avaliações simultâneas" : "Permite avaliações simultâneas";
        litTipodeRating.Text = oProjecto.fullFill ? "Preenchimento de escala completo" : "Preenchimento de escala apenas num ponto";

        litCustomGroupsCodes.Text = oProjecto.CustomGroupsCodes == null ? "" : oProjecto.CustomGroupsCodes;
        litCustomGroupsDescription.Text = oProjecto.CustomGroupsDescription == null ? "" : oProjecto.CustomGroupsDescription;
    }
Beispiel #13
0
    public static bool getReportSettings(ReportCalculations reportCalculations, Projecto p)
    {
        int zero = -1;
        int zeroC = -1;
        String StrEscala = p.getCurrentConfig("SCALE");
        String[] Escalas = StrEscala.Split('«');
        String[] Valores = Escalas[0].Split('|');
        int realScaleSize = Valores.Count();

        String StrEscalaC = p.getCurrentConfig("SCALE_C");
        String[] EscalasC = StrEscalaC.Split('«');
        String[] ValoresC = EscalasC[0].Split('|');
        int realScaleSizeC = ValoresC.Count();

        // o primeiro valor pode ser o NR, ou não
        int.TryParse(Valores[0], out zero);
        Valores[0] = zero.ToString();
        realScaleSize = Valores.Count();

        // o primeiro valor pode ser o NR, ou não
        int.TryParse(ValoresC[0], out zeroC);
        ValoresC[0] = zeroC.ToString();
        realScaleSizeC = ValoresC.Count();

        if (zero == 0)
            realScaleSize--;
        if (zeroC == 0)
            realScaleSizeC--;

        reportCalculations.MAX_ESCALA = realScaleSize;
        reportCalculations.MAX_ESCALA_C = realScaleSizeC;

        switch (realScaleSize)
        {
            case 5:
                reportCalculations.GAP_DELTA_MAX = 0.5;
                reportCalculations.GAP_DELTA_MIN = -0.5;

                reportCalculations.MEDIA_CRITIC_DOWN_CUT = 2F;
                reportCalculations.MEDIA_CRITIC_UP_CUT = 4F;

                reportCalculations.FRACOS_FORTES_BOTTOM = 3.4999F;
                reportCalculations.FRACOS_FORTES_TOP = 4.25F;

                reportCalculations.DIST_BAD = 0.06F;
                reportCalculations.DIST_MED_BOTTOM = 0.3F;
                reportCalculations.DIST_MED_TOP = 0.6F;
                reportCalculations.DIST_GOOD_BOTTOM = 0.7F;

                reportCalculations.VALOR_ESCALA_CUT_BAIXO = 2;
                reportCalculations.VALOR_ESCALA_CUT_ALTO = 4;
                break;
            case 6:
                // ESCALA DE 6
                reportCalculations.GAP_DELTA_MAX = 0.5;
                reportCalculations.GAP_DELTA_MIN = -0.5;

                reportCalculations.MEDIA_CRITIC_DOWN_CUT = 3F;
                reportCalculations.MEDIA_CRITIC_UP_CUT = 5F;

                reportCalculations.FRACOS_FORTES_BOTTOM = 3.0F;
                reportCalculations.FRACOS_FORTES_TOP = 5.0F;

                reportCalculations.DIST_BAD = 0.06F;
                reportCalculations.DIST_MED_BOTTOM = 0.3F;
                reportCalculations.DIST_MED_TOP = 0.6F;
                reportCalculations.DIST_GOOD_BOTTOM = 0.7F;

                reportCalculations.VALOR_ESCALA_CUT_BAIXO = 3;
                reportCalculations.VALOR_ESCALA_CUT_ALTO = 5;
                break;
            case 7:
                reportCalculations.GAP_DELTA_MAX = 0.5;
                reportCalculations.GAP_DELTA_MIN = -0.5;

                reportCalculations.MEDIA_CRITIC_DOWN_CUT = 3.5F;
                reportCalculations.MEDIA_CRITIC_UP_CUT = 5.5F;

                reportCalculations.FRACOS_FORTES_BOTTOM = 3.5F;
                reportCalculations.FRACOS_FORTES_TOP = 5.5F;

                reportCalculations.DIST_BAD = 0.06F;
                reportCalculations.DIST_MED_BOTTOM = 0.3F;
                reportCalculations.DIST_MED_TOP = 0.6F;
                reportCalculations.DIST_GOOD_BOTTOM = 0.7F;

                reportCalculations.VALOR_ESCALA_CUT_BAIXO = 3;
                reportCalculations.VALOR_ESCALA_CUT_ALTO = 6;
                break;
            case 8:
                reportCalculations.GAP_DELTA_MAX = 0.5;
                reportCalculations.GAP_DELTA_MIN = -0.5;

                reportCalculations.MEDIA_CRITIC_DOWN_CUT = 3F;
                reportCalculations.MEDIA_CRITIC_UP_CUT = 6F;

                reportCalculations.FRACOS_FORTES_BOTTOM = 4.0F;
                reportCalculations.FRACOS_FORTES_TOP = 6.0F;

                reportCalculations.DIST_BAD = 0.06F;
                reportCalculations.DIST_MED_BOTTOM = 0.3F;
                reportCalculations.DIST_MED_TOP = 0.6F;
                reportCalculations.DIST_GOOD_BOTTOM = 0.7F;

                reportCalculations.VALOR_ESCALA_CUT_BAIXO = 4;
                reportCalculations.VALOR_ESCALA_CUT_ALTO = 7;
                break;
        }

        switch (realScaleSizeC)
        {
            case 5:
                reportCalculations.CRITIC_DOWN_CUT = 2F;
                reportCalculations.CRITIC_UP_CUT = 4F;
                break;
            case 6:
                // ESCALA DE 6
                reportCalculations.CRITIC_DOWN_CUT = 3F;
                reportCalculations.CRITIC_UP_CUT = 5F;
                break;
            case 7:
                reportCalculations.CRITIC_DOWN_CUT = 3.5F;
                reportCalculations.CRITIC_UP_CUT = 5.5F;
                break;
            case 8:
                reportCalculations.CRITIC_DOWN_CUT = 3F;
                reportCalculations.CRITIC_UP_CUT = 6F;
                break;
        }

        String reportSettings = p.getreportSettings();

        if (reportSettings == null) return true;

        String[] vars = reportSettings.Split(';');
        Dictionary<String, double> valores = new Dictionary<string, double>();
        String[] dim;

        foreach (String var in vars)
        {
            dim = var.Split('=');
            if (dim.Length == 2)
            {
                if (dim[0] != "VALOR_ESCALA_CUT_BAIXO" && dim[0] != "VALOR_ESCALA_CUT_ALTO")
                    valores.Add(dim[0], float.Parse(dim[1]) / 100.0);
                else
                    valores.Add(dim[0], float.Parse(dim[1]));
            }
        }

        if (valores.ContainsKey("MEDIA_CRITIC_DOWN_CUT"))
            reportCalculations.MEDIA_CRITIC_DOWN_CUT = valores["MEDIA_CRITIC_DOWN_CUT"];

        if (valores.ContainsKey("MEDIA_CRITIC_UP_CUT"))
            reportCalculations.MEDIA_CRITIC_UP_CUT = valores["MEDIA_CRITIC_UP_CUT"];

        if (valores.ContainsKey("FRACOS_FORTES_BOTTOM"))
            reportCalculations.FRACOS_FORTES_BOTTOM = valores["FRACOS_FORTES_BOTTOM"];

        if (valores.ContainsKey("FRACOS_FORTES_TOP"))
            reportCalculations.FRACOS_FORTES_TOP = valores["FRACOS_FORTES_TOP"];

        if (valores.ContainsKey("DIST_BAD"))
            reportCalculations.DIST_BAD = valores["DIST_BAD"];

        if (valores.ContainsKey("DIST_MED_BOTTOM"))
            reportCalculations.DIST_MED_BOTTOM = valores["DIST_MED_BOTTOM"];

        if (valores.ContainsKey("DIST_MED_TOP"))
            reportCalculations.DIST_MED_TOP = valores["DIST_MED_TOP"];

        if (valores.ContainsKey("DIST_GOOD_BOTTOM"))
            reportCalculations.DIST_GOOD_BOTTOM = valores["DIST_GOOD_BOTTOM"];

        if (valores.ContainsKey("VALOR_ESCALA_CUT_BAIXO"))
            reportCalculations.VALOR_ESCALA_CUT_BAIXO = (int)valores["VALOR_ESCALA_CUT_BAIXO"];

        if (valores.ContainsKey("VALOR_ESCALA_CUT_ALTO"))
            reportCalculations.VALOR_ESCALA_CUT_ALTO = (int)valores["VALOR_ESCALA_CUT_ALTO"];

        if (valores.ContainsKey("CRITIC_DOWN_CUT"))
            reportCalculations.CRITIC_DOWN_CUT = valores["CRITIC_DOWN_CUT"];

        if (valores.ContainsKey("CRITIC_UP_CUT"))
            reportCalculations.CRITIC_UP_CUT = valores["CRITIC_UP_CUT"];

        if (valores.ContainsKey("GAP_DELTA_MAX"))
            reportCalculations.GAP_DELTA_MAX = valores["GAP_DELTA_MAX"];

        if (valores.ContainsKey("GAP_DELTA_MIN"))
            reportCalculations.GAP_DELTA_MIN = valores["GAP_DELTA_MIN"];

        return true;
    }
    protected void Page_Load(object sender, EventArgs e)
    {
        dsModelos.ConnectionString = DBHelper.ConnectionString;
        dsProjectos.ConnectionString = DBHelper.ConnectionString;

        if (Session["PESSOA_ID"] == null)
            Response.Redirect("Login.aspx");

        this.Page.Title = "multiRater 360º - Gestão de Tickets";
        chavesEmpresa.Visible = false;
        if (Session["currProjecto"] == null)
        {
            // selecciona a view de selcção de projecto
            mvTickets.ActiveViewIndex = 0;
        }
        else {
            currProjecto = (Projecto)Session["currProjecto"];
            mvTickets.ActiveViewIndex = 1; // muda para a vista seguinte
            lblProjectName.Text = "PROJECTO:" + currProjecto.Nome;
        }

        if (Session["currModelo"] != null)
        {
            currModelo = (ModeloCompetencias)Session["currModelo"];
        }

        if (IsPostBack)
        {
        }
        else
        {
        }

        InputDadosProprio.Visible = false;
        InputDadosAvaliado.Visible = false;
        chavesEmpresa.Visible = false;

        // update de links manager tickets

        updateManagerLink();
    }
Beispiel #15
0
        public static List<Projecto> getAvailableTranslations(Projecto MasterProject)
        {
            SqlConnection conn = new SqlConnection(DBHelper.ConnectionString);
            SqlCommand command = new SqlCommand();
            List<Projecto> result = new List<Projecto>();

            String[] res;
            command.Connection = conn;
            command.CommandText = "getProjectTranslations";
            command.CommandType = System.Data.CommandType.StoredProcedure;
            command.Parameters.Add(new SqlParameter("MasterProjectID", MasterProject.ProjectoID));

            SqlDataAdapter da = new SqlDataAdapter(command);
            DataSet ds = new DataSet();

            conn.Open();
            da.Fill(ds);
            conn.Close();

            if (ds.Tables[0].Rows.Count <= 0)
                return null;

            String translationLangCode = "";
            int PrjID = 0;
            Projecto temp;
            foreach (DataRow dr in ds.Tables[0].Rows)
            {

                translationLangCode = Convert.IsDBNull(dr["langCode"]) ? "" : Convert.ToString(dr["langCode"]);
                PrjID = Convert.IsDBNull(dr["Translated_ID"]) ? 0 : Convert.ToInt32(dr["Translated_ID"]);
                temp = Projecto.getProjectoID(PrjID, "");
                if (temp != null)
                    result.Add(temp);
            }

            return result;
        }
Beispiel #16
0
        public static Ticket getTicket(String chave, String owner)
        {
            SqlConnection conn = new SqlConnection(DBHelper.ConnectionString);
            SqlCommand command = new SqlCommand();
            command.Connection = conn;
            command.CommandType = CommandType.StoredProcedure;
            command.CommandText = "getTicket";
            command.Parameters.AddWithValue("chave", chave);

            SqlDataAdapter da = new SqlDataAdapter(command);
            DataSet ds = new DataSet();

            conn.Open();
            da.Fill(ds);
            conn.Close();

            if (ds.Tables[0].Rows.Count == 0)
                return null;

            Ticket theTicket = new Ticket(); ;
            Pessoa proprio = new Pessoa();
            Projecto proj = new Projecto();

            DataRow dr = ds.Tables[0].Rows[0];

            proprio = Pessoa.getPessoa(Convert.ToInt32(dr["proprioID"]), owner);
            proj = Projecto.getProjectoID(Convert.ToInt32(dr["projectoID"]), owner);
            theTicket.projecto = proj;
            theTicket.modeloID = Convert.ToInt32(dr["modeloID"]);
            theTicket.proprio = proprio;

            if (Convert.IsDBNull(dr["avaliadoID"]))
                theTicket.avaliado = null;
            else
                theTicket.avaliado = Pessoa.getPessoa(Convert.ToInt32(dr["avaliadoID"]),owner);

            theTicket.chave = Convert.IsDBNull(dr["chave"]) ? "" : Convert.ToString(dr["chave"]);
            theTicket.completo = Convert.IsDBNull(dr["completo"]) ? false : Convert.ToBoolean(dr["completo"]);
            theTicket.dataFim = Convert.IsDBNull(dr["dataFim"]) ? DateTime.MinValue : Convert.ToDateTime(dr["dataFim"]);
            theTicket.dataInicio = Convert.IsDBNull(dr["dataInicio"]) ? DateTime.MinValue : Convert.ToDateTime(dr["dataInicio"]);
            theTicket.qualidade = Convert.IsDBNull(dr["qualidade"]) ? "" : Convert.ToString(dr["qualidade"]);
            theTicket.resposta = Convert.IsDBNull(dr["resposta"]) ? "" : Convert.ToString(dr["resposta"]);
            theTicket.pagina = Convert.IsDBNull(dr["pagina"]) ? 0 : Convert.ToInt32(dr["pagina"]);
            theTicket.ticketID = Convert.ToInt32(dr["id"]);
            theTicket.ticketType = Convert.IsDBNull(dr["ticketType"]) ? "" : Convert.ToString(dr["ticketType"]);
            theTicket.Convite = Convert.IsDBNull(dr["Convite"]) ? "" : Convert.ToString(dr["Convite"]);
            theTicket.dataEntrada = Convert.IsDBNull(dr["dtEntrada"]) ? DateTime.MinValue : Convert.ToDateTime(dr["dtEntrada"]);
            theTicket.LangCode = Convert.IsDBNull(dr["langCode"]) ? null : Convert.ToString(dr["langCode"]);
            theTicket.QuestionPattern = Convert.IsDBNull(dr["QuestionPattern"]) ? "" : Convert.ToString(dr["QuestionPattern"]);
            theTicket.AA = Convert.IsDBNull(dr["AA"]) ? false : Convert.ToBoolean(dr["AA"]);

            if (theTicket.langCode != null)
                proj.traslateTo(theTicket.langCode);

            theTicket.projecto = proj;

            theTicket.processResposta();
            return theTicket;
        }
Beispiel #17
0
        public static Pessoa getPessoa(String chave, ref Projecto proj, String accSignature)
        {
            SqlConnection conn = new SqlConnection(DBHelper.ConnectionString);
            SqlCommand command = new SqlCommand();
            command.Connection = conn;
            command.CommandType = CommandType.StoredProcedure;
            command.CommandText = "getPessoaProjecto";
            command.Parameters.AddWithValue("chave", chave);

            SqlDataAdapter da = new SqlDataAdapter(command);
            DataSet ds = new DataSet();

            conn.Open();
            da.Fill(ds);
            conn.Close();

            if (ds.Tables[0].Rows.Count == 0)
                return null;

            List<Ticket> theTicketList = new List<Ticket>();
            Pessoa proprio = new Pessoa();
            proj = new Projecto();

            proprio = Pessoa.getPessoa(Convert.ToInt32(ds.Tables[0].Rows[0]["proprioID"]), accSignature);
            proj = Projecto.getProjecto(Convert.ToInt32(ds.Tables[0].Rows[0]["projectoID"]), accSignature);

            return proprio;
        }
Beispiel #18
0
 protected void getProjectInfo()
 {
     Ticket oneTicket = ticketList[0];
     if (oneTicket.Projecto == null)
     {
         Response.Redirect("genericError.aspx");
     }
     else
     {
         projecto = oneTicket.Projecto;
         Utility.currProjeto = projecto;
     }
     //if (DateTime.Now.Date > projecto.DataFim)
     //    Response.Redirect("ticketError.aspx?Error=Closed");
 }
    protected void Projecto_SelectedIndexChanged(object sender, EventArgs e)
    {
        DDLGrupo.Visible = true;
        DDLGrupo.Items.Clear();

        Session["currProjecto"] = QToolsClasses.Projecto.getProjecto(int.Parse(DDLProjecto.SelectedValue), "JC");
        DDLGrupo.Visible = true;

        currProjecto = (Projecto)Session["currProjecto"];
        // agora posso saber o que vai no grupo
        int i = 0;
        if (currProjecto.GroupsCodes != null && currProjecto.GroupsCodes[0] != "")
        {
            foreach (String grupo in currProjecto.GroupsCodes)
            {
                DDLGrupo.Items.Add(new ListItem(currProjecto.GroupsDescription[i], grupo));
                i++;
            }
        }
        else
        {
            if (currProjecto.self) DDLGrupo.Items.Add(new ListItem("Self", "S"));
            if (currProjecto.boss) DDLGrupo.Items.Add(new ListItem("Boss", "B"));
            if (currProjecto.pears) DDLGrupo.Items.Add(new ListItem("Pears", "P"));
            if (currProjecto.collaborators) DDLGrupo.Items.Add(new ListItem("Colaborators", "C"));
            if (currProjecto.others) DDLGrupo.Items.Add(new ListItem("Others", "O"));
        }
    }
    protected void Page_Load(object sender, EventArgs e)
    {
        if (Session["PESSOA_ID"] == null)
            Response.Redirect("Login.aspx");

        this.Page.Title = "MultiRater 360º - Gestão de Dados";

        if (Session["currProjecto"] != null)
        {
            currProjecto = Session["currProjecto"] as Projecto;
        }

        dsProjectos.ConnectionString = DBHelper.ConnectionString;

        if (!IsPostBack)
        {
            DIV_Participantes.Visible = false;
            DIV_Tickets.Visible = false;

        }
    }
Beispiel #21
0
        public static List<Projecto> getProjectTemplates(int langID)
        {
            SqlConnection conn = new SqlConnection(DBHelper.ConnectionString);
            SqlCommand command = new SqlCommand();

            String[] res;
            command.Connection = conn;
            command.CommandText = "getProjectTemplates";
            command.CommandType = System.Data.CommandType.StoredProcedure;
            command.Parameters.Add(new SqlParameter("langID", langID));

            SqlDataAdapter da = new SqlDataAdapter(command);
            DataSet ds = new DataSet();

            conn.Open();
            da.Fill(ds);
            conn.Close();

            if (ds.Tables[0].Rows.Count <= 0)
                return null;
            List<Projecto> result = new List<Projecto>();
            Projecto proj;

            foreach (DataRow dr in ds.Tables[0].Rows)
            {
                //ID, nome, TemplateConfig, defaultLangCode
                proj = new Projecto();
                proj.projectoID = Convert.ToInt32(dr["ID"]);
                proj.Nome = Convert.IsDBNull(dr["nome"]) ? "-1" : Convert.ToString(dr["nome"]).ToString();
                proj.defaultLangCode = Convert.IsDBNull(dr["defaultLangCode"]) ? "" : Convert.ToString(dr["defaultLangCode"]).ToString();
                proj.TemplateConfig = Convert.IsDBNull(dr["TemplateConfig"]) ? "" : Convert.ToString(dr["TemplateConfig"]).ToString();

                result.Add(proj);
                // ACABAR ISTO
                // usar para preencher o postback da selecção de idioma
            }

            return result;
        }
Beispiel #22
0
        public static Projecto getProjectoEquivalente(Projecto MasterProject , string langCode)
        {
            SqlConnection conn = new SqlConnection(DBHelper.ConnectionString);
            SqlCommand command = new SqlCommand();

            String[] res;
            command.Connection = conn;
            command.CommandText = "getProjectTranslations";
            command.CommandType = System.Data.CommandType.StoredProcedure;
            command.Parameters.Add(new SqlParameter("MasterProjectID", MasterProject.ProjectoID));

            SqlDataAdapter da = new SqlDataAdapter(command);
            DataSet ds = new DataSet();

            conn.Open();
            da.Fill(ds);
            conn.Close();

            if (ds.Tables[0].Rows.Count <= 0)
                return null;

            String translationLangCode = "";
            int bestProjectID=0;

            foreach (DataRow dr in ds.Tables[0].Rows)
            {

                translationLangCode = Convert.IsDBNull(dr["langCode"]) ? "" : Convert.ToString(dr["langCode"]);
                if (translationLangCode.Trim().ToUpper() == langCode.Trim().ToUpper())
                {
                    // este id serve
                    bestProjectID = Convert.IsDBNull(dr["Translated_ID"]) ? 0 : Convert.ToInt32(dr["Translated_ID"]);
                }
                else if (translationLangCode.Trim().ToUpper().Substring(0, 2) == langCode.Trim().ToUpper().Substring(0, 2))
                {
                    // este tb serve
                    bestProjectID = Convert.IsDBNull(dr["Translated_ID"]) ? 0 : Convert.ToInt32(dr["Translated_ID"]);
                }
            }

            if (bestProjectID != 0)
            {
                return Projecto.getProjectoID(bestProjectID, MasterProject.owner + "_TRANSLATED");
            }
            return null;
        }
Beispiel #23
0
 public static String getProjectFolder(String root, Projecto prj)
 {
     String filePath = root;
     filePath += "ACCOUNTS\\" + prj.owner + "\\PRJ" + prj.ProjectoID.ToString();
     return filePath;
 }
Beispiel #24
0
        public static List<Ticket> getTicketsByIDs(string ListaIDs, String accSignature)
        {
            SqlConnection conn = new SqlConnection(DBHelper.ConnectionString);
            SqlCommand command = new SqlCommand();
            command.Connection = conn;
            command.CommandType = CommandType.StoredProcedure;
            command.CommandText = "getTickets_byID";
            command.Parameters.AddWithValue("listaTicketIDs", ListaIDs);

            SqlDataAdapter da = new SqlDataAdapter(command);
            DataSet ds = new DataSet();

            conn.Open();
            da.Fill(ds);
            conn.Close();

            if (ds.Tables[0].Rows.Count == 0)
                return null;

            List<Ticket> theTicketList = new List<Ticket>();
            Ticket theTicket;
            Pessoa proprio = new Pessoa();
            Projecto proj = new Projecto();

            proj = Projecto.getProjecto(Convert.ToInt32(ds.Tables[0].Rows[0]["projectoID"]), accSignature);

            foreach (DataRow dr in ds.Tables[0].Rows)
            {
                theTicket = new Ticket();
                theTicket.projecto = proj; // Convert.IsDBNull(dr["projectoID"]) ? null : Projecto.getProjecto(Convert.ToInt32(dr["projectoID"]), accSignature);
                theTicket.modeloID = Convert.ToInt32(dr["modeloID"]);
                theTicket.proprio = Convert.IsDBNull(dr["proprioID"]) ? null : Pessoa.getPessoa(Convert.ToInt32(dr["proprioID"]), accSignature);
                theTicket.avaliado = Convert.IsDBNull(dr["avaliadoID"]) ? null : Pessoa.getPessoa(Convert.ToInt32(dr["avaliadoID"]), accSignature);
                theTicket.chave = Convert.IsDBNull(dr["chave"]) ? "" : Convert.ToString(dr["chave"]);
                theTicket.completo = Convert.IsDBNull(dr["completo"]) ? false : Convert.ToBoolean(dr["completo"]);
                theTicket.dataFim = Convert.IsDBNull(dr["dataFim"]) ? DateTime.MinValue : Convert.ToDateTime(dr["dataFim"]);
                theTicket.dataInicio = Convert.IsDBNull(dr["dataInicio"]) ? DateTime.MinValue : Convert.ToDateTime(dr["dataInicio"]);
                theTicket.qualidade = Convert.IsDBNull(dr["qualidade"]) ? "" : Convert.ToString(dr["qualidade"]);
                theTicket.resposta = Convert.IsDBNull(dr["resposta"]) ? "" : Convert.ToString(dr["resposta"]);
                theTicket.pagina = Convert.IsDBNull(dr["pagina"]) ? 0 : Convert.ToInt32(dr["pagina"]);
                theTicket.ticketID = Convert.ToInt32(dr["id"]);
                theTicket.ticketType = Convert.IsDBNull(dr["ticketType"]) ? "" : Convert.ToString(dr["ticketType"]);
                theTicket.Convite = Convert.IsDBNull(dr["Convite"]) ? "" : Convert.ToString(dr["Convite"]);
                theTicket.dataEntrada = Convert.IsDBNull(dr["dtEntrada"]) ? DateTime.MinValue : Convert.ToDateTime(dr["dtEntrada"]);
                theTicket.LangCode = Convert.IsDBNull(dr["langCode"]) ? null : Convert.ToString(dr["langCode"]);
                theTicket.QuestionPattern = Convert.IsDBNull(dr["QuestionPattern"]) ? "" : Convert.ToString(dr["QuestionPattern"]);
                theTicket.AA = Convert.IsDBNull(dr["AA"]) ? false : Convert.ToBoolean(dr["AA"]);

                if (theTicket.langCode != null)
                    proj.traslateTo(theTicket.langCode);

                theTicket.projecto = proj;

                theTicket.processResposta();

                theTicketList.Add(theTicket);
            }

            return theTicketList;
        }
 protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
 {
     // caregar o projecto seleccionado
     currProjecto = Projecto.getProjecto(int.Parse(DDLProjectos.SelectedValue), "JC");
     Session.Add("currProjecto", currProjecto);
     mvTickets.ActiveViewIndex = 1; // muda para a vista seguinte
     updateVisibilidades();
 }
Beispiel #26
0
 public bool GenerateReport(String templatePath, String destinationPath, DateTime dataDocumento, Pessoa self, Ticket ticket, Projecto proj, string endMarker)
 {
     throw new NotImplementedException();
 }
        public bool GenerateReport(String templatePath, String destinationPath, DateTime dataDocumento, Pessoa self, Ticket ticket, Projecto proj, string endMarker)
        {
            try
            {
                this.rootPath = templatePath;
                this.destPath = destinationPath;
                this._self = self;
                this._ticket = ticket;
                this._projecto = proj;
                this._endMarker = endMarker;

                _Modelo = ModeloCompetencias.getDBModelo("JC", ModeloCompetencias.getPessoaModelo(_self.PessoaID, _projecto.ProjectoID));
                _Modelo.loadFull(_projecto.owner, null);

                repCalcs = new RamkoersCalculations(_Modelo, _self.PessoaID, _projecto);

                if (!repCalcs.Init())
                    repCalcs = null;

                CountUps = 0;
                CountHoriz = 0;
                CountDown = 0;
            }
            catch (Exception e)
            {
                return false;
            }

            // tudo inicializado, podemos iniciar a geração do relatório
            this.Start();

            return true;
        }
Beispiel #28
0
    private String getTabelaDeProjectos(Projecto[] projectos)
    {
        if (projectos == null)
            return "";
        // o self é para não ser listado na lista de possível selecionados
        // ou então marca-se como autoavaliação
        // Pessoa pess;
        int count = 1;
        StringBuilder sb = new StringBuilder();
        if (Utility.theUser.AccessMenu(Utility.PROJECTS, Utility.READ))
        {

            sb.Append("<table class=\"display\" id=\"TabelaDeProjectos\">");
            sb.Append("<thead>");
            sb.Append("<tr>");
            sb.AppendFormat("<th><div class=\"th_wrapp\">{0}</div></th>", dic.getResource(7));
            sb.AppendFormat("<th><div class=\"th_wrapp\">{0}</div></th>", dic.getResource(360));
            sb.AppendFormat("<th><div class=\"th_wrapp\">{0}</div></th>", dic.getResource(324));
            sb.AppendFormat("<th><div class=\"th_wrapp\">{0}</div></th>", dic.getResource(86) + "~" + dic.getResource(85));
            sb.AppendFormat("<th><div class=\"th_wrapp\">{0}</div></th>", dic.getResource(24));
            sb.Append("</tr>");
            sb.Append("</thead><tbody>");

            foreach (Projecto proj in projectos)
            {

                sb.AppendFormat("<tr class=\"{0}\">", count % 2 == 0 ? "even" : "odd");

                sb.AppendFormat("<td class=\"sorting_1\"><span class=\"ModeloStyle\"><a class=\"sepV_a\" title=\"Select\" href=\"{1}\">{0}</a></span></td>", proj.NomeEmpresa,
                    "javascript:action('Project','Select=" + proj.ProjectoID.ToString() + "')");

                sb.AppendFormat("<td class=\"sorting_1\"><span class=\"ProdutoStyle\">{0}</span></td>", proj.Nome);

                sb.AppendFormat("<td class=\"sorting_1\" style=\"text-align:left; font-size: xx-small;\">{0}</td>", Server.HtmlDecode(proj.DescricaoProjecto));
                sb.AppendFormat("<td class=\"sorting_1\" style=\"text-align:center; font-size: xx-small;\">{0}</td>", proj.DataInicio.ToString("yyyy-MM-dd") + "  ~  " + proj.DataFim.ToString("yyyy-MM-dd"));

                // Selects
                sb.AppendFormat("<td class=\"content_actions\" style=\"text-align:center;\">");

                // sb.AppendFormat("<img alt=\"Alert\" src=\"../images/icons/alert.png\">");

                if (proj.isClosed())
                {
                    if (Utility.theUser.AccessMenu(Utility.PROJECTS, Utility.READ_EDIT_CREATE_DELETE))
                        sb.AppendFormat("<a class=\"sepV_a\" title=\"Reopen\" href=\"{0}\"><img alt=\"Delete\" src=\"../images/icons/unlocked.png\"></a>",
                            "javascript:confirmDelete('Project','Reopen=" + proj.ProjectoID.ToString() + "')");
                }
                else
                {
                    if (Utility.theUser.AccessMenu(Utility.PROJECTS, Utility.READ_EDIT_CREATE_DELETE))
                        sb.AppendFormat("<a class=\"sepV_a\" title=\"Close\" href=\"{0}\"><img alt=\"Delete\" src=\"../images/icons/locked2.png\"></a>",
                            "javascript:confirmDelete('Project','Close=" + proj.ProjectoID.ToString() + "')");

                }
                if (Utility.theUser.AccessMenu(Utility.MODELS, Utility.READ_EDIT))
                    sb.AppendFormat("<a class=\"sepV_a\" title=\"Edit\" href=\"{0}\"><img alt=\"Edit\" src=\"../images/icons/pencil.png\"></a>",
                        "javascript:action('Project','Edit=" + proj.ProjectoID.ToString() + "')");

                sb.AppendFormat("</td>");
                sb.AppendFormat("</tr>");
            }

            sb.Append("</tbody></table>");
        }
        return sb.ToString();
    }
Beispiel #29
0
 public static String getProjectFolder(String root, Account acc, Projecto prj)
 {
     String filePath = root;
     filePath += "ACCOUNTS\\" + acc.AccountSignature + "\\PRJ" + prj.ProjectoID.ToString();
     return filePath;
 }
Beispiel #30
0
        public static Projecto[] loadProjectos(String owner)
        {
            SqlConnection conn = new SqlConnection(DBHelper.ConnectionString);
            SqlCommand command = new SqlCommand();
            command.Connection = conn;
            command.CommandText = "getProjectos";
            command.CommandType = System.Data.CommandType.StoredProcedure;
            command.Parameters.Add(new SqlParameter("owner", owner));

            SqlDataAdapter da = new SqlDataAdapter(command);
            DataSet ds = new DataSet();

            conn.Open();
            da.Fill(ds);
            conn.Close();

            if (ds.Tables[0].Rows.Count <= 0)
                return null;

            Projecto proj;
            Projecto []returnValue  = new Projecto[ds.Tables[0].Rows.Count];

            int i = 0;
            foreach (DataRow dr in ds.Tables[0].Rows)
            {
                proj = new Projecto();
                proj.modeloID = Convert.IsDBNull(dr["modeloAplicado"]) ? -1 : Convert.ToInt32(dr["modeloAplicado"]);
                proj.nome = Convert.IsDBNull(dr["nome"]) ? null : Convert.ToString(dr["nome"]);
                proj.boss = Convert.IsDBNull(dr["boss"]) ? false : Convert.ToBoolean(dr["boss"]);
                proj.collaborators = Convert.IsDBNull(dr["colaborators"]) ? false : Convert.ToBoolean(dr["colaborators"]);
                proj.others = Convert.IsDBNull(dr["others"]) ? false : Convert.ToBoolean(dr["others"]);
                proj.pears = Convert.IsDBNull(dr["pears"]) ? false : Convert.ToBoolean(dr["pears"]);
                proj.self = Convert.IsDBNull(dr["self"]) ? false : Convert.ToBoolean(dr["self"]);
                proj.projectoID = Convert.IsDBNull(dr["ID"]) ? -1 : Convert.ToInt32(dr["ID"]);
                proj.dataFim = Convert.IsDBNull(dr["dataFim"]) ? DateTime.MinValue : Convert.ToDateTime(dr["dataFim"]);
                proj.dataInicio = Convert.IsDBNull(dr["dataInicio"]) ? DateTime.MinValue : Convert.ToDateTime(dr["dataInicio"]);
                proj.changeDate = Convert.IsDBNull(dr["dataChange"]) ? DateTime.MinValue : Convert.ToDateTime(dr["dataChange"]);
                proj.cssFile = Convert.IsDBNull(dr["estilo"]) ? null : Convert.ToString(dr["estilo"]);
                proj.fechado = Convert.IsDBNull(dr["fechado"]) ? false : Convert.ToBoolean(dr["fechado"]);
                proj.QuebraAutoAvaliacao = Convert.IsDBNull(dr["QuebraAutoAvaliacao"]) ? null : Convert.ToString(dr["QuebraAutoAvaliacao"]);
                proj.QuebraAvaliacaoGrupo = Convert.IsDBNull(dr["QuebraAvaliacaoGrupo"]) ? null : Convert.ToString(dr["QuebraAvaliacaoGrupo"]);
                proj.QuebraAvaliacaoIndividual = Convert.IsDBNull(dr["QuebraAvaliacaoIndividual"]) ? null : Convert.ToString(dr["QuebraAvaliacaoIndividual"]);
                proj.validaPagina = Convert.IsDBNull(dr["ValidaPagina"]) ? 0 : Convert.ToInt32(dr["ValidaPagina"]);
                proj.LayoutDashBoard = Convert.IsDBNull(dr["LayoutDB"]) ? null : Convert.ToString(dr["LayoutDB"]);
                proj.NomeEmpresa = Convert.IsDBNull(dr["NomeEmpresa"]) ? null : Convert.ToString(dr["NomeEmpresa"]);
                proj.defaultLangCode = Convert.IsDBNull(dr["defaultLangCode"]) ? null : Convert.ToString(dr["defaultLangCode"]);
                proj.owner = Convert.IsDBNull(dr["owner"]) ? null : Convert.ToString(dr["owner"]);

                proj.textoCompleto = Convert.IsDBNull(dr["textoCompleto"]) ? null : Convert.ToString(dr["textoCompleto"]);
                proj.textoRetomar = Convert.IsDBNull(dr["textoRetomar"]) ? null : Convert.ToString(dr["textoRetomar"]);
                proj.textoSuspender = Convert.IsDBNull(dr["textoSuspender"]) ? null : Convert.ToString(dr["textoSuspender"]);
                proj.textoEmailConvite = Convert.IsDBNull(dr["textoEmailConvite"]) ? null : Convert.ToString(dr["textoEmailConvite"]);
                proj.textoCapa = Convert.IsDBNull(dr["textoCapa"]) ? null : Convert.ToString(dr["textoCapa"]);
                proj.textoConcordo = Convert.IsDBNull(dr["textoAcordo"]) ? null : Convert.ToString(dr["textoAcordo"]);
                proj.textoConfidencialidade = Convert.IsDBNull(dr["textoConfidencialidade"]) ? null : Convert.ToString(dr["textoConfidencialidade"]);
                proj.textoInstrucoes = Convert.IsDBNull(dr["textoInstrucoes"]) ? null : Convert.ToString(dr["textoInstrucoes"]);
                proj.textoIntroProjecto = Convert.IsDBNull(dr["textoIntroProjecto"]) ? null : Convert.ToString(dr["textoIntroProjecto"]);
                proj.textoConvite = Convert.IsDBNull(dr["textoConvite"]) ? null : Convert.ToString(dr["textoConvite"]);
                proj.textoIntro = Convert.IsDBNull(dr["textoIntroducao"]) ? null : Convert.ToString(dr["textoIntroducao"]);
                proj.textoIntroDemograficos = Convert.IsDBNull(dr["textoIntroDemograficos"]) ? null : Convert.ToString(dr["textoIntroDemograficos"]);
                proj.textoEmailEnvioTicket = Convert.IsDBNull(dr["textoEmailEnvioTicket"]) ? null : Convert.ToString(dr["textoEmailEnvioTicket"]);
                proj.textoEmailReminder = Convert.IsDBNull(dr["textoEmailReminder"]) ? null : Convert.ToString(dr["textoEmailReminder"]);

                proj.smtp_email_name = Convert.IsDBNull(dr["smtp_email_name"]) ? null : Convert.ToString(dr["smtp_email_name"]);
                proj.smtp_password = Convert.IsDBNull(dr["smtp_password"]) ? null : Convert.ToString(dr["smtp_password"]);
                proj.smtp_server = Convert.IsDBNull(dr["smtp_server"]) ? null : Convert.ToString(dr["smtp_server"]);
                proj.smtp_user = Convert.IsDBNull(dr["smtp_user"]) ? null : Convert.ToString(dr["smtp_user"]);
                proj.EnableSsl = Convert.IsDBNull(dr["EnableSsl"]) ? -1 : Convert.ToInt32(dr["EnableSsl"]);
                proj.smtp_port = Convert.IsDBNull(dr["smtp_port"]) ? -1 : Convert.ToInt32(dr["smtp_port"]);

                proj.PermiteSuspender = Convert.IsDBNull(dr["PermiteSuspender"]) ? -1 : Convert.ToInt32(dr["PermiteSuspender"]);

                proj.NumMaxNaoResposta = Convert.IsDBNull(dr["NumMaxNaoResposta"]) ? -1 : Convert.ToInt32(dr["NumMaxNaoResposta"]);

                proj.Template_Mnemonica = Convert.IsDBNull(dr["Template_Mnemonica"]) ? null : Convert.ToString(dr["Template_Mnemonica"]);

                proj.TamanhoEscala = Convert.IsDBNull(dr["TamanhoEscala"]) ? null : Convert.ToString(dr["TamanhoEscala"]);

                proj.Simultaneas = Convert.IsDBNull(dr["simultanea"]) ? false : Convert.ToBoolean(dr["simultanea"]);
                proj.fullFill = Convert.IsDBNull(dr["fullFill"]) ? false : Convert.ToBoolean(dr["fullFill"]);
                proj.NRPosition = Convert.IsDBNull(dr["NRPosition"]) ? null : Convert.ToString(dr["NRPosition"]);

                proj.CustomGroupsCodes = Convert.IsDBNull(dr["CustomGroupsCodes"]) ? Dicionario.getResource(proj.defaultLangCode, 365) : Convert.ToString(dr["CustomGroupsCodes"]);
                proj.CustomGroupsDescription = Convert.IsDBNull(dr["CustomGroupsDescription"]) ? Dicionario.getResource(proj.defaultLangCode, 363) : Convert.ToString(dr["CustomGroupsDescription"]);
                proj.DescricaoProjecto = Convert.IsDBNull(dr["DescricaoProjecto"]) ? null : Convert.ToString(dr["DescricaoProjecto"]);

                if (proj.CustomGroupsCodes == "") proj.CustomGroupsCodes = Dicionario.getResource(proj.defaultLangCode, 365);
                if (proj.CustomGroupsDescription == "") proj.CustomGroupsDescription = Dicionario.getResource(proj.defaultLangCode, 363);

                if (proj.CustomGroupsCodes != null)
                    proj.GroupsCodes = proj.CustomGroupsCodes.Split(';');

                if (proj.CustomGroupsDescription != null)
                    proj.GroupsDescription = proj.CustomGroupsDescription.Split(';');

                returnValue[i++] = proj;
            }
            return returnValue;
        }