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(); }
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(); }
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); } }
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"); }
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(); } } }
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) { } }
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; } }