Example #1
0
        protected void TreeView1_SelectedNodeChanged(object sender, EventArgs e)
        {
            TextBox4.Text = TreeView1.SelectedNode.Text;
            DirectorySearcher adsSearch = Helpers.DirectorySearcher();

            TextBox2.Text = "";
            TextBox3.Text = "";
            if (TextBox4.Text != "null" && TextBox4.Text != "")
            {
                try
                {
                    adsSearch.PropertiesToLoad.Add("cn");
                    adsSearch.Filter = "cn=" + TextBox4.Text;
                    SearchResult oResult = adsSearch.FindOne();
                    if (oResult != null)
                    {
                        FormPhoneBookPage(oResult);
                        FillTree();
                    }
                }
                catch (Exception ex)
                {
                    SiteMaster master = (SiteMaster)Page.Master;
                    master.ErrorLabelText = ex.Message + "tri tacke";
                }
            }
        }
Example #2
0
        protected void RoomSelected(object sender, EventArgs e)
        {
            DirectorySearcher adsSearch = Helpers.DirectorySearcher();

            try
            {
                adsSearch.PropertiesToLoad.Add("physicalDeliveryOfficeName");
                adsSearch.Filter = "physicalDeliveryOfficeName=" + DDLRoom.Text;
                SearchResultCollection oResults = adsSearch.FindAll();

                foreach (SearchResult oResult in oResults)
                {
                    LinkButton lb = new LinkButton();
                    lb.ForeColor      = System.Drawing.Color.FromArgb(8, 150, 66);
                    lb.Font.Underline = false;
                    lb.Font.Name      = "Arial";
                    lb.Font.Size      = 10;
                    Literal breakline = new Literal();
                    lb.Text        = Helpers.GetPropertyString(oResult, "cn");
                    lb.PostBackUrl = "PhoneBook.aspx?account=" + lb.Text;
                    breakline.Text = "<br>";
                    Panel1.Controls.Add(lb);
                    Panel1.Controls.Add(breakline);
                }
            }
            catch (Exception ex)
            {
                SiteMaster master = (SiteMaster)Page.Master;
                master.ErrorLabelText = ex.Message;
            }
        }
Example #3
0
        /// <summary>
        /// Checks if there are users that report directly to current user
        /// </summary>
        /// <param name="parent"></param>
        /// <returns></returns>
        private bool IsThereAChild(String parent)
        {
            DirectorySearcher adsSearch = Helpers.DirectorySearcher();

            try
            {
                adsSearch.PropertiesToLoad.Add("directReports");

                adsSearch.Filter = "(&(directReports=*)(sAMAccountName=" + parent + "))";

                SearchResult oResult = adsSearch.FindOne();
                if (oResult != null)
                {
                    return(true);
                }
                else
                {
                    return(false);
                }
            }

            catch (Exception ex)
            {
                SiteMaster master = (SiteMaster)Page.Master;
                master.ErrorLabelText = ex.Message;
                return(false);
            }
        }
Example #4
0
        protected void Page_Load(object sender, EventArgs e)
        {
            SiteMaster master = (SiteMaster)Page.Master;

            master.ErrorLabelText     = "";
            Label1.Text               = "";
            Label2.Text               = "";
            Label3.Text               = "";
            Label41.Text              = "";
            Label42.Text              = "";
            Label5.Text               = "";
            LinkButtondepartment.Text = "";
            TableRowSkype.Visible     = false;
            TableRow71.Visible        = false;
            ImageButton1.Visible      = false;
            if (IsPostBack)
            {
                Table4.Visible = true;
            }
            else
            {
                Table4.Visible = false;
            }
            //Table4.Visible = true;
            if (IsPostBack)
            {
                useQueryString = false;
            }
            else
            {
                useQueryString = true;
            }
            //useQueryString = true;
            if (Request.QueryString["account"] != null && useQueryString)
            {
                TextBox4.Text = Request.QueryString["account"];
                DirectorySearcher adsSearch = Helpers.DirectorySearcher();
                TextBox2.Text = "";
                TextBox3.Text = "";
                if (!String.IsNullOrEmpty(TextBox4.Text))
                {
                    try
                    {
                        adsSearch.PropertiesToLoad.Add("cn");
                        adsSearch.Filter = "cn=" + TextBox4.Text;

                        SearchResult oResult = adsSearch.FindOne();
                        FormPhoneBookPage(oResult);

                        FillTree();
                    }
                    catch (Exception ex)
                    {
                        master.ErrorLabelText = ex.Message;
                    }
                }
            }

            useQueryString = true;
        }
