Ejemplo n.º 1
0
        void DoItem(int i, ListItemType t, object d, bool databind)
        {
            DataListItem itm = CreateItem(i, t);

            if (databind)
            {
                itm.DataItem = d;
            }
            DataListItemEventArgs e = new DataListItemEventArgs(itm);

            InitializeItem(itm);

            //
            // It is very important that this be called *before* data
            // binding. Otherwise, we won't save our state in the viewstate.
            //
            Controls.Add(itm);
            if (i != -1)
            {
                ItemList.Add(itm);
            }

            OnItemCreated(e);

            if (databind)
            {
                itm.DataBind();
                OnItemDataBound(e);
                itm.DataItem = null;
            }
        }
        void IRepeatInfoUser.RenderItem(ListItemType itemType, int repeatIndex, RepeatInfo repeatInfo, HtmlTextWriter writer)
        {
            DataListItem item = this.GetItem(itemType, repeatIndex + this.offset);

            if (item != null)
            {
                item.RenderItem(writer, this.extractTemplateRows, repeatInfo.RepeatLayout == System.Web.UI.WebControls.RepeatLayout.Table);
            }
        }
        Style IRepeatInfoUser.GetItemStyle(ListItemType itemType, int repeatIndex)
        {
            DataListItem item = this.GetItem(itemType, repeatIndex);

            if ((item != null) && item.ControlStyleCreated)
            {
                return(item.ControlStyle);
            }
            return(null);
        }
Ejemplo n.º 4
0
 // Header and Footer don't have a "real" index (-1)
 DataListItem FindFirstItem(ListItemType itemType)
 {
     for (int i = 0; i < Controls.Count; i++)
     {
         DataListItem item = (Controls [i] as DataListItem);
         if ((item != null) && (item.ItemType == itemType))
         {
             return(item);
         }
     }
     return(null);
 }
Ejemplo n.º 5
0
 // Both Type and Index must match (e.g. Separator)
 DataListItem FindSpecificItem(ListItemType itemType, int repeatIndex)
 {
     for (int i = 0; i < Controls.Count; i++)
     {
         DataListItem item = (Controls [i] as DataListItem);
         if ((item != null) && (item.ItemType == itemType) && (item.ItemIndex == repeatIndex))
         {
             return(item);
         }
     }
     return(null);
 }
Ejemplo n.º 6
0
        private void CompareAndSendInfo(DataListItem e)
        {
            var changes = new List<string>();
            // Detect changes and save to log
            // StuNm
            if (((TextBox)e.FindControl("txtStuNm")).Text != ((HiddenField)e.FindControl("hdStuNm")).Value)
                changes.Add(string.Format("Họ tên: {0}", ((TextBox)e.FindControl("txtStuNm")).Text));
            // Gender
            if (((RadioButtonList)e.FindControl("optGender")).SelectedValue != ((HiddenField)e.FindControl("hdGender")).Value)
                changes.Add(string.Format("Giới tính: {0}", ((RadioButtonList)e.FindControl("optGender")).SelectedItem.Text));
            // BDay
            if (((TextBox)e.FindControl("txtBDay")).Text != ((HiddenField)e.FindControl("hdBDay")).Value)
                changes.Add(string.Format("Ngày sinh: {0}", ((TextBox)e.FindControl("txtBDay")).Text));
            // Native
            if (((TextBox)e.FindControl("txtNative")).Text != ((HiddenField)e.FindControl("hdNative")).Value)
                changes.Add(string.Format("Quê quán: {0}", ((TextBox)e.FindControl("txtNative")).Text));
            // Eyear
            if (((TextBox)e.FindControl("txtEyear")).Text != ((HiddenField)e.FindControl("hdEyear")).Value)
                changes.Add(string.Format("Nhập học: {0}", ((TextBox)e.FindControl("txtEyear")).Text));
            // Eclass
            if (((TextBox)e.FindControl("txtEclass")).Text != ((HiddenField)e.FindControl("hdEclass")).Value)
                changes.Add(string.Format("Vào lớp: {0}", ((TextBox)e.FindControl("txtEclass")).Text));
            // Dept
            if (((DropDownList)e.FindControl("lstDept")).SelectedValue != ((HiddenField)e.FindControl("hdDept")).Value)
                changes.Add(string.Format("Khoa: {0}", ((DropDownList)e.FindControl("lstDept")).SelectedItem.Text));
            // Status
            if (((DropDownList)e.FindControl("lstStatus")).SelectedValue != ((HiddenField)e.FindControl("hdStatus")).Value)
                changes.Add(string.Format("Hệ: {0}", ((DropDownList)e.FindControl("lstStatus")).SelectedItem.Text));
            // Idnum
            if (((TextBox)e.FindControl("txtIdnum")).Text != ((HiddenField)e.FindControl("hdIdnum")).Value)
                changes.Add(string.Format("Số CMND: {0}", ((TextBox)e.FindControl("txtIdnum")).Text));

            var message = string.Join(Environment.NewLine, changes.ToArray());
            if (!string.IsNullOrEmpty(message))
            {
                var body = string.Format("Mã số sinh viên: {0}{2}{2}Thông tin thay đổi:{2}{1}", HttpContext.Current.User.Identity.Name, message, Environment.NewLine);
                try
                {
                    // Send email to daa
                    Mail.SendEmail(Host.HostEmail, Settings["Email"] as string, "Yêu cầu sửa đổi lí lịch sinh viên", body);
                    var notice = string.Format("Đã gửi yêu cầu sửa đổi thông tin.{1}Lí lịch của bạn sẽ sớm được cập nhật.{1}{1}{0}", message, Environment.NewLine);
                    ScriptManager.RegisterStartupScript(this.Page, this.Page.GetType(), "alert", string.Format("alert({0});", Helper.EncodeJsString(notice)), true);
                }
                catch (Exception ex)
                {
                    // Notice that can't send email
                    var notice = string.Format("Không thể gửi yêu cầu sửa đổi vì lí do sau:{1}{1}{0}", ex.Message, Environment.NewLine);
                    ScriptManager.RegisterStartupScript(this.Page, this.Page.GetType(), "alert", string.Format("alert({0});", Helper.EncodeJsString(notice)), true);
                }
            }
        }
Ejemplo n.º 7
0
        void IRepeatInfoUser.RenderItem(ListItemType itemType, int repeatIndex, RepeatInfo repeatInfo, HtmlTextWriter writer)
        {
            // if possible take the easy way out...
            if (!HasControls())
            {
                return;
            }

            DataListItem item = null;

            switch (itemType)
            {
            case ListItemType.Header:
            case ListItemType.Footer:
                item = FindFirstItem(itemType);
                break;

            case ListItemType.Item:
            case ListItemType.AlternatingItem:
            case ListItemType.SelectedItem:
            case ListItemType.EditItem:
                item = FindBestItem(repeatIndex);
                break;

            case ListItemType.Separator:
                item = FindSpecificItem(itemType, repeatIndex);
                break;
            }

            if (item != null)
            {
                bool extract = ExtractTemplateRows;
                bool table   = (RepeatLayout == RepeatLayout.Table);
                if (!table || extract)
                {
                    // sadly RepeatInfo doesn't support Style for RepeatLayout.Flow
                    Style s = (this as IRepeatInfoUser).GetItemStyle(itemType, repeatIndex);
                    if (s != null)
                    {
                        item.ControlStyle.CopyFrom(s);
                    }
                }
//Console.WriteLine ("RenderItem #{0} type {1}", repeatIndex, itemType);
                item.RenderItem(writer, extract, table);
            }
            else
            {
//Console.WriteLine ("Couldn't find #{0} type {1} out of {2} items / {3} controls", repeatIndex, itemType, Items.Count, Controls.Count);
            }
        }
Ejemplo n.º 8
0
        Style IRepeatInfoUser.GetItemStyle(ListItemType itemType, int repeatIndex)
        {
            DataListItem item = null;

            switch (itemType)
            {
            case ListItemType.Header:
            case ListItemType.Footer:
                if (repeatIndex >= 0 && (!HasControls() || repeatIndex >= Controls.Count))
                {
                    throw new ArgumentOutOfRangeException();
                }

                item = FindFirstItem(itemType);
                break;

            case ListItemType.Item:
            case ListItemType.AlternatingItem:
            case ListItemType.SelectedItem:
            case ListItemType.EditItem:
                if (repeatIndex >= 0 && (!HasControls() || repeatIndex >= Controls.Count))
                {
                    throw new ArgumentOutOfRangeException();
                }

                item = FindBestItem(repeatIndex);
                break;

            case ListItemType.Separator:
                if (repeatIndex >= 0 && (!HasControls() || repeatIndex >= Controls.Count))
                {
                    throw new ArgumentOutOfRangeException();
                }

                item = FindSpecificItem(itemType, repeatIndex);
                break;

            default:
                item = null;
                break;
            }

            if (item == null || item.ControlStyleCreated == false)
            {
                return(null);
            }

            return(item.ControlStyle);
        }
Ejemplo n.º 9
0
        protected virtual void InitializeItem(DataListItem item)
        {
            ITemplate t = null;

            switch (item.ItemType)
            {
            case ListItemType.Header:
                t = HeaderTemplate;
                break;

            case ListItemType.Footer:
                t = FooterTemplate;
                break;

            case ListItemType.Separator:
                t = SeparatorTemplate;
                break;

            case ListItemType.Item:
            case ListItemType.AlternatingItem:
            case ListItemType.SelectedItem:
            case ListItemType.EditItem:
                if ((item.ItemType == ListItemType.EditItem) && (EditItemTemplate != null))
                {
                    t = EditItemTemplate;
                }
                else if ((item.ItemType == ListItemType.SelectedItem) && (SelectedItemTemplate != null))
                {
                    t = SelectedItemTemplate;
                }
                else if ((item.ItemType == ListItemType.AlternatingItem) && (AlternatingItemTemplate != null))
                {
                    t = AlternatingItemTemplate;
                }
                else
                {
                    t = ItemTemplate;
                }
                break;
            }

            if (t != null)
            {
                t.InstantiateIn(item);
            }
        }
Ejemplo n.º 10
0
        protected virtual void OnItemDataBound(DataListItemEventArgs e)
        {
            DataListItemEventHandler handler = (DataListItemEventHandler)base.Events[EventItemDataBound];

            if (handler != null)
            {
                handler(this, e);
            }
            EventHandler <WizardSideBarListControlItemEventArgs> handler2 = (EventHandler <WizardSideBarListControlItemEventArgs>)base.Events[EventWizardListItemDataBound];

            if (handler2 != null)
            {
                DataListItem container = e.Item;
                WizardSideBarListControlItemEventArgs args = new WizardSideBarListControlItemEventArgs(new WizardSideBarListControlItem(container.DataItem, container.ItemType, container.ItemIndex, container));
                handler2(this, args);
            }
        }
