Example #1
0
        protected void btnOK_Click(object sender, EventArgs e)
        {
            try
            {
                EquipmentInfo equipmentData = EquipmentInfo.GetEquipmentByName(mEQP.EquipmentName);

                if (mEQP.Tag != equipmentData.Tag)
                {
                    throw new RuleCimesException(TextMessage.Error.T00747(""));
                }

                string             EqpID          = ciEquipment.Must(lblEquipment);
                string             Reason         = csReason.Must(lblReasonCode).Value;
                EquipmentStateInfo equipmentState = EquipmentStateInfo.GetEquipmentStateByState(ddlNewState.Must(lblNewState).Text);

                var txnStamp = new TransactionStamp(User.Identity.Name, ProgramRight, ProgramRight, this.ApplicationName);
                var rcData   = csReason.GetBusinessReason().CategoryReason;
                txnStamp.CategoryReasonCode = rcData;
                txnStamp.Description        = ttbDesc.Text.Trim();

                #region 檢查是否有設定機台變更狀態警報,若有,則發送警報
                //使用Function取得ALM設定,可彈性使用
                //取得機台狀態警報設定,預設是抓取系統資料設定[EquipStateAlarm]
                AlarmTypeInfo AlarmType = RuleExtendManager.GetEquipmentChangeStateAlarm(equipmentData, ddlNewState.Must(lblNewState).Text);
                string        ALMsg     = @"[Subject:{0}][Content:{1}:{2};   {3}:{4};   {5}:{6};   {7}:{8};   {9}:{10}]";
                if (AlarmType != null)
                {
                    // "[Content:TEST][Subject:TEST]"
                    ALMsg = string.Format(ALMsg, ProgramInformationBlock1.Caption, lblEquipment.Text, mEQP.EquipmentName, lblOldState.Text, mEQP.CurrentState, lblNewState.Text, equipmentState.State, lblReasonCode.Text, rcData.Reason, lblDescription.Text, txnStamp.Description);
                }
                #endregion

                using (var cts = CimesTransactionScope.Create())
                {
                    EMSTransaction.ChangeState(equipmentData, equipmentState, txnStamp);
                    RuleExtendManager.EquipmentTxnEnd(equipmentData);
                    cts.Complete();
                }

                #region 發送警報
                if (AlarmType != null)
                {
                    AlarmService WebServiceALM = new AlarmService();

                    string url = "http://" + Request.Url.Host + Request.ApplicationPath + "/ALM/Services/AlarmService.asmx";

                    WebServiceALM.Url = url;
                    string ReturnMsg = WebServiceALM.LaunchAlarm(AlarmType.GroupRights, AlarmType.TYPE, ALMsg, txnStamp.RecordTime, "UI", User.Identity.Name);
                }
                #endregion

                Response.Redirect(ciMes.Security.UserSetting.GetPreviousListPage(this), false);
            }
            catch (Exception ex)
            {
                HandleError(ex);
            }
        }
Example #2
0
        public IList <AlarmTypeInfo> GetAlarmTypes()
        {
            DataTable tb = getAlarmTypes();

            List <AlarmTypeInfo> lst = new List <AlarmTypeInfo>();

            if (tb != null && tb.Rows.Count > 0)
            {
                foreach (DataRow row in tb.Rows)
                {
                    AlarmTypeInfo info = new AlarmTypeInfo();
                    info.DID  = int.Parse(row[0].ToString());
                    info.Type = row[1].ToString();

                    lst.Add(info);
                }
            }
            return(lst);
        }
Example #3
0
 public static AlarmTypeModel ToModel(this AlarmTypeInfo entity)
 {
     return(Mapper.Map <AlarmTypeInfo, AlarmTypeModel>(entity));
 }