Пример #1
0
    private string gerarTicets()
    {
        StringBuilder sb = new StringBuilder();

        List<String> emailsParaCriarPessoas ;
        List<int> idsParaCriarTickets;

        emailsParaCriarPessoas = (List<String>)Session["emailsParaCriarPessoas"];
        idsParaCriarTickets = (List<int>)Session["idsParaCriarTickets"];

        sb.Append("<h3>Tickets Criados</h3>");

        // Primeiro criar as pessoas
        Pessoa novaPessoa;
        foreach (String email in emailsParaCriarPessoas)
        {
            novaPessoa = new Pessoa("SEMNOME", "", "SEMAPELIDO", email, "M");
            novaPessoa.insertDBPessoa("JC", "CLIMA_AUTO");
            idsParaCriarTickets.Add(novaPessoa.PessoaID);
        }

        // aqui tenho todos os ids para criar
        Ticket novoTicket;
        foreach (int id in idsParaCriarTickets)
        {
            novaPessoa = Pessoa.getPessoa(id, "JC");
            novoTicket = new Ticket(novaPessoa, novaPessoa,
                                currModelo.ModeloID, currProjecto,
                                Guid.NewGuid().ToString().Replace("-", ""), "S");
            novoTicket.ticketType = currModelo.ModelType;
            novoTicket.ticketType = DDTipoTicket.SelectedValue;
            if(DDLangCode.SelectedValue != "null")
                novoTicket.LangCode = DDLangCode.SelectedValue;
            novoTicket.insertDBTicket();
            sb.AppendFormat("{1};{0}<br/>", novoTicket.Chave, novaPessoa.Email);
        }

        Session.Remove("emailsParaCriarPessoas");
        Session.Remove("idsParaCriarTickets");

        return sb.ToString();
    }
Пример #2
0
    private string gerarTicets360()
    {
        StringBuilder sb = new StringBuilder();

        List<String> dadosParaCriarPessoas;
        List<String> ticketsParaCriar;
        List<String> ticketsParaConvite;
        String Self;

        dadosParaCriarPessoas = (List<String>)Session["emailsParaCriarPessoas"];
        ticketsParaCriar = (List<String>)Session["ticketsParaCriar"];
        ticketsParaConvite = (List<String>)Session["ticketsParaConvite"];

        Self = (String)Session["Self"];

        sb.Append("<h3>Tickets Criados</h3>");

        // Primeiro criar as pessoas
        Pessoa novaPessoa;
        String[] dadosPessoa;
        foreach (String linhaDados in dadosParaCriarPessoas)
        {
            dadosPessoa = linhaDados.Split(';');
            if (dadosPessoa[0].ToUpper().Trim() != "CONVITE")
            {
                novaPessoa = new Pessoa(dadosPessoa[1], dadosPessoa[2], dadosPessoa[3], dadosPessoa[0], dadosPessoa[4]);
                novaPessoa.funcao = dadosPessoa[5];
                novaPessoa.empresa = dadosPessoa[6];
                novaPessoa.insertDBPessoa("JC", "360_AUTO");
            }
        }

        // aqui tenho todos os ids para criar
        Ticket novoTicket;
        String[] emails;
        Pessoa avaliado;
        foreach (String parEmailss in ticketsParaCriar)
        {
            emails = parEmailss.Split(';');
            novaPessoa = Pessoa.getPessoa(emails[0], "JC");
            avaliado = Pessoa.getPessoa(emails[1], "JC");
            if (avaliado != null && novaPessoa != null)
            {
                novoTicket = new Ticket(novaPessoa, avaliado,
                                    currModelo.ModeloID, currProjecto,
                                    Guid.NewGuid().ToString().Replace("-", ""), emails[2]);
                novoTicket.ticketType = currModelo.ModelType;

                novoTicket.ticketType = DDTipoTicket.SelectedValue;
                if (DDLangCode.SelectedValue != "null")
                    novoTicket.LangCode = DDLangCode.SelectedValue;

                novoTicket.insertDBTicket();
                sb.AppendFormat("{1};{0}<br/>", novoTicket.Chave, novaPessoa.Email);
            }
        }

        string[] dados;
        foreach (String convites in ticketsParaConvite)
        {
            dados = convites.Split(';');
            avaliado = Pessoa.getPessoa(dados[2], "JC");
            if (avaliado != null)
            {
                novoTicket = new Ticket();
                novoTicket.Proprio = avaliado;
                novoTicket.Qualidade = dados[1]; // tem a qualidade
                novoTicket.Convite = "SIM";
                novoTicket.Chave = Guid.NewGuid().ToString().Replace("-", "");
                novoTicket.Projecto = currProjecto;
                novoTicket.ModeloID = currModelo.ModeloID;
                novoTicket.ticketType = DDTipoTicket.SelectedValue;
                if (DDLangCode.SelectedValue != "null")
                    novoTicket.LangCode = DDLangCode.SelectedValue;

                novoTicket.insertDBTicketConvite();
                sb.AppendFormat("{1};{0}<br/>", novoTicket.Chave, "CONVITE de " + avaliado.NomeProprio);
            }
        }

        return sb.ToString();
    }