Ejemplo n.º 11
0
        private DataListItem CreateItem(int itemIndex, ListItemType itemType, bool dataBind, object dataItem)
        {
            DataListItem          item = this.CreateItem(itemIndex, itemType);
            DataListItemEventArgs e    = new DataListItemEventArgs(item);

            this.InitializeItem(item);
            if (dataBind)
            {
                item.DataItem = dataItem;
            }
            this.OnItemCreated(e);
            this.Controls.Add(item);
            if (dataBind)
            {
                item.DataBind();
                this.OnItemDataBound(e);
                item.DataItem = null;
            }
            return(item);
        }
Ejemplo n.º 12
0
        // we get call for Item even for AlternatingItem :(
        DataListItem FindBestItem(int repeatIndex)
        {
            for (int i = 0; i < Controls.Count; i++)
            {
                DataListItem item = (Controls [i] as DataListItem);
                if ((item != null) && (item.ItemIndex == repeatIndex))
                {
                    switch (item.ItemType)
                    {
                    case ListItemType.Item:
                    case ListItemType.AlternatingItem:
                    case ListItemType.SelectedItem:
                    case ListItemType.EditItem:
                        return(item);

                    default:
                        return(null);
                    }
                }
            }
            return(null);
        }
Ejemplo n.º 13
0
 public DataListCommandEventArgs(DataListItem item, Object commandSource, CommandEventArgs originalArgs) : base(default(CommandEventArgs))
 {
     Contract.Ensures(originalArgs.CommandName.Length >= 0);
 }
Ejemplo n.º 14
0
		private void Page_Load(object sender, System.EventArgs e) 
		{
			HtmlForm frm = (HtmlForm)FindControl("form1");
			GHTTestBegin(frm);
            
			// AlternatingItem
			GHTSubTestBegin("AlternatingItem");
			try 
			{
				System.Web.UI.WebControls.DataListItem item = new System.Web.UI.WebControls.DataListItem(1, ListItemType.AlternatingItem);
				Compare(item.ItemType, ListItemType.AlternatingItem);
			}
			catch (Exception ex) 
			{
				GHTSubTestUnexpectedExceptionCaught(ex);
			}
			GHTSubTestEnd();

			// EditItem
			GHTSubTestBegin("EditItem");
			try 
			{
				System.Web.UI.WebControls.DataListItem item = new System.Web.UI.WebControls.DataListItem(1, ListItemType.EditItem);
				Compare(item.ItemType, ListItemType.EditItem);
			}
			catch (Exception ex) 
			{
				GHTSubTestUnexpectedExceptionCaught(ex);
			}
			GHTSubTestEnd();

			// Footer
			GHTSubTestBegin("Footer");
			try 
			{
				System.Web.UI.WebControls.DataListItem item = new System.Web.UI.WebControls.DataListItem(1, ListItemType.Footer);
				Compare(item.ItemType, ListItemType.Footer);
			}
			catch (Exception ex) 
			{
				GHTSubTestUnexpectedExceptionCaught(ex);
			}
			GHTSubTestEnd();

			// Header
			GHTSubTestBegin("Header");
			try 
			{
				System.Web.UI.WebControls.DataListItem item = new System.Web.UI.WebControls.DataListItem(1, ListItemType.Header);
				Compare(item.ItemType, ListItemType.Header);
			}
			catch (Exception ex) 
			{
				GHTSubTestUnexpectedExceptionCaught(ex);
			}
			GHTSubTestEnd();

			// Item
			GHTSubTestBegin("Item");
			try 
			{
				System.Web.UI.WebControls.DataListItem item = new System.Web.UI.WebControls.DataListItem(1, ListItemType.Item);
				Compare(item.ItemType, ListItemType.Item);
			}
			catch (Exception ex) 
			{
				GHTSubTestUnexpectedExceptionCaught(ex);
			}
			GHTSubTestEnd();

			// Pager
			GHTSubTestBegin("Pager");
			try 
			{
				System.Web.UI.WebControls.DataListItem item = new System.Web.UI.WebControls.DataListItem(1, ListItemType.Pager);
				Compare(item.ItemType, ListItemType.Pager);
			}
			catch (Exception ex) 
			{
				GHTSubTestUnexpectedExceptionCaught(ex);
			}
			GHTSubTestEnd();

			// SelectedItem
			GHTSubTestBegin("SelectedItem");
			try 
			{
				System.Web.UI.WebControls.DataListItem item = new System.Web.UI.WebControls.DataListItem(1, ListItemType.SelectedItem);
				Compare(item.ItemType, ListItemType.SelectedItem);
			}
			catch (Exception ex) 
			{
				GHTSubTestUnexpectedExceptionCaught(ex);
			}
			GHTSubTestEnd();

			// Separator
			GHTSubTestBegin("Separator");
			try 
			{
				System.Web.UI.WebControls.DataListItem item = new System.Web.UI.WebControls.DataListItem(1, ListItemType.Separator);
				Compare(item.ItemType, ListItemType.Separator);
			}
			catch (Exception ex) 
			{
				GHTSubTestUnexpectedExceptionCaught(ex);
			}
			GHTSubTestEnd();

			// Positive  index
			GHTSubTestBegin("Positive index");
			try 
			{
				System.Web.UI.WebControls.DataListItem item = new System.Web.UI.WebControls.DataListItem(10, ListItemType.Item);
				Compare(item.ItemIndex, 10);
			}
			catch (Exception ex) 
			{
				GHTSubTestUnexpectedExceptionCaught(ex);
			}
			GHTSubTestEnd();

			// Negative index
			GHTSubTestBegin("Negative index");
				try 
				{
					System.Web.UI.WebControls.DataListItem item = new System.Web.UI.WebControls.DataListItem(-10, ListItemType.Item);
					Compare(item.ItemIndex, -10);
				}
				catch (Exception ex) 
				{
					GHTSubTestUnexpectedExceptionCaught(ex);
				}
			GHTSubTestEnd();

			// -1
			GHTSubTestBegin("-1");
			try 
			{
				System.Web.UI.WebControls.DataListItem item = new System.Web.UI.WebControls.DataListItem(-1, ListItemType.Item);
				Compare(item.ItemIndex, -1);
			}
			catch (Exception ex) 
			{
				GHTSubTestUnexpectedExceptionCaught(ex);
			}
			GHTSubTestEnd();

			GHTTestEnd();

		}
