Example #1
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);
                }
            }
        }
        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;
            }
        }
Example #3
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;
        }
Example #4
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();
            }
        }
Example #5
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;
            }
        }