Example #5
0
 protected void Page_Load(object sender, EventArgs e)
 {
     if (IsPostBack)
     {
         useQueryString = false;
     }
     else
     {
         useQueryString = true;
     }
     if (Request.QueryString["office"] != null && useQueryString)
     {
         TextBox4.Text = Request.QueryString["office"];
         DirectorySearcher adsSearch = Helpers.DirectorySearcher();
         if (!String.IsNullOrEmpty(TextBox4.Text))
         {
             try
             {
                 adsSearch.PropertiesToLoad.Add("physicalDeliveryOfficeName");
                 adsSearch.Filter = "physicalDeliveryOfficeName=" + TextBox4.Text;
                 SearchResultCollection oResults = adsSearch.FindAll();
                 foreach (SearchResult oResult in oResults)
                 {
                     if (Helpers.GetPropertyString(oResult, "physicalDeliveryOfficeName") != "")
                     {
                         LinkButton lb = new LinkButton();
                         lb.ForeColor      = System.Drawing.Color.FromArgb(234, 78, 81);
                         lb.Font.Underline = false;
                         lb.Font.Name      = "Arial";
                         lb.Font.Size      = 10;
                         Literal breakline = new Literal();
                         lb.Text        = Helpers.GetPropertyString(oResult, "cn");
                         lb.PostBackUrl = "PhoneBook.aspx?account=" + lb.Text;
                         breakline.Text = "<br>";
                         Panel1.Controls.Add(lb);
                         Panel1.Controls.Add(breakline);
                     }
                 }
             }
             catch (Exception ex)
             {
                 SiteMaster master = (SiteMaster)Page.Master;
                 master.ErrorLabelText = ex.Message;
             }
         }
     }
     useQueryString = true;
 }
Example #6
0
        protected void TeamDDL_SelectedIndexChanged(object sender, EventArgs e)
        {
            TextBox4.Text = TeamDDL.Text;

            DirectorySearcher adsSearch = Helpers.DirectorySearcher();

            if (TextBox4.Text != "null" && TextBox4.Text != "")
            {
                try
                {
                    adsSearch.PropertiesToLoad.Add("department");
                    adsSearch.Filter = "(&(department=" + TextBox4.Text + ")(!(description=Disabled user)))";

                    SearchResultCollection oResults = adsSearch.FindAll();

                    foreach (SearchResult oResult in oResults)
                    {
                        if (Helpers.GetPropertyString(oResult, "department") != "")
                        {
                            LinkButton lb = new LinkButton();
                            lb.ForeColor      = System.Drawing.Color.FromArgb(8, 150, 66);
                            lb.Font.Underline = false;
                            lb.Font.Name      = "Arial";
                            lb.Font.Size      = 10;
                            Literal breakline = new Literal();
                            lb.Text        = Helpers.GetPropertyString(oResult, "cn");
                            lb.PostBackUrl = "PhoneBook.aspx?account=" + lb.Text;
                            breakline.Text = "<br>";
                            Panel1.Controls.Add(lb);
                            Panel1.Controls.Add(breakline);
                        }
                    }
                }
                catch (Exception ex)
                {
                    SiteMaster master = (SiteMaster)Page.Master;
                    master.ErrorLabelText = ex.Message;
                }
            }
        }