Ejemplo n.º 15
0
        protected void displayThermostats(DataListItem item)
        {
            HiddenField hfDeadband = (HiddenField)item.FindControl("hfDeadband");

            HiddenField hfSetHighTemp = (HiddenField)item.FindControl("hfSetHighTemp");
            HiddenField hfSetLowTemp = (HiddenField)item.FindControl("hfSetLowTemp");
            HiddenField hfSetMode = (HiddenField)item.FindControl("hfSetMode");
            HiddenField hfSetPower = (HiddenField)item.FindControl("hfSetPower");

            Table tblThermostat = (Table)item.FindControl("tblThermostat");
            tblThermostat.Visible = true;

            Wink.Device device = ((Wink.Device)item.DataItem);

            List<Wink.Device.DeviceStatus> status = device.status;
            IList<string> keys = status.Select(p => p.name).ToList();

            if (keys.Contains("deadband"))
            {
                hfDeadband.Value = status.Single(p => p.name == "deadband").current_status.ToLower();
            }

            if (keys.Contains("powered"))
            {
                string powered = status.Single(p => p.name == "powered").current_status.ToLower();
                ImageButton ibThermPower = (ImageButton)item.FindControl("ibThermPower");
                ibThermPower.ImageUrl = "~/Images/Thermostats/power" + powered + ".png";

                ImageButton ibThermPowerSet = (ImageButton)item.FindControl("ibThermPowerSet");
                ibThermPowerSet.ImageUrl = "~/Images/Thermostats/power" + powered + ".png";
                hfSetPower.Value = powered;
            }

            if (keys.Contains("temperature") && !string.IsNullOrWhiteSpace(status.Single(p => p.name == "temperature").current_status))
            {
                Double temp = Common.FromCelsiusToFahrenheit(Convert.ToDouble(status.Single(p => p.name == "temperature").current_status));
                Label lblThermStats = (Label)item.FindControl("lblThermStats");
                lblThermStats.Text = temp.ToString() + "&deg;";

                Label lblThermStatsSet = (Label)item.FindControl("lblThermStatsSet");
                lblThermStatsSet.Text = temp.ToString() + "&deg;";
            }

            if (keys.Contains("mode"))
            {
                string mode = status.Single(p => p.name == "mode").current_status.ToLower().Replace("_only", "");
                Image imgThermostatModeAuto = (Image)item.FindControl("imgThermostatModeAuto");
                imgThermostatModeAuto.ImageUrl = "~/Images/Thermostats/" + mode + "true.png";

                Image imgThermostatModeHeatCool = (Image)item.FindControl("imgThermostatModeHeatCool");
                imgThermostatModeHeatCool.ImageUrl = "~/Images/Thermostats/" + mode + mode + ".png";

                ImageButton ibThermMode = (ImageButton)item.FindControl("ibTherm" + mode);
                ibThermMode.ImageUrl = "~/Images/Thermostats/" + mode + "true.png";

                hfSetMode.Value = mode;

                string mintemp = string.Empty;
                string maxtemp = string.Empty;
                if (mode == "auto")
                {
                    Table tblMode = (Table)item.FindControl("tblThermauto");
                    tblMode.Visible = true;
                    Table tblModeSet = (Table)item.FindControl("tblThermautoSet");
                    tblModeSet.Visible = true;

                    if (keys.Contains("min_set_point"))
                    {
                        mintemp = status.Single(p => p.name == "min_set_point").current_status.ToLower();
                        Label lblTempCool = (Label)item.FindControl("lblTempCool" + mode);
                        lblTempCool.Text = Common.FromCelsiusToFahrenheit(Convert.ToDouble(mintemp)).ToString() + "&deg;";

                        Label lblTempCoolSet = (Label)item.FindControl("lblTempCoolSet" + mode);
                        lblTempCoolSet.Text = Common.FromCelsiusToFahrenheit(Convert.ToDouble(mintemp)).ToString() + "&deg;";
                    }

                    if (keys.Contains("max_set_point"))
                    {
                        maxtemp = status.Single(p => p.name == "max_set_point").current_status.ToLower();
                        Label lblTempHeat = (Label)item.FindControl("lblTempHeat" + mode);
                        lblTempHeat.Text = Common.FromCelsiusToFahrenheit(Convert.ToDouble(maxtemp)).ToString() + "&deg;";

                        Label lblTempHeatSet = (Label)item.FindControl("lblTempHeatSet" + mode);
                        lblTempHeatSet.Text = Common.FromCelsiusToFahrenheit(Convert.ToDouble(maxtemp)).ToString() + "&deg;";
                    }
                }
                else
                {
                    Table tblMode = (Table)item.FindControl("tblCoolHeat");
                    tblMode.Visible = true;
                    Table tblModeSet = (Table)item.FindControl("tblCoolHeatSet");
                    tblModeSet.Visible = true;

                    ImageButton ibThermUp = (ImageButton)item.FindControl("ibThermUp");
                    ibThermUp.ImageUrl = "~/Images/Thermostats/" + mode + "up.png";

                    ImageButton ibThermDown = (ImageButton)item.FindControl("ibThermDown");
                    ibThermDown.ImageUrl = "~/Images/Thermostats/" + mode + "down.png";

                    Image imgCool = (Image)item.FindControl("imgCool");
                    imgCool.ImageUrl = "~/Images/Thermostats/cool" + mode + ".png";

                    Image imgHeat = (Image)item.FindControl("imgHeat");
                    imgHeat.ImageUrl = "~/Images/Thermostats/heat" + mode + ".png";

                    if (keys.Contains("max_set_point"))
                    {
                        maxtemp = status.Single(p => p.name == "max_set_point").current_status.ToLower();
                        if (mode == "cool")
                        {
                            Label lblTemp = (Label)item.FindControl("lblTemp");
                            lblTemp.Text = Common.FromCelsiusToFahrenheit(Convert.ToDouble(maxtemp)).ToString() + "&deg;";
                            lblTemp.ForeColor = (mode == "heat") ? System.Drawing.Color.Red : System.Drawing.ColorTranslator.FromHtml("#22b9ec");

                            Label lblTempSet = (Label)item.FindControl("lblTempSet");
                            lblTempSet.Text = Common.FromCelsiusToFahrenheit(Convert.ToDouble(maxtemp)).ToString() + "&deg;";
                            lblTempSet.ForeColor = (mode == "heat") ? System.Drawing.Color.Red : System.Drawing.ColorTranslator.FromHtml("#22b9ec");
                        }
                    }

                    if (keys.Contains("min_set_point"))
                    {
                        mintemp = status.Single(p => p.name == "min_set_point").current_status.ToLower();
                        if (mode == "heat")
                        {
                            Label lblTemp = (Label)item.FindControl("lblTemp");
                            lblTemp.Text = Common.FromCelsiusToFahrenheit(Convert.ToDouble(mintemp)).ToString() + "&deg;";
                            lblTemp.ForeColor = (mode == "heat") ? System.Drawing.Color.Red : System.Drawing.ColorTranslator.FromHtml("#22b9ec");

                            Label lblTempSet = (Label)item.FindControl("lblTempSet");
                            lblTempSet.Text = Common.FromCelsiusToFahrenheit(Convert.ToDouble(mintemp)).ToString() + "&deg;";
                            lblTempSet.ForeColor = (mode == "heat") ? System.Drawing.Color.Red : System.Drawing.ColorTranslator.FromHtml("#22b9ec");
                        }
                    }
                }

                Double min;
                Double max;
                Double.TryParse(mintemp, out min);
                Double.TryParse(maxtemp, out max);

                if (min > 0)
                    hfSetLowTemp.Value = Common.FromCelsiusToFahrenheit(Convert.ToDouble(mintemp)).ToString();

                if (max > 0)
                    hfSetHighTemp.Value = Common.FromCelsiusToFahrenheit(Convert.ToDouble(maxtemp)).ToString();
            }
        }
Ejemplo n.º 16
0
        /// <summary>
        /// Binds the control and all its child controls to the specified data source.
        /// </summary>
        public override void DataBind()
        {
            if (HttpContext.Current != null)
            {
                //Init data
                ArrayList list = new ArrayList();

                // Obtain PortalSettings from Current Context
                PortalSettings PortalSettings = (PortalSettings) HttpContext.Current.Items["PortalSettings"];

                string homeLink = "<a";
                string menuLink;

                // added Class support by Mario Endara <*****@*****.**> 2004/10/04
                if (CssClass.Length != 0)
                    homeLink = homeLink + " class=\"" + CssClass + "\"";

                homeLink = homeLink + " href='" + HttpUrlBuilder.BuildUrl() + "'>" +
                           General.GetString("Appleseed", "HOME") + "</a>";

                // If user logged in, customize welcome message
                if (HttpContext.Current.Request.IsAuthenticated == true)
                {
                    if (ShowWelcome)
                    {
                        list.Add(General.GetString("HEADER_WELCOME", "Welcome", this) + "&#160;" +
                                 PortalSettings.CurrentUser.Identity.Name + "!");
                    }

                    if (ShowHome)
                    {
                        list.Add(homeLink);
                    }

                    if (ShowHelp)
                    {
                        list.Add(GetHelpLink());
                    }

                    // Added by Mario Endara <*****@*****.**> (2004/11/06)
                    // Find Tab module to see if the user has add/edit rights
                    ModulesDB modules = new ModulesDB();
                    Guid TabGuid = new Guid("{1C575D94-70FC-4A83-80C3-2087F726CBB3}");
                    // Added by Xu Yiming <*****@*****.**> (2004/12/6)
                    // Modify for support Multi or zero Pages Modules in a single portal.
                    bool HasEditPermissionsOnTabs = false;
                    int TabModuleID = 0;

            //					SqlDataReader result = modules.FindModulesByGuid(PortalSettings.PortalID, TabGuid);
            //					while(result.Read())
            //					{
            //						TabModuleID=(int)result["ModuleId"];

                    foreach (ModuleItem m in modules.FindModuleItemsByGuid(PortalSettings.PortalID, TabGuid))
                    {
                        HasEditPermissionsOnTabs = PortalSecurity.HasEditPermissions(m.ID);
                        if (HasEditPermissionsOnTabs)
                        {
                            TabModuleID = m.ID;
                            break;
                        }
                    }

                    // If user logged in and has Edit permission in the Tab module, reach tab management just one click
                    if ((ShowTabMan) && (HasEditPermissionsOnTabs))
                    {
                        // added by Mario Endara 2004/08/06 so PageLayout can return to this page
                        // added Class support by Mario Endara <*****@*****.**> 2004/10/04
                        menuLink = "<a";
                        if (CssClass.Length != 0)
                            menuLink = menuLink + " class=\"" + CssClass + "\"";

                        // added mID by Mario Endara <*****@*****.**> to support security check (2004/11/09)
                        var url = HttpUrlBuilder.BuildUrl("~/DesktopModules/CoreModules/Pages/PageLayout.aspx?PageID=") +
                                   PortalSettings.ActivePage.PageID + "&amp;mID=" + TabModuleID.ToString() +
                                   "&amp;Alias=" + PortalSettings.PortalAlias + "&amp;lang=" + PortalSettings.PortalUILanguage +
                                   "&amp;returntabid=" + PortalSettings.ActivePage.PageID;
                        menuLink = menuLink + " href='" + url + "' onclick=\"openInModal('" + url + "','" + General.GetString("HEADER_MANAGE_TAB", "Edit This Page", null) + "');return false;\");>" +
                                   General.GetString("HEADER_MANAGE_TAB", "Edit This Page", null) + "</a>";
                        list.Add(menuLink);
                    }

                    if (ShowDragNDrop && HasEditPermissionsOnTabs) {

                        menuLink = "<a";
                        if (CssClass.Length != 0)
                            menuLink = menuLink + " class=\"" + CssClass + "\"";

                        menuLink = menuLink + " href='javascript:DnD();'>" + General.GetString("DRAGNDROP", "DragNDrop", null) + "</a>";
                        list.Add(menuLink);
                    }

                    if (ShowEditProfile)
                    {
                        // 19/08/2004 Jonathan Fong
                        // www.gt.com.au
                        if ( Context.User.Identity.AuthenticationType == "LDAP" ) {
                            // added Class support by Mario Endara <*****@*****.**> 2004/10/04
                            menuLink = "<a";
                            if ( CssClass.Length != 0 )
                                menuLink = menuLink + " class=\"" + CssClass + "\"";

                            menuLink = menuLink + " href='" +
                                       HttpUrlBuilder.BuildUrl( "~/DesktopModules/CoreModules/Register/Register.aspx") +
                                       "'>" + "Profile" + "</a>";
                            list.Add( menuLink );
                        }
                        // If user is form add edit user link
                        else if ( !( HttpContext.Current.User is WindowsPrincipal ) ) {
                            // added Class support by Mario Endara <*****@*****.**> 2004/10/04
                            menuLink = "<a";
                            if ( CssClass.Length != 0 )
                                menuLink = menuLink + " class=\"" + CssClass + "\"";

                            menuLink = menuLink + " href='" +
                                       HttpUrlBuilder.BuildUrl( "~/DesktopModules/CoreModules/Register/Register.aspx") +
                                       "'>" +
                                       General.GetString( "HEADER_EDIT_PROFILE", "Edit profile", this ) + "</a>";
                            list.Add( menuLink );
                        }
                    }

                    // if authentication mode is Cookie, provide a logoff link
                    if (Context.User.Identity.AuthenticationType == "Forms" ||
                        Context.User.Identity.AuthenticationType == "LDAP")
                    {
                        if (ShowLogOff)
                        {
                            // Corrections when ShowSecureLogon is true. [email protected] (05/07/2004)
                            string href = HttpUrlBuilder.BuildUrl("~/DesktopModules/CoreModules/Admin/Logoff.aspx");
                            if (ShowSecureLogon && Context.Request.IsSecureConnection)
                            {
                                string auxref = Context.Request.Url.AbsoluteUri;
                                auxref = auxref.Substring(0, auxref.IndexOf(Context.Request.Url.PathAndQuery));
                                href = auxref + href;
                                href = href.Replace("https", "http");
                            }
                            // added Class support by Mario Endara <*****@*****.**> 2004/10/04
                            menuLink = "<a";
                            if (CssClass.Length != 0)
                                menuLink = menuLink + " class=\"" + CssClass + "\"";

                            menuLink = menuLink + " href='" + href + "'>" +
                                       General.GetString("HEADER_LOGOFF", "Logoff", null) + "</a>";

                            list.Add(menuLink);
                        }
                    }
                }
                else
                {
                    if (ShowHome)
                    {
                        list.Add(homeLink);
                    }

                    if (ShowHelp)
                    {
                        list.Add(GetHelpLink());
                    }

                    // if not authenticated and ShowLogon is true, provide a logon link

                    if (ShowLogon)
                    {
                        // added Class support by Mario Endara <*****@*****.**> 2004/10/04
                        menuLink = "<a";
                        if (CssClass.Length != 0)
                            menuLink = menuLink + " class=\"" + CssClass + "\"";

                        menuLink += string.Concat(" id=\"", this.ClientID, "_logon_link" , "\"");
                        menuLink = menuLink + " href='" + HttpUrlBuilder.BuildUrl("~/DesktopModules/CoreModules/Admin/Logon.aspx") +
                                   "'>" + General.GetString("LOGON", "Logon", null) + "</a>";
                        list.Add(menuLink);
                    }

                    var allowNewRegistration = false;
                    if (PortalSettings.CustomSettings["SITESETTINGS_ALLOW_NEW_REGISTRATION"] != null)
                        if (bool.Parse(PortalSettings.CustomSettings["SITESETTINGS_ALLOW_NEW_REGISTRATION"].ToString()))
                            allowNewRegistration = true;

                    if (ShowRegister && allowNewRegistration) {

                        menuLink = "<a";
                        if (CssClass.Length != 0)
                            menuLink = menuLink + " class=\"" + CssClass + "\"";

                        menuLink = menuLink + " href='" + HttpUrlBuilder.BuildUrl("~/DesktopModules/CoreModules/Register/Register.aspx") +
                                   "'>" + General.GetString("REGISTER", "Register", null) + "</a>";
                        list.Add(menuLink);
                    }

                    // Thierry (Tiptopweb) 5 May 2003 : Secure Logon to Secure Directory
                    if (ShowSecureLogon)
                    {
                        // Added localized support. [email protected] (05/07/2004)
                        // added Class support by Mario Endara <*****@*****.**> 2004/10/04
                        menuLink = "<a";
                        if (CssClass.Length != 0)
                            menuLink = menuLink + " class=\"" + CssClass + "\"";

                        menuLink = menuLink + " href='" + PortalSettings.PortalSecurePath + "/Logon.aspx'>" +
                                   General.GetString("LOGON", "Logon", null) + "</a>";
                        list.Add(menuLink);
                    }
                }

                LanguageSwitcher ls = new LanguageSwitcher();
                Appleseed.Framework.Web.UI.WebControls.LanguageCultureCollection lcc = Appleseed.Framework.Localization.LanguageSwitcher.GetLanguageCultureList();
                if ((ShowLanguages)  && (lcc.Count > 1))
                {
                    var mb = new StringBuilder();

                    mb.Append("<a");
                    if (CssClass.Length != 0)
                        mb.AppendFormat(" class=\"{0}\"", CssClass);

                    mb.AppendFormat("id = \"popUpLang\" >");

                    if ((ShowLangString) || (ShowLanguages)){
                        string aux = General.GetString("LANGUAGE", "Language", null);
                        mb.AppendFormat("{0}", aux);
                    }
                    if (ShowFlags){
                        CultureInfo cultureInfo = Thread.CurrentThread.CurrentCulture;
                        string dir = HttpUrlBuilder.BuildUrl("~/aspnet_client/flags/flags_"+cultureInfo.ToString() +".gif");
                        mb.AppendFormat("<img src=\"{0}\" alt=\"\" style=\"left:13px;position:relative\"/>",dir);
                    }
                    mb.Append("</a>");
                    list.Add(mb);
                }

                innerDataSource = list;
            }
            base.DataBind();
            if (ShowLogon && DialogLogon)
            {
                //this new list control won't appear in the list, since it has no DataItem. However we need it for "holding" the Signin Control.
                var newItem = new DataListItem(this.Controls.Count, ListItemType.Item);
                this.Controls.Add(newItem);

                var logonDialogPlaceHolder = new PlaceHolder();
                newItem.Controls.Add(logonDialogPlaceHolder);

                if (_logonControl == null) //we ask this in case someone call the Databind more than once.
                {
                    _logonControl = Page.LoadControl(DialogLogonControlPath);
                    _logonControl.ViewStateMode = System.Web.UI.ViewStateMode.Enabled;
                }
                logonDialogPlaceHolder.Controls.Add(_logonControl);
            }
        }