Пример #3
0
    private void uploadParticipantCSV()
    {
        CsvFileReader reader = new CsvFileReader(CSVUpload.PostedFile.InputStream, Encoding.GetEncoding(1252));
        CsvRow linha = new CsvRow();
        int count = 0;
        int countOK = 0;
        String[] simNao = dic.getResource(337).Split(';');
        String Demograficos = Utility.currProjeto.getTemplateSetup("PDATA");
        Pessoa p;
        String importID = "PRJID=" + Utility.currProjeto.ProjectoID.ToString();
        reader.separator = txtSeparatorChar.Text[0];

        while (reader.ReadRow(linha))
        {
            // validar o lote
            // txtLote.Text += linha.LineText + "\n";
            // criar os participantes
            try
            {
                p = new Pessoa(linha[1], "", linha[2], linha[0], linha[3]);
                if (linha.Count >= 5)
                {

                    if (linha[4] == simNao[0]) // quer dizer que é sim
                        p.self = "S";
                    else
                        p.self = "N";
                }

                if (linha.Count >= 6)
                {
                    if (linha[5] == "S" || linha[5] == simNao[0])
                        p.Demographics = Demograficos.Replace("«", "\n").Replace("|", ";");
                    else
                        p.Demographics = "";
                }

                if (!p.insertDBPessoa(Utility.currentAccount.AccountSignature, importID))
                {
                    txtErrorMessage += dic.getResource(278) + count.ToString() + "[" + p.errorMessage + "]<br/>";
                }
                else
                {
                    countOK++;
                }
            }
            catch (Exception exp)
            {
                txtErrorMessage += exp.ToString() + "<br/>";
            }
            count++;

        }
        if (countOK > 0)
        {
            Utility.messageBox(this, dic.getResource(225), String.Format(dic.getResource(280), countOK, count - countOK), false);
        }
    }
Пример #4
0
    private void saveNewParticipante()
    {
        Mode = "ProjectParticipants";
        Utility.currType = "NovoPart";

        // uma pessoa nova
        String Demograficos = Utility.currProjeto.getTemplateSetup("PDATA");
        Pessoa p = new Pessoa(txtPartNome.Text, "", txtPartApelido.Text, txtPartEmail.Text, DDLSexo.SelectedValue);
        p.importID = "PRJID=" + Utility.currProjeto.ProjectoID.ToString();
        p.self = p.self = chkSelf.Checked ? "S" : "";

        if (Utility.currProjeto.getTemplateSetup("GROUP") == "TRUE")
        {
            p.TeamMember = chkTeamMember.Checked ? "S" : "";
        }

        if (chkDemograficos.Checked)
            p.Demographics = Demograficos.Replace("«", "\n").Replace("|", ";");
        else
            p.Demographics = "";
        // antes de inserir verifica se já existe uma pessoa com este email neste projecto
        if (Pessoa.getPessoaProjecto(txtPartEmail.Text, p.importID) == null)
        {
            p.insertDBPessoa(Utility.currentAccount.AccountSignature, p.importID);
            Utility.messageBox(this, dic.getResource(267), dic.getResource(264), false);
            LimpaParticipantesCampos();
        }
        else
        {   // error
            Utility.messageErrorBox(this, dic.getResource(225), dic.getResource(336), true);
            // txtErrorMessage = dic.getResource(336);
        }
        participantData.Visible = true;
        ParticipantesEmLote.Visible = false;
        ParticipantsFieldsDIV.Visible = true;
        ViewState.Remove("EditPessoa");
    }
