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; }
/// <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(); } } } }