Ejemplo n.º 17
0
		protected virtual void InitializeItem (DataListItem item)
		{
			ITemplate t = null;
			
			switch (item.ItemType) {
				case ListItemType.Header:
					t = HeaderTemplate;
					break;
				case ListItemType.Footer:
					t = FooterTemplate;
					break;	
				case ListItemType.Separator:
					t = SeparatorTemplate;
					break;
				case ListItemType.Item:
				case ListItemType.AlternatingItem:
				case ListItemType.SelectedItem:
				case ListItemType.EditItem:
					if ((item.ItemType == ListItemType.EditItem) && (EditItemTemplate != null))
						t = EditItemTemplate;
					else if ((item.ItemType == ListItemType.SelectedItem) && (SelectedItemTemplate != null))
						t = SelectedItemTemplate;
					else if ((item.ItemType == ListItemType.AlternatingItem) && (AlternatingItemTemplate != null))
						t = AlternatingItemTemplate;
					else
						t = ItemTemplate;
					break;
			}

			if (t != null)
				t.InstantiateIn (item);
		}
 protected virtual new void InitializeItem(DataListItem item)
 {
 }
Ejemplo n.º 19
0
		public void BubbleEvent ()
		{
			TestDataList dl = new TestDataList ();
			DataListCommandEventArgs command_args;

			//
			// Cancel
			//
			ResetEvents ();
			command_args = new DataListCommandEventArgs (null,
					null, new CommandEventArgs ("Cancel", String.Empty));
			dl.ItemCommand += new DataListCommandEventHandler (ItemCommandHandler);
			dl.CancelCommand += new DataListCommandEventHandler (CancelCommandHandler);
			dl.DoBubbleEvent (this, command_args);
			Assert.IsTrue (cancelCommandEvent, "cancelCommandEvent-1");
			Assert.IsTrue (itemCommandEvent, "#00");

			ResetEvents ();
			command_args = new DataListCommandEventArgs (null,
					null, new CommandEventArgs ("cancel", String.Empty));
			dl.ItemCommand += new DataListCommandEventHandler (ItemCommandHandler);
			dl.CancelCommand += new DataListCommandEventHandler (CancelCommandHandler);
			dl.DoBubbleEvent (this, command_args);
			Assert.IsTrue (cancelCommandEvent, "cancelCommandEvent-2");
			Assert.IsTrue (itemCommandEvent, "#00");

			ResetEvents ();
			command_args = new DataListCommandEventArgs (null,
					null, new CommandEventArgs ("CANCEL", String.Empty));
			dl.ItemCommand += new DataListCommandEventHandler (ItemCommandHandler);
			dl.CancelCommand += new DataListCommandEventHandler (CancelCommandHandler);
			dl.DoBubbleEvent (this, command_args);
			Assert.IsTrue (cancelCommandEvent, "cancelCommandEvent-3");
			Assert.IsTrue (itemCommandEvent, "#00");

			//
			// Delete
			//
			ResetEvents ();
			command_args = new DataListCommandEventArgs (null,
					null, new CommandEventArgs ("Delete", String.Empty));
			dl.ItemCommand += new DataListCommandEventHandler (ItemCommandHandler);
			dl.DeleteCommand += new DataListCommandEventHandler (DeleteCommandHandler);
			dl.DoBubbleEvent (this, command_args);
			Assert.IsTrue (deleteCommandEvent, "deleteCommandEvent-1");
			Assert.IsTrue (itemCommandEvent, "#00");

			ResetEvents ();
			command_args = new DataListCommandEventArgs (null,
					null, new CommandEventArgs ("delete", String.Empty));
			dl.ItemCommand += new DataListCommandEventHandler (ItemCommandHandler);
			dl.DeleteCommand += new DataListCommandEventHandler (DeleteCommandHandler);
			dl.DoBubbleEvent (this, command_args);
			Assert.IsTrue (deleteCommandEvent, "deleteCommandEvent-2");
			Assert.IsTrue (itemCommandEvent, "#00");

			ResetEvents ();
			command_args = new DataListCommandEventArgs (null,
					null, new CommandEventArgs ("DELETE", String.Empty));
			dl.ItemCommand += new DataListCommandEventHandler (ItemCommandHandler);
			dl.DeleteCommand += new DataListCommandEventHandler (DeleteCommandHandler);
			dl.DoBubbleEvent (this, command_args);
			Assert.IsTrue (deleteCommandEvent, "deleteCommandEvent-3");
			Assert.IsTrue (itemCommandEvent, "#00");

			//
			// Edit
			//
			ResetEvents ();
			command_args = new DataListCommandEventArgs (null,
					null, new CommandEventArgs ("Edit", String.Empty));
			dl.ItemCommand += new DataListCommandEventHandler (ItemCommandHandler);
			dl.EditCommand += new DataListCommandEventHandler (EditCommandHandler);
			dl.DoBubbleEvent (this, command_args);
			Assert.IsTrue (editCommandEvent, "editCommandEvent-1");
			Assert.IsTrue (itemCommandEvent, "#00");

			ResetEvents ();
			command_args = new DataListCommandEventArgs (null,
					null, new CommandEventArgs ("edit", String.Empty));
			dl.ItemCommand += new DataListCommandEventHandler (ItemCommandHandler);
			dl.EditCommand += new DataListCommandEventHandler (EditCommandHandler);
			dl.DoBubbleEvent (this, command_args);
			Assert.IsTrue (editCommandEvent, "editCommandEvent-2");
			Assert.IsTrue (itemCommandEvent, "#00");

			ResetEvents ();
			command_args = new DataListCommandEventArgs (null,
					null, new CommandEventArgs ("EDIT", String.Empty));
			dl.ItemCommand += new DataListCommandEventHandler (ItemCommandHandler);
			dl.EditCommand += new DataListCommandEventHandler (EditCommandHandler);
			dl.DoBubbleEvent (this, command_args);
			Assert.IsTrue (editCommandEvent, "editCommandEvent-3");
			Assert.IsTrue (itemCommandEvent, "#00");

			//
			// Item
			//
			ResetEvents ();
			command_args = new DataListCommandEventArgs (null,
					null, new CommandEventArgs ("Item", String.Empty));
			dl.ItemCommand += new DataListCommandEventHandler (ItemCommandHandler);
			dl.DoBubbleEvent (this, command_args);
			Assert.IsTrue (itemCommandEvent, "itemCommandEvent-1");

			ResetEvents ();
			command_args = new DataListCommandEventArgs (null,
					null, new CommandEventArgs ("item", String.Empty));
			dl.ItemCommand += new DataListCommandEventHandler (ItemCommandHandler);
			dl.DoBubbleEvent (this, command_args);
			Assert.IsTrue (itemCommandEvent, "itemCommandEvent-2");

			ResetEvents ();
			command_args = new DataListCommandEventArgs (null,
					null, new CommandEventArgs ("ITEM", String.Empty));
			dl.ItemCommand += new DataListCommandEventHandler (ItemCommandHandler);
			dl.DoBubbleEvent (this, command_args);
			Assert.IsTrue (itemCommandEvent, "itemCommandEvent-3");

			//
			// Update
			//
			ResetEvents ();
			command_args = new DataListCommandEventArgs (null,
					null, new CommandEventArgs ("Update", String.Empty));
			dl.ItemCommand += new DataListCommandEventHandler (ItemCommandHandler);
			dl.UpdateCommand += new DataListCommandEventHandler (UpdateCommandHandler);
			dl.DoBubbleEvent (this, command_args);
			Assert.IsTrue (updateCommandEvent, "updateCommandEvent-1");
			Assert.IsTrue (itemCommandEvent, "#00");

			ResetEvents ();
			command_args = new DataListCommandEventArgs (null,
					null, new CommandEventArgs ("update", String.Empty));
			dl.ItemCommand += new DataListCommandEventHandler (ItemCommandHandler);
			dl.UpdateCommand += new DataListCommandEventHandler (UpdateCommandHandler);
			dl.DoBubbleEvent (this, command_args);
			Assert.IsTrue (updateCommandEvent, "updateCommandEvent-2");
			Assert.IsTrue (itemCommandEvent, "#00");

			ResetEvents ();
			command_args = new DataListCommandEventArgs (null,
					null, new CommandEventArgs ("UPDATE", String.Empty));
			dl.UpdateCommand += new DataListCommandEventHandler (UpdateCommandHandler);
			dl.DoBubbleEvent (this, command_args);
			Assert.IsTrue (updateCommandEvent, "updateCommandEvent-3");
			Assert.IsTrue (itemCommandEvent, "#00");

			//
			// Select
			//
			DataListItem item = new DataListItem (0, ListItemType.Item);
			
			ResetEvents ();
			command_args = new DataListCommandEventArgs (item, null,
					new CommandEventArgs ("Select", String.Empty));
			dl.ItemCommand += new DataListCommandEventHandler (ItemCommandHandler);
			dl.SelectedIndexChanged += new EventHandler (SelectedIndexChangedHandler);
			dl.DoBubbleEvent (this, command_args);
			Assert.IsTrue (selectedIndexChangedEvent, "selectedIndexChangedEvent-1");
			Assert.IsTrue (itemCommandEvent, "#00");

			ResetEvents ();
			command_args = new DataListCommandEventArgs (item, null,
					new CommandEventArgs ("select", String.Empty));
			dl.ItemCommand += new DataListCommandEventHandler (ItemCommandHandler);
			dl.SelectedIndexChanged += new EventHandler (SelectedIndexChangedHandler);
			dl.DoBubbleEvent (this, command_args);
			Assert.IsTrue (selectedIndexChangedEvent, "selectedIndexChangedEvent-2");
			Assert.IsTrue (itemCommandEvent, "#00");

			ResetEvents ();
			command_args = new DataListCommandEventArgs (item, null,
					new CommandEventArgs ("SELECT", String.Empty));
			dl.ItemCommand += new DataListCommandEventHandler (ItemCommandHandler);
			dl.SelectedIndexChanged += new EventHandler (SelectedIndexChangedHandler);
			dl.DoBubbleEvent (this, command_args);
			Assert.IsTrue (selectedIndexChangedEvent, "selectedIndexChangedEvent-3");
			Assert.IsTrue (itemCommandEvent, "#00");

			//
			// any comand
			//
			ResetEvents ();
			command_args = new DataListCommandEventArgs (item, null,
					new CommandEventArgs ("AnyComand", String.Empty));
			dl.ItemCommand += new DataListCommandEventHandler (ItemCommandHandler);
			bool res = dl.DoBubbleEvent (this, command_args);
			Assert.IsTrue (res, "any comand#00");
			Assert.IsTrue (itemCommandEvent, "any comand#01");
		}