Пример #5
0
    private void criarTicketsAnonimos()
    {
        Ticket novoTicket;
        Pessoa anonimo = Pessoa.getPessoa(0, "JC");
        StringBuilder sb = new StringBuilder();

        if (txtQuantidadeTicketsSurvey.Text != "")
        {
            int quantidade;
            int.TryParse(txtQuantidadeTicketsSurvey.Text, out quantidade);

            for (int i = 0; i < quantidade; i++)
            {
                if (Utility.currProjeto.getTemplateSetup("ANONYM") == "TRUE")
                {
                    anonimo = new Pessoa("Anónimo", "Anónimo", "Anónimo", "Anonimo@" + Guid.NewGuid().ToString().Replace("-", ""), "M");
                    anonimo.insertDBPessoa(Utility.currProjeto.owner, "PRJID=" + Utility.currProjeto.ModeloID.ToString());
                }

                novoTicket = new Ticket(anonimo, anonimo,
                                    Utility.currProjeto.ModeloID, Utility.currProjeto,
                                    Guid.NewGuid().ToString().Replace("-", ""), "S");

                novoTicket.ticketType = "SURVEY";
                novoTicket.LangCode = Utility.currProjeto.defaultLangCode;
                novoTicket.insertDBTicket();
            }

        }
    }
Пример #6
0
    protected void Page_Load(object sender, EventArgs e)
    {
        // esta página tem sempre o ticket no request
        if (Request["Ticket"] == null)
            Response.Redirect("ticketError.aspx?Error=InvalidTicket");

        theTicket = Ticket.getTicket(Request["ticket"], null);

        getTicketList();
        getProjectInfo();
        setupStyle();
        setupLanguage();

        if (DateTime.Now.Date > projecto.DataFim)
            Response.Redirect("ticketError.aspx?Error=Closed");

        Page.Title = projecto.Nome;

        // aceitar convite
        TicketConvite convite = TicketConvite.getTicketConvite(theTicket.ticketID);

        if(convite == null)
            Response.Redirect("ticketError.aspx?Error=InvalidTicket");

        if (convite.status == "Aceite")
        {
            mensagem.InnerHtml = "<strong>"+dic.getResource(134)+"</strong>";
            lblBigTitle.Text = dic.getResource(130);
            return;
        }

        Pessoa NovoProprio;
        // criar a pessoa
        if ((NovoProprio = Pessoa.getPessoa(convite.email, Utility.currProjeto.owner)) == null)
        {
            NovoProprio = new Pessoa(convite.NomesProprio, "", convite.Apelidos, convite.email, convite.Genero);
            NovoProprio.importID = "PRJID=" +  projecto.ProjectoID.ToString();
            NovoProprio.empresa = convite.Empresa;
            NovoProprio.funcao = convite.Funcao;
            NovoProprio.insertDBPessoa(Utility.currProjeto.owner, projecto.Nome);
        }

        if (convite.status != "Aceite")
        {

            convite.status = "Aceite";
            theTicket.Convite = "Aceite";
            theTicket.Avaliado = proprio;
            theTicket.Proprio = NovoProprio;

            convite.updateDBTicketConvite();
            theTicket.updateDBTicket();
        }

        lblBigTitle.Text = dic.getResource(130);

        nomeCompetencia.InnerText = dic.getResource(135);
        msgText.Text = dic.getResource(138);
        byeMessage.Text = dic.getResource(139);
        // enviar email com informação sobre a aceitação do convite

        String Mensagem = dic.getResource(136) + " " + theTicket.Proprio.NomeProprio + " ";
        Mensagem += theTicket.Proprio.Apelido + " " + dic.getResource(137);

        try
        {
            sendEmail(Mensagem);
        }
        catch (Exception ex)
        {

        }
    }