Example #7
0
        protected void FloorSelected(object sender, EventArgs e)
        {
            DDLRoom.Items.Clear();
            List <String>     lista     = new List <string>();
            String            s         = string.Empty;
            DirectorySearcher adsSearch = Helpers.DirectorySearcher();

            if (DropDownListFloor.SelectedItem.Text != "-- select floor --")
            {
                try
                {
                    adsSearch.PropertiesToLoad.Add("physicalDeliveryOfficeName");
                    adsSearch.Filter = "physicalDeliveryOfficeName=" + DropDownListFloor.Text + "*";
                    SearchResultCollection oResults = adsSearch.FindAll();

                    foreach (SearchResult oResult in oResults)
                    {
                        s = Helpers.GetPropertyString(oResult, "physicalDeliveryOfficeName");
                        if (s != "")
                        {
                            if (!lista.Contains(s))
                            {
                                lista.Add(s);
                            }
                        }
                    }
                }
                catch (Exception ex)
                {
                    SiteMaster master = (SiteMaster)Page.Master;
                    master.ErrorLabelText = ex.Message;
                }
                DDLRoom.Items.Add("-- select room --");
                lista.Sort();
                foreach (string a in lista)
                {
                    DDLRoom.Items.Add(a);
                }
            }
        }
Example #8
0
        protected void TextBox3_TextChanged(object sender, EventArgs e)
        {
            DirectorySearcher adsSearch = Helpers.DirectorySearcher();

            TextBox4.Text = "";
            TextBox2.Text = "";
            if (TextBox3.Text != "null" && TextBox3.Text != "")
            {
                try
                {
                    adsSearch.PropertiesToLoad.Add("telephoneNumber");
                    adsSearch.Filter = "telephoneNumber=" + TextBox3.Text;
                    SearchResult oResult = adsSearch.FindOne();
                    FormPhoneBookPage(oResult);
                    FillTree();
                }
                catch (Exception ex)
                {
                    SiteMaster master = (SiteMaster)Page.Master;
                    master.ErrorLabelText = ex.Message;
                }
            }
        }
Example #9
0
        protected void Page_Load(object sender, EventArgs e)
        {
            if (IsPostBack)
            {
                useQuerystring = false;
            }
            else
            {
                useQuerystring = true;
                foreach (string s in System.IO.File.ReadAllLines(rootPath + "Teams.txt"))
                {
                    TeamDDL.Items.Add(s);
                }
            }

            if (Request.QueryString["team"] != null && useQuerystring)
            {
                string teamName = Request.RawUrl.Substring(Request.RawUrl.IndexOf("?team=") + 6);
                teamName = teamName.Replace("+", " ");
                if (teamName.Contains("%26"))
                {
                    teamName = teamName.Replace("%26", "&");
                }
                TextBox4.Text = teamName;                // Request.QueryString["team"];

                TeamDDL.Items.FindByValue(teamName).Selected = true;
                DirectorySearcher adsSearch = Helpers.DirectorySearcher();

                if (TextBox4.Text != "null" && TextBox4.Text != "")
                {
                    try
                    {
                        adsSearch.PropertiesToLoad.Add("department");
                        adsSearch.Filter = "(&(department=" + TextBox4.Text + ")(!(description=Disabled user)))";


                        SearchResultCollection oResults = adsSearch.FindAll();

                        foreach (SearchResult oResult in oResults)
                        {
                            if (Helpers.GetPropertyString(oResult, "department") != "")
                            {
                                LinkButton lb = new LinkButton();
                                lb.ForeColor      = System.Drawing.Color.FromArgb(234, 78, 81);
                                lb.Font.Underline = false;
                                lb.Font.Name      = "Arial";
                                lb.Font.Size      = 10;
                                Literal breakline = new Literal();
                                lb.Text        = Helpers.GetPropertyString(oResult, "cn");
                                lb.PostBackUrl = "PhoneBook.aspx?account=" + lb.Text;
                                breakline.Text = "<br>";
                                Panel1.Controls.Add(lb);
                                Panel1.Controls.Add(breakline);
                            }
                        }
                    }
                    catch (Exception ex)
                    {
                        SiteMaster master = (SiteMaster)Page.Master;
                        master.ErrorLabelText = ex.Message;
                    }
                }
            }
            useQuerystring = true;
        }