//  FieldValueAtIndex
//
//  PURPOSE:  This function determines the value of a named field within some row within
//		this DataSet.  The tricky part is determining which row is desired.  Consider an
//		example.  Suppose we have a page containing 3 DataSets:  ds1, ds2 and ds3.  This
//		page might contain a DataGrid, g1, bound to ds1.  Within the DataGrid may be
//		with a TemplateColumn containing a Repeater, r1, bound to ds2.  Within the Repeater
//		might be an ItemTemplate containing ds1.FieldValue("foo", Container) as well as
//		ds2.FieldValue("bar", Container).  Outside the whole DataGrid might be another
//		Repeater, r2, bound to ds1 containing an ItemTemplate containing
//		ds1.FieldValue("foo", Container) and ds3.FieldValue("xyz", Container).  We can
//		diagram this as:
//
//		DataSet ds1
//		DataSet ds2
//		DataSet ds3
//
//		DataGrid g1 bound to ds1
//			TemplateColumn
//				ItemTemplate
//					Repeater r1 bound to ds2
//						ItemTemplate
//							ds1.FieldValue("foo", Container)  [use the row in ds1 that g1 is currently processing]
//							ds2.FieldValue("bar", Container)  [use the row in ds2 that r1 is currrently processing]
//
//		Repeater r2 bound to ds1
//			ds1.FieldValue("foo", Container) [use the row in ds1 that r2 is currently processing]
//			ds3.FieldValue("xyz", Container) [use the 0th row in ds3]
//		
//		The challenge presented to this method is to resolve the field values according to the
//		description shown above in square brackets.
//
public string FieldValueAtIndex(int Index, string FieldName, System.Web.UI.Control Container)
{
	string strReturn = "";  // contains the field value that we eventually resolve to

	try
	{
		//  Make some objects so we can get their types to use later in comparisons.

		System.Web.UI.WebControls.Repeater theRepeater = new System.Web.UI.WebControls.Repeater();
		System.Web.UI.WebControls.DataList theDataList = new System.Web.UI.WebControls.DataList();
		System.Web.UI.WebControls.DataGrid theDataGrid = new System.Web.UI.WebControls.DataGrid();

		System.Web.UI.WebControls.RepeaterItem repeaterItemContainer = new System.Web.UI.WebControls.RepeaterItem(0, ListItemType.Item);
		System.Web.UI.WebControls.DataListItem dataListItemContainer = new System.Web.UI.WebControls.DataListItem(0, ListItemType.Item);
		System.Web.UI.WebControls.DataGridItem dataGridItemContainer = new System.Web.UI.WebControls.DataGridItem(0, 0, ListItemType.Item);

		Type repeaterType = theRepeater.GetType();
		Type dataListType = theDataList.GetType();
		Type dataGridType = theDataGrid.GetType();
		 
		Type repeaterItemType = repeaterItemContainer.GetType();
		Type dataListItemType = dataListItemContainer.GetType();
		Type dataGridItemType = dataGridItemContainer.GetType();

		theRepeater = null;
		theDataList = null;
		theDataGrid = null;

		//  We will now figure out what control (Repeater, DataList or DataGrid) this DataSet
		//  has been bound to.  Later we can figure out what row that control is presently
		//  processing.

		Control theParent = null;

		if (Container != null)
		{
			theParent = Container.Parent;
			while (theParent != null)
			{
				if (repeaterType.IsInstanceOfType(theParent))
				{
					theRepeater = (System.Web.UI.WebControls.Repeater)theParent;
					if (theRepeater.DataSource == this.DefaultView)
					{
						break;
					}
				}
				else if (dataListType.IsInstanceOfType(theParent))
				{
					theDataList = (System.Web.UI.WebControls.DataList)theParent;
					if (theDataList.DataSource == this.DefaultView)
					{
						break;
					}
				}
				else if (dataGridType.IsInstanceOfType(theParent))
				{
					theDataGrid = (System.Web.UI.WebControls.DataGrid)theParent;
					if (theDataGrid.DataSource == this.DefaultView)
					{
						break;
					}
				}

				theParent = theParent.Parent;
			}

			//  Finding the control that this DataSet is bound to isn't enough.  
			//  We have to get the field value of a the right record within
			//  that DataSet.  That is, we have to find the row in that DataSet
			//  that the Repeater or DataList or DataGrid is currently processing.

			if (theParent != null)
			{
				Control candidateBindingContainer = Container;
				while (candidateBindingContainer != null)
				{
					while ((candidateBindingContainer == null) ||
						   ((!repeaterItemType.IsInstanceOfType(candidateBindingContainer)) &&
							(!dataListItemType.IsInstanceOfType(candidateBindingContainer)) &&
							(!dataGridItemType.IsInstanceOfType(candidateBindingContainer))))
					{
						try
						{
							candidateBindingContainer = candidateBindingContainer.BindingContainer;
						}
						catch
						{
							candidateBindingContainer = null;
						}
					}

					if (candidateBindingContainer != null)
					{
						if (repeaterType.IsInstanceOfType(theParent))
						{
							if ((candidateBindingContainer.Parent != null) &&
							    (candidateBindingContainer.Parent == theRepeater))
							{
								strReturn = ((DataView)(theRepeater.DataSource))[((RepeaterItem)candidateBindingContainer).ItemIndex][FieldName].ToString();
								return strReturn;
							}
						}
						else if (dataListType.IsInstanceOfType(theParent))
						{
							if ((candidateBindingContainer.Parent != null) &&
							    (candidateBindingContainer.Parent == theDataList))
							{
								strReturn = ((DataView)(theDataList.DataSource))[((DataListItem)candidateBindingContainer).ItemIndex][FieldName].ToString();
								return strReturn;
							}
						}
						else if (dataGridType.IsInstanceOfType(theParent))
						{
							if ((candidateBindingContainer.Parent != null) &&
								(candidateBindingContainer.Parent.Parent != null) &&
							    (candidateBindingContainer.Parent.Parent == theDataGrid))
							{
								strReturn = ((DataView)(theDataGrid.DataSource))[((DataGridItem)candidateBindingContainer).ItemIndex][FieldName].ToString();
								return strReturn;
							}
						}

						candidateBindingContainer = candidateBindingContainer.Parent;
					}
				}
			}
		}

		//  If we haven't found the parent control then we must fall back on something
		//  safe:  simply access the field value at the given index.

		if (theParent == null)
		{
			strReturn = DefaultView[Index][FieldName].ToString();
		}
	}
	catch
	{
	}

	return strReturn.Trim();
}
Ejemplo n.º 21
0
        protected override void CreateControlHierarchy(bool useDataSource)
        {
            IEnumerable data          = null;
            int         dataItemCount = -1;
            ArrayList   dataKeysArray = base.DataKeysArray;

            this.extractTemplateRows = this.ExtractTemplateRows;
            if (this.itemsArray != null)
            {
                this.itemsArray.Clear();
            }
            else
            {
                this.itemsArray = new ArrayList();
            }
            if (!useDataSource)
            {
                dataItemCount = (int)this.ViewState["_!ItemCount"];
                if (dataItemCount != -1)
                {
                    data = new DummyDataSource(dataItemCount);
                    this.itemsArray.Capacity = dataItemCount;
                }
            }
            else
            {
                dataKeysArray.Clear();
                data = this.GetData();
                ICollection is2 = data as ICollection;
                if (is2 != null)
                {
                    dataKeysArray.Capacity   = is2.Count;
                    this.itemsArray.Capacity = is2.Count;
                }
            }
            if (data != null)
            {
                ControlCollection controls = this.Controls;
                int    itemIndex           = 0;
                bool   flag          = this.separatorTemplate != null;
                int    editItemIndex = this.EditItemIndex;
                int    selectedIndex = this.SelectedIndex;
                string dataKeyField  = this.DataKeyField;
                bool   flag2         = useDataSource && (dataKeyField.Length != 0);
                dataItemCount = 0;
                if (this.headerTemplate != null)
                {
                    this.CreateItem(-1, ListItemType.Header, useDataSource, null);
                }
                foreach (object obj2 in data)
                {
                    if (flag2)
                    {
                        object propertyValue = DataBinder.GetPropertyValue(obj2, dataKeyField);
                        dataKeysArray.Add(propertyValue);
                    }
                    ListItemType itemType = ListItemType.Item;
                    if (itemIndex == editItemIndex)
                    {
                        itemType = ListItemType.EditItem;
                    }
                    else if (itemIndex == selectedIndex)
                    {
                        itemType = ListItemType.SelectedItem;
                    }
                    else if ((itemIndex % 2) != 0)
                    {
                        itemType = ListItemType.AlternatingItem;
                    }
                    DataListItem item = this.CreateItem(itemIndex, itemType, useDataSource, obj2);
                    this.itemsArray.Add(item);
                    if (flag)
                    {
                        this.CreateItem(itemIndex, ListItemType.Separator, useDataSource, null);
                    }
                    dataItemCount++;
                    itemIndex++;
                }
                if (this.footerTemplate != null)
                {
                    this.CreateItem(-1, ListItemType.Footer, useDataSource, null);
                }
            }
            if (useDataSource)
            {
                this.ViewState["_!ItemCount"] = (data != null) ? dataItemCount : -1;
            }
        }