Пример #7
0
    protected void Page_Load(object sender, EventArgs e)
    {
        dic = Utility.theDictionary;
        currProjeto = Utility.currProjeto;
        theUser = Utility.theUser;
        ScriptManager.RegisterStartupScript(this, typeof(String), "langValidation", Utility.validationJSLib, false);

        Title = dic.getResource(235);

        // vê se tem algum Mode
        if (Mode != null)
        {
            if (Mode.Equals("SelectAccount"))
            {
                Account acc;
                if (multiviewAccounts.ActiveViewIndex != 0)
                    multiviewAccounts.ActiveViewIndex = 0; // form para adicionar um novo account

                if (Type.Contains("_"))
                {
                    String[] temp = Type.Split('_');
                    acc = Account.getAccountBySignature(int.Parse(temp[1]), temp[0]);
                    Type = temp[0]; // apenas para ter a opção do menu de conta corretamente seleccionado
                }
                else
                {
                    acc = Account.getAccount(int.Parse(Type), Utility.currentAccount.AccountSignature);
                }
                changeCurrentAccount(acc);
            }
            if (Mode.Equals("Products"))
            {
                Account acc;
                if (multiviewAccounts.ActiveViewIndex != 4)
                    multiviewAccounts.ActiveViewIndex = 4; // form para adicionar um novo account

                if (Type.Equals("PEdit"))
                {
                    DIVtablelaProdutos.InnerHtml = getAccountProductsTable();
                }
                else if (Type.Equals("PSave"))
                {
                    updateProductAccess();
                    DIVtablelaProdutos.InnerHtml = getAccountProductsTable();

                }
            }
            else if (Mode.Equals("Account"))
            {
                if (Type == "MyAccount")
                {
                    if (multiviewAccounts.ActiveViewIndex != 0)
                        multiviewAccounts.ActiveViewIndex = 0; // form para adicionar um novo account
                    changeCurrentAccount(Utility.userAccount);
                }
                else if (Type == "Save")
                {
                    // save the account
                    if ((String)(ViewState["EditMode"]) == "NEW")
                    {
                        // vamos gravar
                        Guid guid = Guid.NewGuid();

                        Account acc = new Account(txtNome.Text, txtMoradaL1.Text, txtMoradaL2.Text, txtCodigoPostal.Text, DDLPais.SelectedItem.Text, txtNIF.Text,
                            txtEmail.Text, guid.ToString().Replace("-", ""),
                            Utility.currentAccount.AccountSignature, DDLPais.SelectedValue != "" ? int.Parse(DDLPais.SelectedValue) : -1, DDLIdioma.SelectedValue != "" ? int.Parse(DDLIdioma.SelectedValue) : -1);

                        acc.updateDBAccount(Utility.currentAccount.AccountSignature);

                        // Criar uma pasta para este account
                        // ID_DE_CONTA
                        String rootAccountFolder = Server.MapPath("ACCOUNTS");
                        Directory.CreateDirectory(rootAccountFolder + "\\..\\..\\ACCOUNTS\\" + acc.AccountSignature);

                        Utility.log(1, Utility.currentAccount.ID, acc.Nome);

                        ViewState.Remove("EditMode");
                    }
                    else
                    {
                        updateAccountFields(Utility.currentAccount);
                        Utility.currentAccount.updateDBAccount(theUser.signature);
                    }

                    // mudar de écran
                    if (multiviewAccounts.ActiveViewIndex != 0)
                        multiviewAccounts.ActiveViewIndex = 0; // form para adicionar um novo account

                    changeCurrentAccount(Utility.currentAccount);

                }
                else if (Type == "New")
                {
                    if (multiviewAccounts.ActiveViewIndex != 2)
                        multiviewAccounts.ActiveViewIndex = 2; // form para adicionar um novo account
                    // limpa os campos de texto
                    if (DDLPais.Items.Count == 0)
                        setupDDLPaises();
                    if (DDLIdioma.Items.Count == 0)
                        setupDDLIdioma();

                    clearAccountFormFields();
                    ViewState["EditMode"] = "NEW";

                }
                else if (Type == "Edit")
                {
                    if (multiviewAccounts.ActiveViewIndex != 2)
                        multiviewAccounts.ActiveViewIndex = 2; // form para adicionar um novo account
                    if (DDLPais.Items.Count == 0)
                        setupDDLPaises();
                    if (DDLIdioma.Items.Count == 0)
                        setupDDLIdioma();
                    // fill de fields
                    setupAccountFields(Utility.currentAccount);
                }
                else if (Type.StartsWith("Edit="))
                {
                    int accID = int.Parse(Type.Split('=')[1]);
                    if (multiviewAccounts.ActiveViewIndex != 2)
                        multiviewAccounts.ActiveViewIndex = 2; // form para adicionar ou edita um account
                    if (DDLPais.Items.Count == 0)
                        setupDDLPaises();
                    if (DDLIdioma.Items.Count == 0)
                        setupDDLIdioma();
                    // fill de fields
                    Account acc = Account.getAccount(accID, Utility.currentAccount.AccountSignature);
                    changeCurrentAccount(acc);
                    setupAccountFields(Utility.currentAccount);
                }
                else if (Type == "SubAccounts")
                {
                    if (multiviewAccounts.ActiveViewIndex != 0)
                        multiviewAccounts.ActiveViewIndex = 0; // form para adicionar um novo account
                    accountsList.InnerHtml = getAccountsTable(Account.getAccounts(Utility.currentAccount.AccountSignature));
                }

            }
            else if (Mode.Equals("Users"))
            {
                if (Type.Equals("NewUser"))
                {
                    if (multiviewAccounts.ActiveViewIndex != 3)
                        multiviewAccounts.ActiveViewIndex = 3; // form para adicionar um novo account

                    clearUserFields();
                    ViewState["EditUserMode"] = "NEW";
                }
                else if (Type.Equals("ListUsers"))
                {
                    if (multiviewAccounts.ActiveViewIndex != 1)
                        multiviewAccounts.ActiveViewIndex = 1; // form para adicionar um novo account
                    usersList.InnerHtml = getAccountusersTable(Users.getAccountUsers(Utility.currentAccount));
                }
                else if (Type.Equals("Save"))
                {
                    if ((String)(ViewState["EditUserMode"]) == "NEW")
                    {

                        if (txtPassword.Text != txtPassword2.Text)
                        {
                            Utility.messageErrorBox(this, dic.getResource(225), dic.getResource(349), true);
                            //txtErrorMessage = dic.getResource(349);
                        }
                        else
                        {
                            Pessoa pesNova = new Pessoa(txtNomePessoa.Text, "", txtApelidos.Text, txtEmailPessoa.Text, "M");

                            // gestão dso acessos - campo demographics
                            pesNova.Demographics =
                                DDLAcessoDashBoard.SelectedValue +
                                DDLAcessoProjects.SelectedValue +
                                DDLAcessoAccounts.SelectedValue +
                                DDLAcessoUsers.SelectedValue +
                                DDLAcessoModels.SelectedValue +
                                DDLAcessoTickets.SelectedValue +
                                DDLAcessoSubAccounts.SelectedValue +
                                DDLAcessoReports.SelectedValue;

                            pesNova.insertDBPessoa(Utility.currentAccount.AccountSignature, "MANAGMENT");

                            Users usrNovo = new Users();
                            usrNovo.pessoaID = pesNova.PessoaID;
                            usrNovo.userName = txtUserName.Text;
                            usrNovo.AccountID = Utility.currentAccount.ID;
                            usrNovo.owner = Utility.currentAccount.AccountSignature;

                            usrNovo.insertDBUser(txtPassword.Text);
                            Utility.log(2, Utility.currentAccount.ID, usrNovo.email);
                            ViewState.Remove("EditUserMode");

                            if (multiviewAccounts.ActiveViewIndex != 1)
                                multiviewAccounts.ActiveViewIndex = 1; // form para adicionar um novo account
                            usersList.InnerHtml = getAccountusersTable(Users.getAccountUsers(Utility.currentAccount));
                        }
                    }
                    else
                    {
                        // apenas update
                        // o Type tem o ID do User a editar
                        if (ViewState["UserIDEditing"] == null)
                        {
                            Utility.messageErrorBox(this, dic.getResource(225), "Error saving update, please try again", true);
                            //txtErrorMessage = "Error savig update, please try again";
                            if (multiviewAccounts.ActiveViewIndex != 1)
                                multiviewAccounts.ActiveViewIndex = 1; // form para adicionar um novo account
                            usersList.InnerHtml = getAccountusersTable(Users.getAccountUsers(Utility.currentAccount));
                        }
                        else
                        {
                            Users oneUser = Users.getUserExtended(ViewState["UserIDEditing"].ToString(), Utility.currentAccount.AccountSignature);
                            Pessoa pess = Pessoa.getPessoa(oneUser.pessoaID, oneUser.owner);
                            pess.NomeProprio = txtNomePessoa.Text;
                            pess.Apelido = txtApelidos.Text;
                            pess.Email = txtEmailPessoa.Text;

                            pess.Demographics = DDLAcessoDashBoard.SelectedValue +
                                    DDLAcessoProjects.SelectedValue +
                                    DDLAcessoAccounts.SelectedValue +
                                    DDLAcessoUsers.SelectedValue +
                                    DDLAcessoModels.SelectedValue +
                                    DDLAcessoTickets.SelectedValue +
                                    DDLAcessoSubAccounts.SelectedValue +
                                    DDLAcessoReports.SelectedValue;

                            pess.updateDBPessoa(oneUser.owner);

                            if (multiviewAccounts.ActiveViewIndex != 1)
                                multiviewAccounts.ActiveViewIndex = 1; // form para adicionar um novo account
                            usersList.InnerHtml = getAccountusersTable(Users.getAccountUsers(Utility.currentAccount));
                        }
                    }
                }
            }
            else if (Mode.Equals("UsersEdit"))
            {
                // o Type tem o ID do User a editar
                Users oneUser = Users.getUserExtended(Type, Utility.currentAccount.AccountSignature);
                // antes de continuar verificar se é mesmo da tua conta

                // tudo so segue
                if (multiviewAccounts.ActiveViewIndex != 3)
                    multiviewAccounts.ActiveViewIndex = 3; // form para adicionar um novo account
                // setup de ddls de acessos

                setupUserEditFields(oneUser);
                ViewState["UserIDEditing"] = oneUser.userID;
            }
            else if (Mode.Equals("UsersSuspend"))
            {
                Users oneUser = Users.getUserExtended(Type, Utility.currentAccount.AccountSignature);
                Pessoa p = Pessoa.getPessoa(oneUser.pessoaID, oneUser.owner);
                p.Demographics = "--------------------";
                p.updateDBPessoa(oneUser.owner);

                if (multiviewAccounts.ActiveViewIndex != 1)
                    multiviewAccounts.ActiveViewIndex = 1; // form para adicionar um novo account
                usersList.InnerHtml = getAccountusersTable(Users.getAccountUsers(Utility.currentAccount));

            }
            else if (Mode.Equals("UsersResetPassword"))
            {
                Users.resetUserPassword(int.Parse(Type));
                String novaPass = Guid.NewGuid().ToString().Replace("-", "").Substring(10);
                Users.setUserPassword(int.Parse(Type), novaPass);
                Users.resetUserPassword(int.Parse(Type));
                Users temp = Users.getUserExtended(Type, Utility.currentAccount.AccountSignature);
                EmailHelper.sendEmail(null, 0, false,"","",temp.email,temp.email,temp.email, "Recovery",
                                                    "\nNew password : "******"\n Change password next logon." );

                Utility.messageBox(this, dic.getResource(225), String.Format(dic.getResource(254), temp.Nome + " " + temp.Apelido + "<br/>Password:"******"MyAccount";

            if (Utility.currentAccount == null)
            {
                changeCurrentAccount(Utility.userAccount);
            }
            else
            {
                accountsList.InnerHtml = getAccountsTable(Account.getAccounts(Utility.currentAccount.AccountSignature));
            }
            ShowDadosConta();
        }

        if (Utility.currentAccount != null)
        {
            if(Utility.userAccount.AccountSignature == "JC" || Utility.userAccount.AccountSignature=="TEMPLATE")
                AccountSignature.InnerHtml = Utility.currentAccount.AccountSignature;
        }
    }