/// <summary>
    /// Getting the text for the UserInterface from XML file.
    /// </summary>
    /// <param name="appText"></param>
    /// <param name="errorDetails"></param>
    /// <param name="appLanguage"></param>
    /// <returns>Dictionary containing the items in the detected language.</returns>
    public static bool GetAppText(ref Dictionary <string, string> appText, ref string errorDetails, string appLanguage)
    {
        string[] arrlangs = WbGetParams.getValue("AppLanguages").Split(',');

        if (!arrlangs.Contains(appLanguage))
        {
            appLanguage = "EN";
        }

        bool retval = false;
        var  xmlSrc = new FSReadXML()
        {
            NameSpace    = "ns",
            QueryParam   = @"Language='" + appLanguage + @"'",
            SourceFile   = WbGetParams.getValue("AppTextFile"),
            XmlChildName = "AppText"
        };

        bool hasContent = xmlSrc.ReadSingleNode(ref appText, ref errorDetails);

        if (hasContent)
        {
            retval = true;
        }

        return(retval);
    } // end GetAppText(ref Dictionary<string, string> appText, ref string errorDetails, string appLanguage)
    /// <summary>
    /// Getting all groups which have managedBy set out of a text file and storing it in a Dictionary.
    /// </summary>
    /// <param name="aDGroupsStatic">D</param>
    protected bool ADGroups_Load(ref Dictionary <string, string> aDGroupsStatic)
    {
        int    retval;
        string objContentMsg = "";

        FSGetFileContent fileCont = new FSGetFileContent();

        fileCont.SourceFile = WbGetParams.getValue("ADGroupsFile");

        List <string> rtnList = fileCont.rtnValues(out retval, ref objContentMsg);

        if (retval == 0)
        {
            foreach (var itm in rtnList)
            {
                string[] itms = itm.Split('#');
                aDGroupsStatic.Add(itms[0], itms[1]);
            }
            return(true);
        }
        else
        {
            return(false);
        }
    } // end ADGroups_Load()
    } // end lbtnUpdateGroupMembers_Click

    /// <summary>
    /// Updates the usage log file of this tool.
    /// </summary>
    protected void Update_UsageLog()
    {
        string authUser    = Request.LogonUserIdentity.Name;
        string timeStamp   = DateTime.UtcNow.ToString();
        string appVersion  = WbGetParams.getValue("AppVersion");
        string appFeedback = lblAppFeedback.Text;

        if (String.IsNullOrWhiteSpace(appFeedback))
        {
            appFeedback = "No errors catched.";
        }

        string changedGroup = ViewState["agGrpSelected"].ToString();

        var sb = new System.Text.StringBuilder();

        for (int i = 0; i < lstGroupMembers.Items.Count; i++)
        {
            sb.Append(lstGroupMembers.Items[i].Value.ToString()).Append(';');
        }

        string groupMemberList = sb.ToString();

        var logfile = new FSUsageLogWrite()
        {
            authUser        = authUser,
            timeStamp       = timeStamp,
            appVersion      = appVersion,
            appFeedback     = appFeedback,
            changedGroup    = changedGroup,
            groupMemberList = groupMemberList
        };

        logfile.UpdateLog();
    } // end Update_UsageLog()
    } // end lbtnAddGroupMembers_Click

    /// <summary>
    /// Updates the changes on the group in Active Directory
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    protected void lbtnUpdateGroupMembers_Click(object sender, EventArgs e)
    {
        var    memberDNs     = new List <string>();
        string objContentMsg = "";
        string objContentMsgGrp;
        int    retval;
        int    retvalGrp;
        string objsearchfilter = "user";
        var    adrw            = new ADrwInfo();
        var    adMemberIn      = new ADobjInfo();

        for (int i = 0; i < lstGroupMembers.Items.Count; i++)
        {
            adMemberIn.ADUserID = lstGroupMembers.Items[i].Value.ToString();
            var adMemberOut = adrw.RetObjValues(ref objContentMsg, out retval, objsearchfilter, adMemberIn);

            if (!String.IsNullOrEmpty(adMemberOut.ADdistinguishedName))
            {
                memberDNs.Add(adMemberOut.ADdistinguishedName);
            }
        }

        string adGrpUpdIn = ViewState["agGrpSelected"].ToString();

        adrw.AddUsersToGroup(out objContentMsgGrp, out retvalGrp, adGrpUpdIn, memberDNs);

        string appTextError = "", appLanguage = "";
        var    appText       = new System.Collections.Generic.Dictionary <string, string>();
        bool   foundLangFile = WbVarious.GetAppText(ref appText, ref appTextError, appLanguage);

        string errorExceptionTxt, operationFinishedtxt;
        string feedback = "";

        appText.TryGetValue("ErrorException", out errorExceptionTxt);
        appText.TryGetValue("OperationFinished", out operationFinishedtxt);

        if (retvalGrp != 0)
        {
            feedback = errorExceptionTxt;
            lblAppFeedback.Attributes.Remove("class");
            lblAppFeedback.Attributes.Add("class", "labelfeedbad");
        }
        else
        {
            feedback = operationFinishedtxt;
            lblAppFeedback.Attributes.Remove("class");
            lblAppFeedback.Attributes.Add("class", "labelfeedgood");
        }

        lblAppFeedback.Text = feedback;

        Hide_Buttons();

        if (WbGetParams.getBValue("WriteUsageLog"))
        {
            Update_UsageLog();
        }
    } // end lbtnUpdateGroupMembers_Click
