public ActionResult InsertRoomRepair(MeetingRoomRepairView objModel)
        {
            var appId   = CommonService.GetSysConfig("RoomRepairAppID", "");
            var lillyId = ViewBag.LillyId;

            if (string.IsNullOrEmpty(lillyId))
            {
                return(Redirect("/notauthed.html"));
            }

            List <GetMemberResult> userlist = WeChatCommonService.lstUser;
            var emp = userlist.SingleOrDefault(a => a.userid.Equals(lillyId, StringComparison.InvariantCultureIgnoreCase));

            if (emp != null)
            {
                objModel.RepairName  = emp.name;
                objModel.RepairEmail = emp.email;
                objModel.RepairPhone = emp.mobile;
            }
            objModel.CreatedUserID = lillyId;

            objModel.Type  = objModel.checkboxlist;
            objModel.AppId = int.Parse(appId);

            if (objModel.RepairType == "0") //0 自行解决 , 1 IT解决
            {
                objModel.Status = "1";      //已修复
            }
            else
            {
                objModel.Status = "0";//未修复
            }

            int id = _objRepairService.InsertViewData(objModel);

            if (id > 0)
            {
                if (objModel.RepairType == "1")
                {
                    SendEmail(objModel, id);
                    SendWeChatMessage(objModel, id);
                }

                return(Json(new { rtnId = objModel.Id, str = "Insert Success." }, JsonRequestBehavior.AllowGet));
            }
            else
            {
                return(Json(new { rtnId = objModel.Id, str = "Insert Failure." }, JsonRequestBehavior.AllowGet));
            }
        }
        private void SendWeChatMessage(MeetingRoomRepairView objModel, int id)
        {
            //string reply = string.Empty;
            //string msg = string.Empty;
            var    appId             = CommonService.GetSysConfig("RoomRepairAppID", "");
            string RoomRepairLillyID = CommonService.GetSysConfig("RoomRepairLillyID", "");
            var    jsonString        = CommonService.GetSysConfig("RoomRepairEmail", "");
            string repairType        = CommonService.GetSysConfig("RepairType", "");
            var    js                         = new JavaScriptSerializer();
            object jsonResult                 = null;
            var    WechatMessageTemplate      = "";
            var    WechatMessageTemplateOther = "";

            jsonResult = js.Deserialize <object>(jsonString);
            var fullResult = jsonResult as Dictionary <string, object>;

            if (fullResult != null)
            {
                WechatMessageTemplate      = fullResult["WechatMessageTemplate"] as string;
                WechatMessageTemplateOther = fullResult["WechatMessageTemplate-other"] as string;
            }

            if (objModel != null)
            {
                if (string.IsNullOrEmpty(objModel.Comment))
                {
                    WechatMessageTemplate = WechatMessageTemplate.Replace("#Location#", objModel.Location).Replace("#RoomName#", objModel.RoomName).Replace("#Type#", RepairType(objModel.Type))
                                            .Replace("#RepairID#", objModel.CreatedUserID).Replace("#RepairName#", objModel.RepairName).Replace("#RepairEmail#", objModel.RepairEmail);

                    _Logger.Error <string>(string.Format("SendWeChatMessage_MeetingRoomRepair:{0}", WechatMessageTemplate));
                    WechatCommon.SendMsg(int.Parse(appId), "text", RoomRepairLillyID, "", "", WechatMessageTemplate, null);
                }
                else
                {
                    WechatMessageTemplateOther = WechatMessageTemplateOther.Replace("#Location#", objModel.Location).Replace("#RoomName#", objModel.RoomName).Replace("#Type#", RepairType(objModel.Type))
                                                 .Replace("#RepairID#", objModel.CreatedUserID).Replace("#RepairName#", objModel.RepairName).Replace("#RepairEmail#", objModel.RepairEmail).Replace("#RepairComment#", objModel.Comment);

                    _Logger.Error <string>(string.Format("SendWeChatMessage_MeetingRoomRepair:{0}", WechatMessageTemplateOther));
                    WechatCommon.SendMsg(int.Parse(appId), "text", RoomRepairLillyID, "", "", WechatMessageTemplateOther, null);
                }
            }
        }
        private bool SendEmail(MeetingRoomRepairView objModel, int id)
        {
            var    jsonString = CommonService.GetSysConfig("RoomRepairEmail", "");
            string repairType = CommonService.GetSysConfig("RepairType", "");
            string title      = string.Empty;
            string content    = string.Empty;

            var    EmailReceiver      = "";
            var    EmailEnableSsl     = false;
            var    EmailHost          = "";
            var    EmailPassword      = "";
            var    EmailUserName      = "";
            var    EmailPort          = "";
            var    EmailSender        = "";
            var    EmailEnable        = true;
            var    EmailTitle         = "";
            var    EmailTemplate      = "";
            var    EmailTemplateOther = "";
            object jsonResult         = null;

            var js = new JavaScriptSerializer();

            jsonResult = js.Deserialize <object>(jsonString);
            var fullResult = jsonResult as Dictionary <string, object>;

            if (fullResult != null)
            {
                EmailReceiver      = fullResult["EmailReceiver"] as string;
                EmailEnableSsl     = bool.Parse(fullResult["EmailEnableSsl"].ToString());
                EmailHost          = fullResult["EmailHost"] as string;
                EmailPassword      = fullResult["EmailPassword"] as string;
                EmailUserName      = fullResult["EmailUserName"] as string;
                EmailPort          = fullResult["EmailPort"] as string;
                EmailSender        = fullResult["EmailSender"] as string;
                EmailEnable        = bool.Parse(fullResult["EmailEnable"].ToString());
                EmailTitle         = fullResult["EmailTitle"] as string;
                EmailTemplate      = fullResult["EmailTemplate"] as string;
                EmailTemplateOther = fullResult["EmailTemplate-other"] as string;
            }

            var set = new EmailMessageSettingsRecord()
            {
                Host               = EmailHost,
                UserName           = EmailUserName,
                Password           = EmailPassword,
                Port               = int.Parse(EmailPort),
                EnableSsl          = EmailEnableSsl,
                Enable             = EmailEnable,
                DeliveryMethod     = "Network",
                Address            = EmailSender,
                RequireCredentials = true
            };
            var ser = new EmailMessageService(set);

            if (objModel != null)
            {
                if (string.IsNullOrEmpty(objModel.Comment))
                {
                    EmailTemplate = EmailTemplate.Replace("#Location#", objModel.Location).Replace("#RoomName#", objModel.RoomName).Replace("#Type#", RepairType(objModel.Type))
                                    .Replace("#RepairID#", objModel.CreatedUserID).Replace("#RepairName#", objModel.RepairName).Replace("#RepairEmail#", objModel.RepairEmail);

                    ser.SendMessage(EmailSender, EmailReceiver, EmailTitle, EmailTemplate);
                    _Logger.Error <string>(string.Format("SendEmail_meetingRoomRepair:{0}", EmailSender + "/" + EmailTitle + "/" + EmailTemplate));
                }
                else
                {
                    EmailTemplateOther = EmailTemplateOther.Replace("#Location#", objModel.Location).Replace("#RoomName#", objModel.RoomName).Replace("#Type#", RepairType(objModel.Type))
                                         .Replace("#RepairID#", objModel.CreatedUserID).Replace("#RepairName#", objModel.RepairName).Replace("#RepairEmail#", objModel.RepairEmail).Replace("#RepairComment#", objModel.Comment);

                    ser.SendMessage(EmailSender, EmailReceiver, EmailTitle, EmailTemplateOther);
                    _Logger.Error <string>(string.Format("SendEmail_meetingRoomRepair:{0}", EmailSender + "/" + EmailTitle + "/" + EmailTemplateOther));
                }
            }


            return(true);
        }