Ejemplo n.º 22
0
        private void Page_Load(object sender, System.EventArgs e)
        {
            HtmlForm frm = (HtmlForm)FindControl("form1");

            GHTTestBegin(frm);

            // AlternatingItem
            GHTSubTestBegin("AlternatingItem");
            try
            {
                System.Web.UI.WebControls.DataListItem item = new System.Web.UI.WebControls.DataListItem(1, ListItemType.AlternatingItem);
                Compare(item.ItemType, ListItemType.AlternatingItem);
            }
            catch (Exception ex)
            {
                GHTSubTestUnexpectedExceptionCaught(ex);
            }
            GHTSubTestEnd();

            // EditItem
            GHTSubTestBegin("EditItem");
            try
            {
                System.Web.UI.WebControls.DataListItem item = new System.Web.UI.WebControls.DataListItem(1, ListItemType.EditItem);
                Compare(item.ItemType, ListItemType.EditItem);
            }
            catch (Exception ex)
            {
                GHTSubTestUnexpectedExceptionCaught(ex);
            }
            GHTSubTestEnd();

            // Footer
            GHTSubTestBegin("Footer");
            try
            {
                System.Web.UI.WebControls.DataListItem item = new System.Web.UI.WebControls.DataListItem(1, ListItemType.Footer);
                Compare(item.ItemType, ListItemType.Footer);
            }
            catch (Exception ex)
            {
                GHTSubTestUnexpectedExceptionCaught(ex);
            }
            GHTSubTestEnd();

            // Header
            GHTSubTestBegin("Header");
            try
            {
                System.Web.UI.WebControls.DataListItem item = new System.Web.UI.WebControls.DataListItem(1, ListItemType.Header);
                Compare(item.ItemType, ListItemType.Header);
            }
            catch (Exception ex)
            {
                GHTSubTestUnexpectedExceptionCaught(ex);
            }
            GHTSubTestEnd();

            // Item
            GHTSubTestBegin("Item");
            try
            {
                System.Web.UI.WebControls.DataListItem item = new System.Web.UI.WebControls.DataListItem(1, ListItemType.Item);
                Compare(item.ItemType, ListItemType.Item);
            }
            catch (Exception ex)
            {
                GHTSubTestUnexpectedExceptionCaught(ex);
            }
            GHTSubTestEnd();

            // Pager
            GHTSubTestBegin("Pager");
            try
            {
                System.Web.UI.WebControls.DataListItem item = new System.Web.UI.WebControls.DataListItem(1, ListItemType.Pager);
                Compare(item.ItemType, ListItemType.Pager);
            }
            catch (Exception ex)
            {
                GHTSubTestUnexpectedExceptionCaught(ex);
            }
            GHTSubTestEnd();

            // SelectedItem
            GHTSubTestBegin("SelectedItem");
            try
            {
                System.Web.UI.WebControls.DataListItem item = new System.Web.UI.WebControls.DataListItem(1, ListItemType.SelectedItem);
                Compare(item.ItemType, ListItemType.SelectedItem);
            }
            catch (Exception ex)
            {
                GHTSubTestUnexpectedExceptionCaught(ex);
            }
            GHTSubTestEnd();

            // Separator
            GHTSubTestBegin("Separator");
            try
            {
                System.Web.UI.WebControls.DataListItem item = new System.Web.UI.WebControls.DataListItem(1, ListItemType.Separator);
                Compare(item.ItemType, ListItemType.Separator);
            }
            catch (Exception ex)
            {
                GHTSubTestUnexpectedExceptionCaught(ex);
            }
            GHTSubTestEnd();

            // Positive  index
            GHTSubTestBegin("Positive index");
            try
            {
                System.Web.UI.WebControls.DataListItem item = new System.Web.UI.WebControls.DataListItem(10, ListItemType.Item);
                Compare(item.ItemIndex, 10);
            }
            catch (Exception ex)
            {
                GHTSubTestUnexpectedExceptionCaught(ex);
            }
            GHTSubTestEnd();

            // Negative index
            GHTSubTestBegin("Negative index");
            try
            {
                System.Web.UI.WebControls.DataListItem item = new System.Web.UI.WebControls.DataListItem(-10, ListItemType.Item);
                Compare(item.ItemIndex, -10);
            }
            catch (Exception ex)
            {
                GHTSubTestUnexpectedExceptionCaught(ex);
            }
            GHTSubTestEnd();

            // -1
            GHTSubTestBegin("-1");
            try
            {
                System.Web.UI.WebControls.DataListItem item = new System.Web.UI.WebControls.DataListItem(-1, ListItemType.Item);
                Compare(item.ItemIndex, -1);
            }
            catch (Exception ex)
            {
                GHTSubTestUnexpectedExceptionCaught(ex);
            }
            GHTSubTestEnd();

            GHTTestEnd();
        }
Ejemplo n.º 23
0
 protected virtual new void InitializeItem(DataListItem item)
 {
 }
 public DataListCommandEventArgs(DataListItem item, Object commandSource, CommandEventArgs originalArgs) : base (default(CommandEventArgs))
 {
 }
 /// <devdoc>
 /// <para>Initializes a new instance of the <see cref='System.Web.UI.WebControls.DataListItemEventArgs'/> class.</para>
 /// </devdoc>
 public DataListItemEventArgs(DataListItem item) {
     this.item = item;
 }
 public DataListItemEventArgs(DataListItem item)
 {
 }
 public DataListItemEventArgs(DataListItem item)
 {
     this.item = item;
 }
Ejemplo n.º 28
0
        /// <devdoc>
        /// </devdoc>
        protected virtual void InitializeItem(DataListItem item) {
            ITemplate contentTemplate = itemTemplate;

            switch (item.ItemType) {
                case ListItemType.Header:
                    contentTemplate = headerTemplate;
                    break;

                case ListItemType.Footer:
                    contentTemplate = footerTemplate;
                    break;

                case ListItemType.AlternatingItem:
                    if (alternatingItemTemplate != null) {
                        contentTemplate = alternatingItemTemplate;
                    }
                    break;

                case ListItemType.SelectedItem:
                    if (selectedItemTemplate != null) {
                        contentTemplate = selectedItemTemplate;
                    }
                    else {
                        if (item.ItemIndex % 2 != 0)
                            goto case ListItemType.AlternatingItem;
                    }
                    break;

                case ListItemType.EditItem:
                    if (editItemTemplate != null) {
                        contentTemplate = editItemTemplate;
                    }
                    else {
                        if (item.ItemIndex == SelectedIndex)
                            goto case ListItemType.SelectedItem;
                        else if (item.ItemIndex % 2 != 0)
                            goto case ListItemType.AlternatingItem;
                    }
                    break;

                case ListItemType.Separator:
                    contentTemplate = separatorTemplate;
                    break;
            }

            if (contentTemplate != null)
                contentTemplate.InstantiateIn(item);
        }