Example #5
0
    public void SendMailNotification()
    {
        string mailbody = @"
            <style>
                p
                {
                   font-size: 11px;
                   font-family: Verdana, sans-serif;   
                   color: #004595; 
                }
                .othercolor
                {
                    color: #ff7e00;
                }                    
            </style>
        " + notifymsg;

        string      mailSubject = "SIG-GroupManagmentTool Notification on: " + DateTime.Now.ToString();
        MailMessage myMessage   = new MailMessage(WbGetParams.getValue("NotifyFromAddress"), Notifyrcp, mailSubject, mailbody);

        myMessage.IsBodyHtml = true;
        if (WbGetParams.getBValue("SendAdminBccNotification"))
        {
            MailAddress bcc = new MailAddress(WbGetParams.getValue("NotifyAdminToAddress"));
            myMessage.Bcc.Add(bcc);
        }
        SmtpClient mySmtpClient = new SmtpClient(WbGetParams.getValue("NotifyExchangeServer"));

        try
        {
            mySmtpClient.Send(myMessage);
        }
        catch
        {
            string foo = "bar";
        }
    }
Example #6
0
    public string[] GetUser(string filterIn)
    {
        int    retvalfr;
        string retMsgrf = "";

        FSGetFileContent fileCont = new FSGetFileContent();

        fileCont.SourceFile = WbGetParams.getValue("ADUsersFile");

        List <string> rtnList = fileCont.rtnValues(out retvalfr, ref retMsgrf, filterIn);

        rtnList.Sort();

        if (retvalfr == 0)
        {
            return(rtnList.ToArray());
        }
        else
        {
            List <string> foundkeys = new List <string>();
            foundkeys.Add("no keys" + ',' + " in cache ");
            return(foundkeys.ToArray());
        }
    } //end GetUser
    public void UpdateLog()
    {
        string sourceFile = WbGetParams.getValue("UsageLogFile");

        try
        {
            string fileName = Path.Combine(HttpRuntime.AppDomainAppPath, sourceFile);

            XmlDocument xUsageLog = new XmlDocument();
            xUsageLog.Load(fileName);

            XmlElement XParentElement = xUsageLog.CreateElement("LogEntry");

            XmlElement XTimeStamp       = xUsageLog.CreateElement("TimeStamp");
            XmlElement XAuthUser        = xUsageLog.CreateElement("AuthUser");
            XmlElement XAppVersion      = xUsageLog.CreateElement("AppVersion");
            XmlElement XAppFeedback     = xUsageLog.CreateElement("AppFeedback");
            XmlElement XChangedGroup    = xUsageLog.CreateElement("ChangedGroup");
            XmlElement XGroupMemberList = xUsageLog.CreateElement("GroupMemberList");

            if (!String.IsNullOrEmpty(timeStamp))
            {
                XTimeStamp.InnerText = timeStamp;
            }
            else
            {
                XTimeStamp.InnerText = "";
            }

            if (!String.IsNullOrEmpty(authUser))
            {
                XAuthUser.InnerText = authUser;
            }
            else
            {
                XAuthUser.InnerText = "";
            }

            if (!String.IsNullOrEmpty(appVersion))
            {
                XAppVersion.InnerText = appVersion;
            }
            else
            {
                XAppVersion.InnerText = "";
            }

            if (!String.IsNullOrEmpty(appFeedback))
            {
                XAppFeedback.InnerText = appFeedback;
            }
            else
            {
                XAppFeedback.InnerText = "";
            }

            if (!String.IsNullOrEmpty(changedGroup))
            {
                XChangedGroup.InnerText = changedGroup;
            }
            else
            {
                XChangedGroup.InnerText = "";
            }

            if (!String.IsNullOrEmpty(groupMemberList))
            {
                XGroupMemberList.InnerText = groupMemberList;
            }
            else
            {
                XGroupMemberList.InnerText = "";
            }


            XParentElement.AppendChild(XTimeStamp);
            XParentElement.AppendChild(XAuthUser);
            XParentElement.AppendChild(XAppVersion);
            XParentElement.AppendChild(XAppFeedback);
            XParentElement.AppendChild(XChangedGroup);
            XParentElement.AppendChild(XGroupMemberList);

            xUsageLog.DocumentElement.AppendChild(XParentElement);
            xUsageLog.Save(fileName);
        }

        catch (Exception ex)
        {
            string retMsg = ex.Message;
        }
    } // end UpdateLog()