/// <summary> /// Creaza un departamente din arbore /// </summary> /// <param name="parinte">Departamentul parinte</param> /// <param name="nivel">Nivelul departametnului</param> private void CreateDepartamente(int parinte, int nivel) { AdminDepartament adminDept = new AdminDepartament(); adminDept.DeptParinte = parinte; DataSet ds = adminDept.LoadInfoDepartamente(); DataTable myTable = new DataTable(); myTable = ds.Tables[0]; string nivel_text = ""; for (int j = 0; j < nivel; j++) { nivel_text += ". . "; } for (int i = 0; i < myTable.Rows.Count; i++) { DataRow myRow = myTable.Rows[i]; outStr += "window.opener.FillDepartamentCombo('" + nivel_text + myRow["nume"].ToString() + "'," + myRow["DepartamentID"].ToString() + ");"; nivel++; CreateDepartamente(Convert.ToInt32(myRow["DepartamentID"]), nivel); nivel--; } }
/// <summary> /// Adauga un departament /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btnAdd_Click(object sender, System.EventArgs e) { try { this.lstDeptParinte.Enabled = true; AdminDepartament newDepartament = new AdminDepartament(); newDepartament.DepartamentId = -1; newDepartament.Denumire = txtDenumire.Text; newDepartament.CentruCostId = int.Parse(lstCentruCost.SelectedValue); if (this.lstSef.Items.Count != 0) { newDepartament.SefId = int.Parse(this.lstSef.SelectedValue); } else { newDepartament.SefId = -1; } newDepartament.InlocSefId = int.Parse(this.lstInlocSef.SelectedValue); //newDepartament.SecretaraId = int.Parse(lstSecretara.SelectedValue); newDepartament.Secretariat = txtSecretariat.Text; if (lstDeptParinte.Items.Count > 0) { newDepartament.DeptParinte = int.Parse(this.lstDeptParinte.SelectedValue); } else { newDepartament.DeptParinte = 0; } if (newDepartament.CheckIfAdminDepartamentCanBeAdded()) { newDepartament.InsertDepartament(); } else { Response.Write("<script> alert('Mai exista un departament cu aceste date!'); </script>"); } UtilitiesDb utilDb = new UtilitiesDb(settings.ConnectionString); lstDeptParinte.Items.Clear(); utilDb.CreateDepartamenteSelectBox(0, 0, this.lstDeptParinte); //Daca pagina de administrare a fost deschisa din alta pagina cream functia care va face refresh la combo-ul cu departamente CreateRefreshFunction(); ListareDepartamente(); } catch (Exception ex) { litError.Text = "The following error occurred: <br>"; litError.Text += ex.Message; } //this.ListareDepartamente(); }
/// <summary> /// Completeaza campurile cu datele unui departament /// </summary> private void FillEditForm() { try { int DepartamentID = Convert.ToInt32(this.txtDeptID.Value); AdminDepartament infoDepartament = new AdminDepartament(); infoDepartament.DepartamentId = DepartamentID; DataRow departament = infoDepartament.GetDepartamentInfo().Tables[0].Rows[0]; txtDenumire.Text = departament["Denumire"].ToString(); lstCentruCost.SelectedValue = departament["CentruCostId"].ToString(); if ((lstInlocSef.Items.Count > 0) && (departament["InlocSefId"].ToString() != "")) { lstInlocSef.SelectedValue = departament["InlocSefId"].ToString(); } if ((lstSef.Items.Count > 0) && (departament["SefId"].ToString() != "")) { lstSef.SelectedValue = departament["SefId"].ToString(); } txtSecretariat.Text = departament["Secretariat"].ToString(); // if ( (lstSecretara.Items.Count > 0) && (departament["SecretaraId"].ToString() != "") ) // { // lstSecretara.SelectedValue = departament["SecretaraId"].ToString(); // } if (int.Parse(departament["DeptParinte"].ToString()) != 0) { lstDeptParinte.SelectedValue = departament["DeptParinte"].ToString(); } if ((lstDeptParinte.Items.Count > 0) && (departament["DeptParinte"].ToString() != "0")) { DeptParinteID.Value = departament["DeptParinte"].ToString(); lstDeptParinte.Visible = true; labelExistentaDepartamente.Visible = false; } else { DeptParinteID.Value = departament["DeptParinte"].ToString(); lstDeptParinte.Visible = false; labelExistentaDepartamente.Visible = true; } td_addLine.Visible = false; td_editLine.Visible = true; add_form.Style.Add("display", ""); add_buttonLine.Visible = false; tdTitle.InnerText = "Editare Departament"; //Daca pagina de administrare a fost deschisa din alta pagina cream functia care va face refresh la combo-ul cu departamente //In acest caz va fi goala ... CreateEmptyRefreshFunction(); } catch (Exception ex) { litError.Text = "The following error occurred: <br>"; litError.Text += ex.Message; } }
/// <summary> /// Construieste arborele de departamente /// </summary> /// <param name="ContainerID"></param> private void BuildTree(string ContainerID) { AdminDepartament ad = new AdminDepartament(); string aux; int ID = 0; aux = "<script> var Departament_" + ID + " = new CreateNodeElement('Dept_" + ID + "','','',false,'" + ContainerID + "','','#','','');</script>" + BuildTree(ad, ID); Response.Write(aux); Response.Write("<script>Departament_0.ExpandAll();Departament_0.Render()</script>"); }
/// <summary> /// Sterge un departament /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btnDelete_Click(object sender, System.EventArgs e) { try { int departamentId = Convert.ToInt32(txtDeptID.Value); AdminDepartament departament = new AdminDepartament(); departament.DepartamentId = departamentId; int sePoateSterge = departament.CheckIfDepartamentCanBeDeleted(); if (sePoateSterge == 1) { Response.Write("<script> alert('Departamentul nu poate fi sters! Este inca asociat unor angajati!'); </script>"); FillEditForm(); //Daca pagina de administrare a fost deschisa din alta pagina cream functia care va face refresh la combo-ul cu departamente CreateRefreshFunction(); } if (sePoateSterge == 2) { Response.Write("<script> alert('Departamentul nu poate fi sters! Contine alte departamente!'); </script>"); FillEditForm(); //Daca pagina de administrare a fost deschisa din alta pagina cream functia care va face refresh la combo-ul cu departamente CreateRefreshFunction(); } if (sePoateSterge == 3) { Response.Write("<script> alert('Operatiunea nu a fost efectuata deoarece nomenclatoul trebuie sa contina cel putin un departament.'); </script>"); FillEditForm(); //Daca pagina de administrare a fost deschisa din alta pagina cream functia care va face refresh la combo-ul cu departamente CreateRefreshFunction(); } if (sePoateSterge == 0) { departament.DeleteDepartament(); UtilitiesDb utilDb = new UtilitiesDb(settings.ConnectionString); lstDeptParinte.Items.Clear(); utilDb.CreateDepartamenteSelectBox(0, 0, this.lstDeptParinte); //Daca pagina de administrare a fost deschisa din alta pagina cream functia care va face refresh la combo-ul cu departamente CreateRefreshFunction(); ListareDepartamente(); } } catch (Exception ex) { litError.Text = "The following error occurred: <br>"; litError.Text += ex.Message; } }
/// <summary> /// Construieste arborele de departamente /// </summary> /// <param name="ad">Departamenentul</param> /// <param name="parentId">Departamentul parinte</param> /// <returns></returns> private string BuildTree(AdminDepartament ad, int parentId) { ad.DeptParinte = parentId; DataSet ds = ad.LoadInfoDepartamente(); string aux = ""; foreach (DataRow dr in ds.Tables[0].Rows) { string ID = dr["DepartamentID"].ToString(); string Text = dr["Cod"].ToString() + " - " + dr["Denumire"].ToString(); //In cazul in care se incearca editarea dept parinte cu numele angajtorului NU se intampla nimic ... pentru ca datele despre acest departament nu pot fi modificate //Pentru a identifica pe partea de client acest dept retinem id-ul acestuia if (parentId == 0) { aux += "<script> var FirstDeptID = " + ID + ";</script> "; } aux += "<script> var Departament_" + ID + " = new CreateNodeElement('Dept_" + ID + "','" + Text + "','',false,null,'" + Text + "','#','','SelectLine( " + ID + ")');getNode('Dept_" + parentId + "').AddSubNode('Dept_" + ID + "')</script>" + BuildTree(ad, int.Parse(ID)); } return(aux); }