示例#1
0
        public static EF6.StaffSmartTag Get(Guid staffid, Guid tagId)
        {
            EF6.StaffSmartTag result = null;

            using (var ctx = new EF6.RT2020Entities())
            {
                var item = ctx.StaffSmartTag.Where(x => x.StaffId == staffid && x.TagId == tagId).AsNoTracking().FirstOrDefault();
                if (item != null) result = item;
            }

            return result;
        }
示例#2
0
        /// <summary>
        /// Save Smart Tag inputs of this Staff, varies by typeof Control
        /// </summary>
        /// <param name="staffId"></param>
        /// <param name="Ctrl"></param>
        public static void SaveSmartTagValue(Guid staffId, Control Ctrl)
        {
            string sql = "StaffId = '" + staffId.ToString() + "' AND TagId = '{0}'";
            string key = "SmartTag";
            Guid tagId = Guid.Empty;
            string value = string.Empty;

            if (Ctrl != null && Ctrl.Name.Contains(key))
            {
                if (Ctrl.Tag != null)
                {
                    #region typeof TextBox
                    if (Ctrl.GetType().Equals(typeof(TextBox)))
                    {
                        TextBox txtTag = Ctrl as TextBox;
                        tagId = (Guid)txtTag.Tag;
                        value = txtTag.Text;
                    }
                    #endregion

                    #region typeof MaskedTextBox
                    if (Ctrl.GetType().Equals(typeof(MaskedTextBox)))
                    {
                        MaskedTextBox txtTag = Ctrl as MaskedTextBox;
                        tagId = (Guid)txtTag.Tag;
                        value = txtTag.Text;
                    }
                    #endregion

                    #region typeof ComboBox
                    if (Ctrl.GetType().Equals(typeof(ComboBox)))
                    {
                        ComboBox cboTag = Ctrl as ComboBox;
                        tagId = (Guid)cboTag.Tag;
                        // 2020.12.28 paulus: 如果係 combo box,個 value = dbo.SmartTag_Options.OptionId
                        //value = cboTag.Text;
                        value = (Guid)cboTag.SelectedValue == Guid.Empty ? "" : cboTag.SelectedValue.ToString();
                    }
                    #endregion

                    #region typeof DateTimePicker
                    if (Ctrl.GetType().Equals(typeof(DateTimePicker)))
                    {
                        DateTimePicker dtpTag = Ctrl as DateTimePicker;
                        tagId = (Guid)dtpTag.Tag;
                        //value = dtpTag.Value.ToString("yyyy-MM-dd");
                        //2014.01.08 paulus: 可以唔輸入 birthday,先決 ShowCheckBox,再睇吓有冇 Checked
                        if (dtpTag.ShowCheckBox)
                        {
                            value = (dtpTag.Checked) ? dtpTag.Value.ToString("yyyy-MM-dd") : String.Empty;
                        }
                        else
                        {
                            value = dtpTag.Value.ToString("yyyy-MM-dd");
                        }
                    }
                    #endregion

                    using (var ctx = new EF6.RT2020Entities())
                    {
                        var oTag = ctx.StaffSmartTag.Where(x => x.StaffId == staffId && x.TagId == tagId).FirstOrDefault();
                        if (oTag == null)
                        {
                            oTag = new EF6.StaffSmartTag();
                            oTag.SmartTagId = Guid.NewGuid();
                            oTag.StaffId = staffId;
                            oTag.TagId = tagId;

                            ctx.StaffSmartTag.Add(oTag);
                        }
                        oTag.SmartTagValue = value;
                        ctx.SaveChanges();
                    }
                }
            }
        }