maintset.aspx.cs

 using System;
using System.Collections.Generic;
using System.Collections;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Xml;
using System.Text;
using System.IO;

namespace Automated
{
//This script takes input from an asp webpage and outputs to an XML file written to disk for later processing.
    public partial class WebForm1 : System.Web.UI.Page
    {
        
        protected void Page_Load(object sender, EventArgs e)
        {
            
        }

        protected void ToLeftBtn_Click(object sender, EventArgs e)
        {
            moveItems(B_LB, A_LB);
        }

        protected void ToRightBtn_Click(object sender, EventArgs e)
        {
            moveItems(A_LB, B_LB);
        }

        protected void moveItems(ListBox source, ListBox destination)
        {
            ArrayList SelectedArray = new ArrayList(source.GetSelectedIndices());
            ArrayList Selected = new ArrayList();

            // get a string representation of the selected items.
            foreach (int index in SelectedArray)
            {
                Selected.Add(source.Items[index].ToString());             
            }
            // remove/add items as selected
            foreach (string sItem in Selected)
            {
                destination.Items.Add(sItem);
                source.Items.Remove(sItem);
            }
            
            SortLBItems(A_LB);
            SortLBItems(B_LB);
        }

        protected void SubmitForEditBtn_Click(object sender, EventArgs e)
        {
            populateDDL(B_LB);
            if (B_LB.Items.Count != 0)
            {
                B_LB.Items.Clear();
                SvrDetailRptr.Visible = true;
                FinalSubmitBtn.Visible = true;
                CancelBtn.Visible = true;
            }
        }

        public void populateDDL(ListBox feed)
        {
            ArrayList feedStore = new ArrayList();
            foreach (ListItem feedItem in feed.Items)
            {
                feedStore.Add(feedItem.Text.ToString());                
            }

            SvrDetailRptr.DataSource = feedStore;
            SvrDetailRptr.DataBind();
        }

        protected void FinalSubmitBtn_Click(object sender, EventArgs e)
        {
            string FileTime = DateTime.Now.Ticks.ToString();
            string ft = @"D:\ammws_output\" + FileTime + ".xml";
            
            
            
            
            XmlTextWriter writer = new XmlTextWriter(ft, Encoding.UTF8);
            writer.WriteStartDocument();
            writer.WriteStartElement("serverlist");
            foreach (RepeaterItem ServerDetail in SvrDetailRptr.Items)
            {
                
                    writer.WriteStartElement("server");
                    Label svrName = (Label)ServerDetail.FindControl("ServerNameLBL");
                    string sel_svrName = svrName.Text.ToString();
                    writer.WriteElementString("NAME", sel_svrName);

                        Calendar NoPatchCalendar = (Calendar)ServerDetail.FindControl("StopPatchUntil");
                        if (NoPatchCalendar.SelectedDates.Count == 0)
                        {
                            DropDownList DOW = (DropDownList)ServerDetail.FindControl("DOW_DDB");
                            string sel_DOW = DOW.SelectedItem.Value.ToString();
                            writer.WriteElementString("WEEKDAY", sel_DOW);

                            DropDownList DOM = (DropDownList)ServerDetail.FindControl("DOM_DDB");
                            string sel_DOM = DOM.SelectedItem.Value.ToString();
                            writer.WriteElementString("WEEKNUM", sel_DOM);

                            DropDownList TIME = (DropDownList)ServerDetail.FindControl("TIME_DDB");
                            string sel_TIME = TIME.SelectedItem.Value.ToString();
                            writer.WriteElementString("TIME", sel_TIME);

                            string sel_noPatchDate = "";
                            writer.WriteElementString("NOPATCHDATE", sel_noPatchDate);
                        }
                        else
                        {
                            string sel_DOW = "";
                            writer.WriteElementString("WEEKDAY", sel_DOW);

                            string sel_DOM = "";
                            writer.WriteElementString("WEEKNUM", sel_DOM);

                            string sel_TIME = "";
                            writer.WriteElementString("TIME", sel_TIME);

                            string sel_noPatchDate = NoPatchCalendar.SelectedDate.ToShortDateString();
                            writer.WriteElementString("NOPATCHDATE", sel_noPatchDate);
                        }

                   
                
                string userName = System.Security.Principal.WindowsIdentity.GetCurrent().Name;
                writer.WriteElementString("OWNERNAME", userName);

                writer.WriteEndElement();
            }
        
       
            writer.WriteEndElement();
            writer.WriteEndDocument();
            writer.Close();

            A_LB.Visible = false;
            B_LB.Visible = false;
            SvrDetailRptr.Visible = false;
            FinalSubmitBtn.Visible = false;
            CancelBtn.Visible = false;
            ToLeftBtn.Visible = false;
            ToRightBtn.Visible = false;
            SubmitForEditBtn.Visible = false;
            Finishlbl.Visible = true;
        }

        protected void CancelBtn_Click(object sender, EventArgs e)
        {
            foreach (RepeaterItem ServerDetail in SvrDetailRptr.Items)
            {
                Label svrName = (Label)ServerDetail.FindControl("ServerNameLBL");
                string sel_svrName = svrName.Text.ToString();
                A_LB.Items.Add(sel_svrName);
                
            }
            SvrDetailRptr.Visible = false;
            FinalSubmitBtn.Visible = false;
            CancelBtn.Visible = false;
            SortLBItems(A_LB);

        }

        protected void SortLBItems(ListBox target)
        {
            ArrayList alist = new ArrayList();
            foreach (ListItem tag in target.Items)
            {
                alist.Add(tag.ToString());
            }
                alist.Sort();
                target.Items.Clear();
                foreach (string lbxitem in alist)
                {
                    target.Items.Add(lbxitem.ToString());
                }
         }

        public void popDate(object sender, EventArgs e)
        {
            
            foreach (RepeaterItem rptItem in SvrDetailRptr.Items)
            {
                Calendar popCalendar = (Calendar)rptItem.FindControl("StopPatchUntil");
                if (popCalendar.SelectedDates.Count == 1)
                {
                    TextBox popDate = (TextBox)rptItem.FindControl("DateWindow");
                    popDate.Visible = true;
                    popDate.Text = popCalendar.SelectedDate.ToShortDateString();
                }
            }
        }
    }
}