Example #10
0
        /// <summary>
        /// Fills Organization Hierarchy tree
        /// </summary>
        private void FillTree()
        {
            TreeView1.Nodes.Clear();
            //********** NA POCETKU - SHEF ***********
            DirectorySearcher adsSearch = Helpers.DirectorySearcher();

            try
            {
                adsSearch.PropertiesToLoad.Add("displayName");

                adsSearch.Filter = "displayName=" + Label1.Text;


                SearchResult oResult = adsSearch.FindOne();

                if (Label1.Text != System.Configuration.ConfigurationManager.AppSettings["general_manager"] && Helpers.GetPropertyString(oResult, "manager") != "")
                {
                    DirectoryEntry myUser = Helpers.DirectoryEntry(Helpers.GetPropertyString(oResult, "manager"));

                    manager      = new TreeNode();
                    manager.Text = myUser.Properties["displayName"].Value.ToString();
                    TreeView1.Nodes.Add(manager);
                }
                else
                {
                    manager      = new TreeNode();
                    manager.Text = "...";
                    TreeView1.Nodes.Add(manager);
                }
            }
            catch (Exception ex)
            {
                SiteMaster master = (SiteMaster)Page.Master;
                master.ErrorLabelText = ex.Message;
            }

            //********** NA POCETKU - SHEF ***********

            String vime;

            DirectorySearcher adsSearch1 = Helpers.DirectorySearcher();


            adsSearch1.PropertiesToLoad.Add("cn");
            adsSearch1.PropertiesToLoad.Add("manager");
            adsSearch1.PropertiesToLoad.Add("distinguishedName");
            if (name != "")
            {
                adsSearch1.Filter = "(manager=" + name + ")";
            }

            else
            {
                adsSearch1.Filter = "(manager=nobody)";
            }

            Hashtable RetArray1 = new Hashtable();

            TreeNode cvor;

            if (name != "")
            {
                SearchResultCollection oResults1 = adsSearch1.FindAll();
                foreach (SearchResult oResult1 in oResults1)
                {
                    RetArray1.Add(oResult1.GetDirectoryEntry().Properties["cn"].Value, oResult1.GetDirectoryEntry().Properties["sAMAccountName"].Value);
                }
                //*****************  DODAVANJE NODOVA NA ISTOM NIVOU *************
                List <DictionaryEntry> SortedRetArray = new List <DictionaryEntry>();

                foreach (DictionaryEntry entry in RetArray1)
                {
                    SortedRetArray.Add(entry);
                }

                var sortedDict = (from entry in SortedRetArray orderby entry.Value ascending select entry).ToDictionary(pair => pair.Key, pair => pair.Value);
                foreach (KeyValuePair <object, object> entry in sortedDict)

                //   foreach(DictionaryEntry entry in RetArray1)
                {
                    cvor       = new TreeNode();
                    cvor.Text  = entry.Key.ToString();
                    cvor.Value = entry.Value.ToString();
                    manager.ChildNodes.Add(cvor);
                }
            }
            else
            {
                adsSearch1.Filter = "(cn=" + Label1.Text + ")";
                SearchResult oResult2 = adsSearch1.FindOne();

                cvor      = new TreeNode();
                cvor.Text = Helpers.GetPropertyString(oResult2, "cn");

                cvor.Value = Helpers.GetPropertyString(oResult2, "sAMAccountName");
                manager.ChildNodes.Add(cvor);
            }


            for (int i = 0; i < manager.ChildNodes.Count; i++)
            {
                if (IsThereAChild(manager.ChildNodes[i].Value) && (manager.ChildNodes[i].Text == Label1.Text))
                {
                    //*************************
                    DirectorySearcher adsSearch3 = Helpers.DirectorySearcher();

                    adsSearch3.PropertiesToLoad.Add("cn");
                    adsSearch3.Filter = "cn=" + manager.ChildNodes[i].Text;

                    Hashtable RetArray3 = new Hashtable();

                    SearchResult oResult3 = adsSearch3.FindOne();

                    vime = oResult3.GetDirectoryEntry().Properties["distinguishedName"].Value.ToString();

                    //*************************

                    DirectorySearcher adsSearch2 = Helpers.DirectorySearcher();

                    adsSearch2.PropertiesToLoad.Add("cn");
                    adsSearch2.PropertiesToLoad.Add("manager");
                    adsSearch2.PropertiesToLoad.Add("distinguishedName");
                    adsSearch2.Filter = "(manager=" + vime + ")";

                    Hashtable RetArray2 = new Hashtable();
                    SearchResultCollection oResults2 = adsSearch2.FindAll();

                    foreach (SearchResult oResult2 in oResults2)
                    {
                        RetArray2.Add(oResult2.GetDirectoryEntry().Properties["cn"].Value, oResult2.GetDirectoryEntry().Properties["sAMAccountName"].Value);
                    }

                    List <DictionaryEntry> SortedRetArray2 = new List <DictionaryEntry>();

                    foreach (DictionaryEntry entry in RetArray2)
                    {
                        SortedRetArray2.Add(entry);
                    }

                    var sortedDict2 = (from entry in SortedRetArray2 orderby entry.Value ascending select entry).ToDictionary(pair => pair.Key, pair => pair.Value);

                    foreach (KeyValuePair <object, object> entry in sortedDict2)
                    //foreach (DictionaryEntry entry in RetArray2)
                    {
                        cvor       = new TreeNode();
                        cvor.Text  = entry.Key.ToString();
                        cvor.Value = entry.Value.ToString();
                        manager.ChildNodes[i].ChildNodes.Add(cvor);
                    }
                }
            }

            TreeView1.ExpandAll();

            for (int i = 0; i < manager.ChildNodes.Count - 1; i++)
            {
                if (manager.ChildNodes[i].Text == Label1.Text)
                {
                    manager.ChildNodes[i].Select();
                }
            }
        }