Ejemplo n.º 29
0
        private void DisplayChildCategories(CategoryInfo category, DataListItem dataListItem, int storePageID, int indentLevel)
        {
            CategoryController controller = new CategoryController();
            StringDictionary replaceParams = new StringDictionary();
            replaceParams["ProductID"] = Null.NullString;
            replaceParams["PageIndex"] = Null.NullString;

            ArrayList childCategories = controller.GetCategories(PortalId, false, category.CategoryID);
            foreach (CategoryInfo childCategory in childCategories)
            {
                replaceParams["CategoryID"] = childCategory.CategoryID.ToString();
                dataListItem.Controls.Add(GetBreakRow(indentLevel));
                dataListItem.Controls.Add(CreateHyperLink(childCategory.CategoryName, _nav.GetNavigationUrl(replaceParams, storePageID), selectedCategoryID == childCategory.CategoryID));

                //If this category is in the parent array, then recurse...
                foreach (CategoryInfo myCategory in parentCategories)
                {
                    if (myCategory.CategoryID == childCategory.CategoryID)
                    {
                        int newIndentLevel = indentLevel + 1;
                        DisplayChildCategories(childCategory, dataListItem, storePageID, newIndentLevel);
                    }
                }
            }
        }
Ejemplo n.º 30
0
        protected virtual void InitializeItem(DataListItem item)
        {
            ITemplate itemTemplate = this.itemTemplate;

            switch (item.ItemType)
            {
            case ListItemType.Header:
                itemTemplate = this.headerTemplate;
                goto Label_00A4;

            case ListItemType.Footer:
                itemTemplate = this.footerTemplate;
                goto Label_00A4;

            case ListItemType.AlternatingItem:
                break;

            case ListItemType.SelectedItem:
                goto Label_0055;

            case ListItemType.EditItem:
                if (this.editItemTemplate == null)
                {
                    if (item.ItemIndex == this.SelectedIndex)
                    {
                        goto Label_0055;
                    }
                    if ((item.ItemIndex % 2) != 0)
                    {
                        break;
                    }
                }
                else
                {
                    itemTemplate = this.editItemTemplate;
                }
                goto Label_00A4;

            case ListItemType.Separator:
                itemTemplate = this.separatorTemplate;
                goto Label_00A4;

            default:
                goto Label_00A4;
            }
Label_0044:
            if (this.alternatingItemTemplate != null)
            {
                itemTemplate = this.alternatingItemTemplate;
            }
            goto Label_00A4;
Label_0055:
            if (this.selectedItemTemplate != null)
            {
                itemTemplate = this.selectedItemTemplate;
            }
            else if ((item.ItemIndex % 2) != 0)
            {
                goto Label_0044;
            }
Label_00A4:
            if (itemTemplate != null)
            {
                itemTemplate.InstantiateIn(item);
            }
        }
 public DataListItemEventArgs (DataListItem item)
 {
 }
        private void SetTotalDurationAndDistance(AirMaterial flight, DataListItem dataListItem)
        {
            System.Web.UI.WebControls.Label lblTotalDistance = (System.Web.UI.WebControls.Label)dataListItem.FindControl("lblTotalDistance");
            lblTotalDistance.Text = GetDistance(flight);

            System.Web.UI.WebControls.Label lblTotalDuration = (System.Web.UI.WebControls.Label)dataListItem.FindControl("lblTotalDuration");
            lblTotalDuration.Text = GetDuration(flight);

            System.Web.UI.WebControls.Label lblTotalDistanceMsg = (System.Web.UI.WebControls.Label)dataListItem.FindControl("lblTotalDistanceMsg");
            if (lblTotalDuration.Text.Trim() == string.Empty)
            {
                lblTotalDistanceMsg.Visible = false;
            }
        }
 /// <devdoc>
 /// <para>Initializes a new instance of the <see cref='System.Web.UI.WebControls.DataListCommandEventArgs'/> class.</para>
 /// </devdoc>
 public DataListCommandEventArgs(DataListItem item, object commandSource, CommandEventArgs originalArgs) : base(originalArgs) {
     this.item = item;
     this.commandSource = commandSource;
 }
        protected virtual void InitializeItem(DataListItem item)
        {
            ITemplate itemTemplate = this.itemTemplate;
            switch (item.ItemType)
            {
                case ListItemType.Header:
                    itemTemplate = this.headerTemplate;
                    goto Label_00A4;

                case ListItemType.Footer:
                    itemTemplate = this.footerTemplate;
                    goto Label_00A4;

                case ListItemType.AlternatingItem:
                    break;

                case ListItemType.SelectedItem:
                    goto Label_0055;

                case ListItemType.EditItem:
                    if (this.editItemTemplate == null)
                    {
                        if (item.ItemIndex == this.SelectedIndex)
                        {
                            goto Label_0055;
                        }
                        if ((item.ItemIndex % 2) != 0)
                        {
                            break;
                        }
                    }
                    else
                    {
                        itemTemplate = this.editItemTemplate;
                    }
                    goto Label_00A4;

                case ListItemType.Separator:
                    itemTemplate = this.separatorTemplate;
                    goto Label_00A4;

                default:
                    goto Label_00A4;
            }
        Label_0044:
            if (this.alternatingItemTemplate != null)
            {
                itemTemplate = this.alternatingItemTemplate;
            }
            goto Label_00A4;
        Label_0055:
            if (this.selectedItemTemplate != null)
            {
                itemTemplate = this.selectedItemTemplate;
            }
            else if ((item.ItemIndex % 2) != 0)
            {
                goto Label_0044;
            }
        Label_00A4:
            if (itemTemplate != null)
            {
                itemTemplate.InstantiateIn(item);
            }
        }
Ejemplo n.º 35
0
        protected void InitializePager(Pager pager)
        {
            pager.PagedDataSource = PagedDataSource;
            pager.PageIndexChanged += new DataGridPageChangedEventHandler(Pager_PageIndexChanged);
            pager.First = First;

            DataListItem item = new DataListItem(0, ListItemType.Pager);
            item.Controls.Add(pager.Navigator);
            Controls.Add(item);

            mPagerListItems.Add(item);
        }
Ejemplo n.º 36
0
 public DataListCommandEventArgs(DataListItem item, Object commandSource, CommandEventArgs originalArgs) : base(default(CommandEventArgs))
 {
 }
Ejemplo n.º 37
0
        protected void displaySensors(DataListItem item)
        {
            ImageButton img = (ImageButton)item.FindControl("imgIcon");
            Table tblDefault = (Table)item.FindControl("tblDefault");
            tblDefault.Visible = true;
            bool alert = false;

            Wink.Device device = ((Wink.Device)item.DataItem);
            string devicetype = device.sensor_type;

            List<Wink.Device.DeviceStatus> status = device.status;
            IList<string> keys = status.Select(p => p.name).ToList();
            string state = string.Empty;

            if (keys.Contains("connection"))
            {
                Wink.Device.DeviceStatus stat = status.Single(p => p.name == "connection");
                bool reverse = !Convert.ToBoolean(stat.current_status);
                alert = reverse;
                state = reverse.ToString().ToLower();
            }

            //Sesnor_States
            DataTable dtStatus = new DataTable();
            dtStatus.Columns.Add("Reading Name");
            dtStatus.Columns.Add("Last Read");
            dtStatus.Columns.Add("Last Updated");
            foreach (Wink.Device.DeviceStatus stat in device.sensor_states)
            {
                DataRow row = dtStatus.NewRow();
                row[0] = stat.name;
                row[1] = stat.current_status;
                row[2] = stat.last_updated.ToString();
                dtStatus.Rows.Add(row);
            }

            if (dtStatus.Rows.Count > 0)
            {
                TableRow rowSensorStates = (TableRow)item.FindControl("rowSensorStates");
                rowSensorStates.Visible = true;

                GridView gv = (GridView)item.FindControl("gvSensorStates");
                gv.DataSource = dtStatus;
                gv.DataBind();
            }

            double dblTest;
            if (device.sensortripped == "true")
            {
                state = "true";
                alert = true;
            }
            else if (device.sensortripped == "test")
            {
                state = "test";
            }
            else if (double.TryParse(device.sensortripped, out dblTest))
            {
                state = device.sensortripped;
                if (dblTest < 25)
                    alert = true;
            }

            string imgPath = Request.PhysicalApplicationPath + "\\Images\\Sensors\\" + devicetype + state + ".png";
            if (File.Exists(imgPath))
            {
                string url = "~/Images/Sensors/" + devicetype + state + ".png";
                img.ImageUrl = url;
            }
            else
            {
                img.ImageUrl = "";
            }

            ((Image)item.FindControl("imgAlert")).Visible = alert;
        }
Ejemplo n.º 38
0
		/// <summary>
		/// Undocumented
		/// </summary>
		protected virtual void InitializeItem (DataListItem item)
		{
			ListItemType type = item.ItemType;
			ITemplate template = itemTemplate;

			switch (type) {
			case ListItemType.Header:
				template = headerTemplate;
				break;
			case ListItemType.Footer:
				template = footerTemplate;
				break;
			case ListItemType.AlternatingItem:
				if (alternatingItemTemplate != null)
					template = alternatingItemTemplate;
				break;
			case ListItemType.SelectedItem:
				if (selectedItemTemplate != null) {
					template = selectedItemTemplate;
					break;
				}

				if ((item.ItemIndex % 2) != 0)
					goto case ListItemType.AlternatingItem;
				break;
			case ListItemType.EditItem:
				if (editItemTemplate != null) {
					template = editItemTemplate;
					break;
				}

				if (item.ItemIndex == SelectedIndex)
					goto case ListItemType.SelectedItem;

				if ((item.ItemIndex % 2) != 0)
					goto case ListItemType.AlternatingItem;
				break;
			case ListItemType.Separator:
				template = separatorTemplate;
				break;
			}

			if (template != null)
				template.InstantiateIn (item);
		}
