public ActionResult EditContact(string id, ServiceAlertContactsInfo obj)
        {
            var rm = new ReturnMessage();

            try
            {
                if (string.IsNullOrWhiteSpace(obj._id) || string.IsNullOrWhiteSpace(obj.Tel))
                {
                    rm.Message = "缺少必填字段:姓名、手机号等";
                    return(Json(rm));
                }
                if (!RegTel.IsMatch(obj.Tel))
                {
                    rm.Message = "手机号格式错误";
                    return(Json(rm));
                }
                if (!string.IsNullOrWhiteSpace(obj.Email) && !RegEmail.IsMatch(obj.Email))
                {
                    rm.Message = "邮箱格式错误";
                    return(Json(rm));
                }

                var query = Query.And(Query.EQ("UserName", obj.UserName), Query.EQ("ServiceId", obj.ServiceId), Query.Not(Query.EQ("_id", obj._id)));


                rm.IsSuccess = AppService.UpsertServiceAlertContactsInfos(obj);
            }
            catch (Exception ex)
            {
                LogManager.Error(ex);
                rm.Message = "保存失败!";
            }

            return(Json(rm));
        }
        /// <summary>
        /// 根据id获取App联系人信息
        /// </summary>
        /// <returns></returns>
        public ServiceAlertContactsInfo GetServiceAlertContactsInfoById(string id)
        {
            ServiceAlertContactsInfo obj = null;

            try
            {
                IMongoQuery query = Query.EQ("_id", id);
                obj = DBContext.Mongo.FindOne <ServiceAlertContactsInfo>(DBName_BSTAM, TableName_ServiceAlert, query);
            }
            catch (Exception ex)
            {
                LogManager.Error(ex);
            }
            return(obj);
        }
        /// <summary>
        /// 添加或新增App联系人信息
        /// </summary>
        /// <param name="obj"></param>
        /// <returns></returns>
        public bool UpsertServiceAlertContactsInfos(ServiceAlertContactsInfo obj)
        {
            bool ret = false;

            if (obj == null)
            {
                return(ret);
            }
            try
            {
                ret = DBContext.Mongo.Upsert <ServiceAlertContactsInfo>(DBName_BSTAM, TableName_ServiceAlert, obj);
            }
            catch (Exception ex)
            {
                LogManager.Error(ex);
            }
            return(ret);
        }
        public ActionResult CreateContact(ServiceAlertContactsInfo obj, string isContinue)
        {
            var rm = new ReturnMessage();

            try
            {
                obj._id = Guid.NewGuid().ToString();
                if (string.IsNullOrWhiteSpace(obj.UserName) || string.IsNullOrWhiteSpace(obj.Tel))
                {
                    rm.Message = "缺少必填字段:姓名、手机号等";
                    return(Json(rm));
                }
                if (!RegTel.IsMatch(obj.Tel))
                {
                    rm.Message = "手机号格式错误";
                    return(Json(rm));
                }
                if (!string.IsNullOrWhiteSpace(obj.Email) && !RegEmail.IsMatch(obj.Email))
                {
                    rm.Message = "邮箱格式错误";
                    return(Json(rm));
                }

                var query = new QueryDocument {
                    { "UserName", obj.UserName }, { "ServiceId", obj.ServiceId }
                };
                if (AppService.CheckServiceAlertContactsInfos(query) > 0)
                {
                    rm.Message = "该用户已经存在报警清单中";
                }
                else
                {
                    rm.IsSuccess  = AppService.UpsertServiceAlertContactsInfos(obj);
                    rm.IsContinue = isContinue != "0";
                }
            }
            catch (Exception ex)
            {
                LogManager.Error(ex);
                rm.Message = "保存失败!";
            }

            return(Json(rm));
        }
        public ActionResult CreateContact(ServiceAlertContactsInfo obj, string IsContinue)
        {
            ReturnMessage RM = new ReturnMessage();

            try
            {
                obj._id = Guid.NewGuid().ToString();
                if (string.IsNullOrWhiteSpace(obj.UserName) || string.IsNullOrWhiteSpace(obj.Tel))
                {
                    RM.Message = "缺少必填字段:姓名、手机号等";
                    return(Json(RM));
                }
                if (!reg_tel.IsMatch(obj.Tel))
                {
                    RM.Message = "手机号格式错误";
                    return(Json(RM));
                }
                if (!string.IsNullOrWhiteSpace(obj.Email) && !reg_email.IsMatch(obj.Email))
                {
                    RM.Message = "邮箱格式错误";
                    return(Json(RM));
                }

                QueryDocument query = new QueryDocument();
                query.Add("UserName", obj.UserName);
                query.Add("ServiceId", obj.ServiceId);
                if (appService.CheckServiceAlertContactsInfos(query) > 0)
                {
                    RM.Message = "该用户已经存在报警清单中";
                }
                else
                {
                    RM.IsSuccess  = appService.UpsertServiceAlertContactsInfos(obj);
                    RM.IsContinue = IsContinue == "0" ? false : true;;
                }
            }
            catch (Exception ex)
            {
                LogManager.Error(ex);
                RM.Message = "保存失败!";
            }

            return(Json(RM));
        }
        public bool SyncAlertData(int id)
        {
            bool ret = false;

            try
            {
                IMongoQuery query = Query.EQ("ServiceId", id);


                List <ServiceAlertContactsInfo> list = DBContext.Mongo.Find <ServiceAlertContactsInfo>(DBName_BSTAM, TableName_ServiceAlert, query);
                if (list.Count > 0)
                {
                    var model = BusinessContext.ServiceList.GetModel(id);

                    query = Query.And(Query.EQ("PrimaryId", model.PrimaryId), Query.Not(Query.EQ("_id", id)));

                    List <ServiceEntity> sList = DBContext.Mongo.Find <ServiceEntity>(DBName_BSTAM, TableName_ServiceList, query);

                    List <ServiceAlertContactsInfo> rList = new List <ServiceAlertContactsInfo>();

                    sList.ForEach(k => {
                        list.ForEach(l => {
                            ServiceAlertContactsInfo m = (ServiceAlertContactsInfo)l.Clone();
                            m._id       = Guid.NewGuid().ToString();
                            m.ServiceId = Convert.ToInt32(k._id);
                            m.PrimaryId = k.PrimaryId;
                            rList.Add(m);
                        });
                    });
                    query = Query.And(Query.EQ("PrimaryId", model.PrimaryId), Query.Not(Query.EQ("ServiceId", id)));
                    DBContext.Mongo.Remove(DBName_BSTAM, TableName_ServiceAlert, query);
                    ret = DBContext.Mongo.InsertBatch(DBName_BSTAM, TableName_ServiceAlert, rList) == rList.Count;
                }
            }
            catch (Exception ex)
            {
                LogManager.Error(ex);
            }
            return(ret);
        }
        public ActionResult EditContact(string id)
        {
            ServiceAlertContactsInfo obj = appService.GetServiceAlertContactsInfoById(id);

            return(View(obj));
        }