Example #11
0
        /// <summary>
        /// Forms a phone book page for selected user
        /// </summary>
        /// <param name="oResult"></param>
        private void FormPhoneBookPage(SearchResult oResult)
        {
            ImageButton1.Visible = false;
            FileStream outFile;

            Label1.Text = Helpers.GetPropertyString(oResult, "cn");
            try
            {
                if (Helpers.GetPropertyString(oResult, "mobile") != "")
                {
                    if (Helpers.GetPropertyString(oResult, "mobile").StartsWith("+381"))
                    {
                        Label2.Text = "(0" + Helpers.GetPropertyString(oResult, "mobile").Substring(4, 2) + ") " + Helpers.GetPropertyString(oResult, "mobile").Substring(6, 3) + " " + Helpers.GetPropertyString(oResult, "mobile").Substring(9);
                    }
                    else
                    {
                        Label2.Text = Helpers.GetPropertyString(oResult, "mobile");
                    }
                }
                else
                {
                    Label2.Text = "...";
                }
            }
            catch (Exception ex)
            {
                SiteMaster master = (SiteMaster)Page.Master;
                master.ErrorLabelText = ex.Message;
            }

            try
            {
                if (Helpers.GetPropertyString(oResult, "telephoneNumber") != "")
                {
                    if (Helpers.GetPropertyString(oResult, "telephoneNumber").StartsWith("+381"))
                    {
                        Label3.Text = "(0" + Helpers.GetPropertyString(oResult, "telephoneNumber").Substring(4, 2) + ") " + Helpers.GetPropertyString(oResult, "telephoneNumber").Substring(6, 3) + " " + Helpers.GetPropertyString(oResult, "telephoneNumber").Substring(9);
                    }
                    else
                    {
                        Label3.Text = Helpers.GetPropertyString(oResult, "telephoneNumber");
                    }
                }
                else
                {
                    Label3.Text = "...";
                }
            }
            catch (Exception ex)
            {
                SiteMaster master = (SiteMaster)Page.Master;
                master.ErrorLabelText = ex.Message;
            }

            HyperLink1.Text        = "Send mail";
            HyperLink1.NavigateUrl = "mailto:" + Helpers.GetPropertyString(oResult, "mail");
            HyperLink2.Text        = "Chat";
            HyperLink2.NavigateUrl = "skype:" + Helpers.GetPropertyString(oResult, "extensionAttribute1") + "?chat";
            HyperLink3.Text        = "Call";
            HyperLink3.NavigateUrl = "skype:" + Helpers.GetPropertyString(oResult, "extensionAttribute1") + "?call";
            if (Helpers.GetPropertyString(oResult, "extensionAttribute1") == "")
            {
                TableRowSkype.Visible = false;
            }
            else
            {
                TableRowSkype.Visible = true;
            }

            if (Helpers.GetPropertyString(oResult, "mail") == "")
            {
                TableRow71.Visible = false;
            }
            else
            {
                TableRow71.Visible = true;
            }

            Label41.Text                     = Helpers.GetPropertyString(oResult, "ipPhone");
            Label42.Text                     = Helpers.GetPropertyString(oResult, "physicalDeliveryOfficeName");
            LinkButton1.Text                 = Helpers.GetPropertyString(oResult, "physicalDeliveryOfficeName");
            LinkButton1.PostBackUrl          = "office.aspx?office=" + Helpers.GetPropertyString(oResult, "physicalDeliveryOfficeName");
            ImageButton1.ToolTip             = "Last logged on: " + Helpers.GetPropertyString(oResult, "lastLogon");
            Label5.Text                      = Helpers.GetPropertyString(oResult, "title");
            LinkButtondepartment.Text        = Helpers.GetPropertyString(oResult, "department");
            LinkButtondepartment.PostBackUrl = "team.aspx?team=" + Server.UrlEncode(Helpers.GetPropertyString(oResult, "department"));
            name = Helpers.GetPropertyString(oResult, "manager");

            if (oResult.Path.Contains("DisabledAccounts"))
            {
                LabelNoPicture.Visible = true;
                LabelNoPicture.Text    = "Disabled Account";
            }
            else
            {
                ////Retrieve picture into byte array
                //String strFileName = path + Label1.Text + ".jpg";
                //byteArray = (Byte[])oResult.GetDirectoryEntry().Properties["thumbnailPhoto"].Value;
                //if (byteArray == null)
                //{
                //    LabelNoPicture.Visible = true;
                //    LabelNoPicture.Text = "No photo";
                //    if (File.Exists(strFileName))
                //    {
                //        ImageButton1.ImageUrl = "images\\" + Label1.Text + ".jpg";

                //        ImageButton1.Visible = true;
                //        LabelNoPicture.Visible = false;
                //    }
                //    Table4.Visible = true;
                //}
                //else
                //{
                //    LabelNoPicture.Visible = false;
                //    if (byteArray.Length > 10)
                //    {
                //        //   'Open file to export (delete if exists)
                //        if (File.Exists(strFileName))
                //        {
                //            File.Delete(strFileName);
                //        }
                //        outFile = new System.IO.FileStream(strFileName, FileMode.CreateNew, FileAccess.ReadWrite);
                //        // 'Loop through bytes and write to file
                //        foreach (Byte singleByte in byteArray)
                //        { outFile.WriteByte(singleByte); }

                //        ImageButton1.ImageUrl = "images\\" + Label1.Text + ".jpg";
                //        Table4.Visible = true;
                //        ImageButton1.Visible = true;
                //        outFile.Close();
                //    }

                String strFileName = path + Label1.Text + ".jpg";
                ImageButton1.PostBackUrl = "PhoneBook.aspx?account=" + Label1.Text;

                if (File.Exists(strFileName))
                {
                    ImageButton1.ImageUrl  = "images\\" + Label1.Text + ".jpg";
                    ImageButton1.Visible   = true;
                    LabelNoPicture.Visible = false;
                }
                else
                {
                    byteArray = (Byte[])oResult.GetDirectoryEntry().Properties["thumbnailPhoto"].Value;
                    if (byteArray == null)
                    {
                        ImageButton1.ImageUrl  = "noPhoto.png";
                        ImageButton1.Visible   = true;
                        LabelNoPicture.Visible = false;
                        //LabelNoPicture.Visible = true;
                        //LabelNoPicture.Text = "No photo";
                        //ImageButton1.Visible = false;
                    }
                    else
                    {
                        if (byteArray.Length > 10)
                        {
                            outFile = new System.IO.FileStream(strFileName, FileMode.CreateNew, FileAccess.ReadWrite);
                            // 'Loop through bytes and write to file
                            foreach (Byte singleByte in byteArray)
                            {
                                outFile.WriteByte(singleByte);
                            }

                            ImageButton1.ImageUrl  = "images\\" + Label1.Text + ".jpg";
                            LabelNoPicture.Visible = false;
                            ImageButton1.Visible   = true;
                            outFile.Close();
                        }
                    }
                }
                Table4.Visible = true;
            }
        }