Ejemplo n.º 39
0
        protected void displayDevices(DataListItem item)
        {
            ImageButton img = (ImageButton)item.FindControl("imgIcon");
            RadSlider rs = (RadSlider)item.FindControl("rsBrightness");
            HiddenField hfMainCommand = (HiddenField)item.FindControl("hfMainCommand");
            HiddenField hfCurrentStatus = (HiddenField)item.FindControl("hfCurrentStatus");
            HiddenField hfLevelCommand = (HiddenField)item.FindControl("hfLevelCommand");
            Table tblDefault = (Table)item.FindControl("tblDefault");
            tblDefault.Visible = true;

            Wink.Device device = ((Wink.Device)item.DataItem);
            string devicetype = device.type;

            List<Wink.Device.DeviceStatus> status = device.status;
            IList<string> keys = status.Select(p => p.name).ToList();
            string state = string.Empty;
            bool hasConnection = false;
            bool noConnectionValue = false;
            string degree = "n/a";

            if (keys.Contains("connection"))
            {
                Wink.Device.DeviceStatus stat = status.Single(p => p.name == "connection");
                if (stat == null || (stat != null && string.IsNullOrWhiteSpace(stat.current_status)))
                {
                    hasConnection = false;
                    state = "false";
                    hfCurrentStatus.Value = state;

                    Label lblName = (Label)item.FindControl("lblName");
                    lblName.ForeColor = System.Drawing.Color.Red;
                    lblName.Text += "<br />NOT CONNECTED";
                }
                else
                    hasConnection = true;
            }
            else
            {
                noConnectionValue = true;
            }

            if (hasConnection || noConnectionValue)
            {
                if (keys.Contains("powered") || keys.Contains("locked"))
                {
                    Wink.Device.DeviceStatus stat = status.Single(p => p.name == "powered" || p.name == "locked");
                    state = stat.current_status.ToLower();
                    hfMainCommand.Value = stat.name;
                    hfCurrentStatus.Value = state;
                    if (device.iscontrollable)
                        img.Enabled = true;
                }
                else if (keys.Contains("brightness") || keys.Contains("position") || keys.Contains("remaining"))
                {
                    Wink.Device.DeviceStatus stat = status.Single(p => p.name == "brightness" || p.name == "position" || p.name == "remaining");

                    Double converted = 0;
                    Double.TryParse(stat.current_status, out converted);
                    converted = converted * 100;

                    state = converted > 0 ? "true" : "false";
                    hfMainCommand.Value = stat.name;
                    hfCurrentStatus.Value = state;

                    if (device.iscontrollable)
                        img.Enabled = true;
                }
                else if (hasConnection)
                {
                    state = hasConnection.ToString().ToLower();
                    hfMainCommand.Value = "connection";
                    hfCurrentStatus.Value = state;
                }

                if (keys.Contains("brightness") || keys.Contains("position") || keys.Contains("remaining"))
                {
                    Wink.Device.DeviceStatus stat = status.Single(p => p.name == "brightness" || p.name == "position" || p.name == "remaining");
                    hfLevelCommand.Value = stat.name;
                    double testdouble = 0;
                    Double.TryParse(stat.current_status, out testdouble);
                    degree = (testdouble * 100).ToString();
                }

                if (devicetype == "light_bulbs" || devicetype == "binary_switches")
                {
                    if (device.model.ToLower().StartsWith("outl"))
                    {
                        string imgPath = Request.PhysicalApplicationPath + "\\Images\\Devices\\outlets" + state + ".png";
                        if (File.Exists(imgPath))
                        {
                            string url = "~/Images/Devices/outlets" + state + ".png";
                            img.ImageUrl = url;
                        }
                    }
                    else
                    {
                        string imgPath = Request.PhysicalApplicationPath + "\\Images\\Devices\\" + device.manufacturer + state + ".png";
                        if (File.Exists(imgPath))
                        {
                            string url = "~/Images/Devices/" + device.manufacturer + state + ".png";
                            img.ImageUrl = url;
                        }
                        else
                            img.ImageUrl = "~/Images/Devices/lights" + state + ".png";
                    }
                }
                else if (devicetype == "outlets")
                {
                    string imgPath = Request.PhysicalApplicationPath + "\\Images\\Devices\\" + device.menu_type + device.type + state + ".png";
                    if (File.Exists(imgPath))
                    {
                        string url = "~/Images/Devices/" + device.menu_type + device.type + state + ".png";
                        img.ImageUrl = url;
                    }
                    else
                        img.ImageUrl = "~/Images/Devices/outlets" + state + ".png";
                }
                else if (hfLevelCommand.Value == "position" || hfLevelCommand.Value == "remaining")
                {
                    string imgDegree = "100";
                    double deg = Convert.ToDouble(degree);
                    if (deg <= 10)
                        imgDegree = "0";
                    else if (deg <= 30)
                        imgDegree = "25";
                    else if (deg <= 60)
                        imgDegree = "50";
                    else if (deg <= 90)
                        imgDegree = "75";
                    else
                        imgDegree = "100";

                    string imgPath = Request.PhysicalApplicationPath + "\\Images\\Devices\\" + devicetype + imgDegree + ".png";
                    if (File.Exists(imgPath))
                    {
                        string url = "~/Images/Devices/" + devicetype + imgDegree + ".png";
                        img.ImageUrl = url;
                    }
                }
                else
                {
                    string imgPath = Request.PhysicalApplicationPath + "\\Images\\Devices\\" + devicetype + state + ".png";
                    if (File.Exists(imgPath))
                    {
                        string url = "~/Images/Devices/" + devicetype + state + ".png";
                        img.ImageUrl = url;
                    }

                }
            }

            if (device.isvariable)
            {
                rs.Visible = true;
                rs.Enabled = hasConnection;
                if (state == "true")
                {
                    decimal dim = 100;
                    decimal.TryParse(degree, out dim);
                    dim = Math.Round(dim);

                    rs.Value = dim;
                    rs.ToolTip = dim + "%";
                }
            }
            else
            {
                rs.Visible = false;
            }
        }
        /// <summary>
        /// Gets the row's CSS class.
        /// </summary>
        /// <param name="DataList">The data list.</param>
        /// <param name="Item">The current item.</param>
        /// <returns>The CSS class.</returns>
        /// <remarks>
        /// Added 10/31/2007 by SelArom based on similar code for GridView control.
        /// </remarks>
        private string GetRowClass(DataList list, DataListItem item)
        {
            string className = item.CssClass;

            if (list.ItemStyle != null)
            {
                className += list.ItemStyle.CssClass;
            }

            switch (item.ItemType)
            {
                case ListItemType.Item:
                    className += " AspNet-DataList-Item ";
                    if (list.ItemStyle != null)
                    {
                        className += list.AlternatingItemStyle.CssClass;
                    }
                    break;
                case ListItemType.AlternatingItem:
                    className += " AspNet-DataList-Alternate ";
                    if (list.AlternatingItemStyle != null)
                    {
                        className += list.AlternatingItemStyle.CssClass;
                    }
                    break;
                case ListItemType.EditItem:
                    className += " AspNet-DataList-EditItem ";
                    if (list.EditItemStyle != null)
                    {
                        className += list.EditItemStyle.CssClass;
                    }
                    break;
                case ListItemType.SelectedItem:
                    className += " AspNet-DataList-SelectedItem ";
                    if (list.SelectedItemStyle != null)
                    {
                        className += list.SelectedItemStyle.CssClass;
                    }
                    break;
            }

            return className.Trim();
        }
Ejemplo n.º 41
0
        protected internal override void PrepareControlHierarchy()
        {
            ControlCollection controls = this.Controls;
            int count = controls.Count;

            if (count != 0)
            {
                Style s = null;
                if (this.alternatingItemStyle != null)
                {
                    s = new TableItemStyle();
                    s.CopyFrom(this.itemStyle);
                    s.CopyFrom(this.alternatingItemStyle);
                }
                else
                {
                    s = this.itemStyle;
                }
                for (int i = 0; i < count; i++)
                {
                    DataListItem item        = (DataListItem)controls[i];
                    Style        headerStyle = null;
                    switch (item.ItemType)
                    {
                    case ListItemType.Header:
                        if (this.ShowHeader)
                        {
                            headerStyle = this.headerStyle;
                        }
                        goto Label_015B;

                    case ListItemType.Footer:
                        if (this.ShowFooter)
                        {
                            headerStyle = this.footerStyle;
                        }
                        goto Label_015B;

                    case ListItemType.Item:
                        headerStyle = this.itemStyle;
                        goto Label_015B;

                    case ListItemType.AlternatingItem:
                        headerStyle = s;
                        goto Label_015B;

                    case ListItemType.SelectedItem:
                        headerStyle = new TableItemStyle();
                        if ((item.ItemIndex % 2) == 0)
                        {
                            break;
                        }
                        headerStyle.CopyFrom(s);
                        goto Label_0100;

                    case ListItemType.EditItem:
                        headerStyle = new TableItemStyle();
                        if ((item.ItemIndex % 2) == 0)
                        {
                            goto Label_0128;
                        }
                        headerStyle.CopyFrom(s);
                        goto Label_0134;

                    case ListItemType.Separator:
                        headerStyle = this.separatorStyle;
                        goto Label_015B;

                    default:
                        goto Label_015B;
                    }
                    headerStyle.CopyFrom(this.itemStyle);
Label_0100:
                    headerStyle.CopyFrom(this.selectedItemStyle);
                    goto Label_015B;
Label_0128:
                    headerStyle.CopyFrom(this.itemStyle);
Label_0134:
                    if (item.ItemIndex == this.SelectedIndex)
                    {
                        headerStyle.CopyFrom(this.selectedItemStyle);
                    }
                    headerStyle.CopyFrom(this.editItemStyle);
Label_015B:
                    if (headerStyle != null)
                    {
                        if (!this.extractTemplateRows)
                        {
                            item.MergeStyle(headerStyle);
                        }
                        else
                        {
                            IEnumerator enumerator = item.Controls.GetEnumerator();
                            while (enumerator.MoveNext())
                            {
                                Control current = (Control)enumerator.Current;
                                if (current is Table)
                                {
                                    IEnumerator enumerator2 = ((Table)current).Rows.GetEnumerator();
                                    while (enumerator2.MoveNext())
                                    {
                                        ((TableRow)enumerator2.Current).MergeStyle(headerStyle);
                                    }
                                    break;
                                }
                            }
                        }
                    }
                }
            }
        }
		public DataListCommandEventArgs(DataListItem item, object commandSource, CommandEventArgs originalArgs): base(originalArgs)
		{
			dlItem = item;
			cmdSrc = commandSource;
		}
Ejemplo n.º 43
0
 public DataListCommandEventArgs(DataListItem item, object commandSource, CommandEventArgs originalArgs) : base(originalArgs)
 {
     this.item          = item;
     this.commandSource = commandSource;
 }
 public DataListCommandEventArgs (DataListItem item, Object commandSource, CommandEventArgs originalArgs) : base (default(CommandEventArgs))
 {
   Contract.Ensures (originalArgs.CommandName.Length >= 0);
 }