protected void Page_Load(object sender, EventArgs e) { settingsMasterPage = (SettingsMasterPage)Page.Master; settingsMasterPage.InitializeMasterPageComponents(); int loginId; Boolean isNumeric = int.TryParse(Request.QueryString["loginId"], out loginId); if (!isNumeric) { EmbedClientScript.ShowErrorMessage(this, "Os parâmetros passados para a página não estão em um formato válido.", true); return; } Tenant tenant = (Tenant)Session["tenant"]; loginDAO = new LoginDAO(settingsMasterPage.dataAccess.GetConnection()); AccountingLib.Entities.Login login = loginDAO.GetLogin(tenant.id, loginId); if (login == null) { login = new AccountingLib.Entities.Login(); login.tenantId = tenant.id; } SettingsInput settingsInput = new SettingsInput(settingsArea, null); settingsInput.AddHidden("txtId", login.id.ToString()); settingsInput.AddHidden("txtTenantId", login.tenantId.ToString()); settingsInput.AddHidden("txtPassword", login.password); settingsInput.Add("txtUsername", "Login", login.username); settingsInput.AddDropDownList("cmbUserGroup", "Grupo/Permissão", login.userGroup, typeof(UserGroupEnum)); }
protected void btnSubmit_Click(object sender, EventArgs e) { AccountingLib.Entities.Login login = new AccountingLib.Entities.Login(); try { foreach (String fieldName in Request.Form) { if (fieldName.Contains("txtId")) { login.id = int.Parse(Request.Form[fieldName]); } if (fieldName.Contains("txtTenantId")) { login.tenantId = int.Parse(Request.Form[fieldName]); } if (fieldName.Contains("txtPassword")) { login.password = Request.Form[fieldName]; } if (fieldName.Contains("txtUsername")) { login.username = Request.Form[fieldName]; if (String.IsNullOrEmpty(login.username)) { throw new FormatException(); } } if (fieldName.Contains("cmbUserGroup")) { login.userGroup = int.Parse(Request.Form[fieldName]); } } } catch (System.FormatException) { EmbedClientScript.ShowErrorMessage(this, "Os valores informados não estão em um formato válido!"); return; } try { ResourceProtector.RectifyPassword(login); // caso o login seja novo gera a senha padrão loginDAO.SetLogin(login); EmbedClientScript.CloseWindow(this); } catch (Exception genericException) { if (genericException.Message.Contains("Violation of UNIQUE KEY")) { EmbedClientScript.ShowErrorMessage(this, "Este login já existe!"); return; } EmbedClientScript.ShowErrorMessage(this, genericException.Message); } }
private String Welcome() { // Dia da semana (palavra começando em maísculo) String currentDate = DateTime.Now.ToString("dddd"); currentDate = char.ToUpper(currentDate[0]) + currentDate.Substring(1); // Adiciona informações sobre dia, mês e ano currentDate = currentDate + DateTime.Now.ToString(", dd {0} MMMM {0} yyyy"); currentDate = String.Format(currentDate, "de"); // Mensagem de boas vindas AccountingLib.Entities.Login login = (AccountingLib.Entities.Login)Session["login"]; String welcomeMessage = String.Format("Bem vindo(a), {0}", login.username); return(welcomeMessage + "<br>" + currentDate); }
protected void Page_Load(object sender, EventArgs e) { accountingMasterPage = (AccountingMasterPage)Page.Master; accountingMasterPage.InitializeMasterPageComponents(); dataAccess = accountingMasterPage.dataAccess; if (!Authorization.AuthorizedAsAdministrator(Session)) { // Mostra aviso de falta de autorização ShowWarning(Authorization.GetWarning()); return; } int loginId; Boolean paramExists = !String.IsNullOrEmpty(Request.QueryString["loginId"]); Boolean isNumeric = int.TryParse(Request.QueryString["loginId"], out loginId); if ((paramExists) && (!isNumeric)) { // Mostra aviso de inconsistência nos parâmetros ShowWarning(ArgumentBuilder.GetWarning()); return; } loginDAO = new LoginDAO(dataAccess.GetConnection()); if (paramExists) // Se o parametro existe é uma exclusão { loginDAO.RemoveLogin(loginId); Response.Redirect("ConfigLogins.aspx"); // Limpa a QueryString para evitar erros } Tenant tenant = (Tenant)Session["tenant"]; List <Object> loginList = loginDAO.GetAllLogins(tenant.id); int defaultItemId = 0; if (loginList.Count > 0) { // Considera como sendo item default o primeiro login criado para o tenant AccountingLib.Entities.Login defaultItem = (AccountingLib.Entities.Login)loginList[0]; defaultItemId = defaultItem.id; } String[] columnNames = new String[] { "Login", "Grupo/Permissão" }; String alterScript = "window.open('LoginSettings.aspx?loginId=' + {0}, 'Settings', 'width=540,height=600');"; String removeScript = "var confirmed = confirm('Deseja realmente excluir este login?'); if (confirmed) window.location='ConfigLogins.aspx?loginId=' + {0};"; EditableListButton[] buttons = new EditableListButton[] { // Botões que devem aparecer para os items da lista new EditableListButton("Editar", alterScript, ButtonTypeEnum.Edit), new EditableListButton("Excluir", removeScript, ButtonTypeEnum.Remove) }; EditableList editableList = new EditableList(configurationArea, columnNames, buttons); editableList.PreserveDefaultItem(); foreach (AccountingLib.Entities.Login login in loginList) { UserGroupEnum userGroup = (UserGroupEnum)login.userGroup; String[] loginProperties = new String[] { login.username, AssociatedText.GetFieldDescription(typeof(UserGroupEnum), userGroup.ToString()) }; Boolean isDefaultItem = login.id == defaultItemId; if (!isDefaultItem) { editableList.InsertItem(login.id, false, loginProperties); } } editableList.DrawList(); // O clique do botão chama o script de alteração passando "id = 0", a tela de alteração // interpreta "id = 0" como "criar um novo", o id é então gerado no banco de dados. btnNovo.Attributes.Add("onClick", String.Format(alterScript, 0)); }