Ejemplo n.º 1
0
        /// <summary>
        /// 修改父级事件
        /// </summary>
        /// <param name="eventName"></param>
        /// <param name="eventContent"></param>
        /// <param name="startTime"></param>
        /// <param name="endTime"></param>
        /// <param name="id"></param>
        /// <returns></returns>
        public EventRet UpdateRootEvent(string eventName, string eventContent, int startTime, int endTime, int id)
        {
            EventRet ret = new EventRet();

            try
            {
                List <BaseEventTypeModel> eventList = _baseEventTypeDal.GetEntities(); //查找全部事件
                var sEvent = eventList.FirstOrDefault(n => n.id == id);                //查找自身
                if (sEvent != null)
                {
                    eventList.Remove(sEvent);                                                 //移除自身
                    var checkName = eventList.FirstOrDefault(n => n.event_name == eventName); //判断事件名称是否重复
                    if (checkName != null)
                    {
                        ret.state   = -1;
                        ret.message = "事件名称重复";
                        return(ret);
                    }
                    else
                    {
                        return(_baseEventTypeDal.UpdateRootEvent(eventName, eventContent, startTime, endTime, id));
                    }
                }
                else
                {
                    ret.state   = -1;
                    ret.message = "事件不存在";
                    return(ret);
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Ejemplo n.º 2
0
	/// <summary>
	/// Update this instance.
	/// </summary>
	public override void Update()
	{
		if (null != hero.AnimCmp && !hero.AnimCmp.IsFighting() )
		{
			hero.property.fightHp = hero.property.hp;
		}
		
		action.speed = hero.Speed;
		action.isLock = isLock;
		action.deltaSpace = deltaSpace;
		action.Update();
        EventRet ret = hero.DispatchEvent(ControllerCommand.IsPlayingActionFinish, hero.CharacterStateName(CharacterState.MOVE1));
		float _time = action.speed / commonSpeed;
		if( hero.AnimCmp.IsSpeedStackEmpty() )
			hero.AnimCmp.SetSpeed(_time);
        bool b = (bool)ret.GetReturn<AnimationComponent>();
		if(b)
		{
			hero.DispatchEvent(ControllerCommand.CrossFadeAnimation,hero.CharacterStateName(CharacterState.MOVE1));
		}
		if(action.IsFinish())
		{
            hero.DispatchEvent(ControllerCommand.CrossFadeAnimation, hero.CharacterStateName(CharacterState.IDLE1));
			return;
		}
		
	}
        /// <summary>
        /// 增加处理记录并修改告警记录状态
        /// </summary>
        /// <param name="alarmId"></param>
        /// <param name="personId"></param>
        /// <param name="context"></param>
        /// <param name="status"></param>
        /// <returns></returns>
        public bool AddInformAlarmHandleRecord(int alarmId, int personId, string context, int status)
        {
            try
            {
                ServInformAlarmHandleRecordModel model = new ServInformAlarmHandleRecordModel();
                string contextUpdate = "";
                switch (status)
                {
                case (int)EnumClass.InformAlarmStatus.处理中: contextUpdate = "[处理中]" + context; break;

                case (int)EnumClass.InformAlarmStatus.已处理: contextUpdate = "[已处理]" + context; break;

                default: contextUpdate = context; break;
                }
                model.handle_content  = contextUpdate;
                model.handle_person   = personId;
                model.handle_time     = DateTime.Now;
                model.inform_alarm_id = alarmId;
                EventRet ret = informAlarmHandleRecordDal.AddRecordAndUpdateInformAlarmStatus(model, alarmId, status);
                if (ret.state == 0)
                {
                    return(true);
                }
                else
                {
                    return(false);
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Ejemplo n.º 4
0
    public bool IsActionFinish()
    {
        EventRet ret = hero.DispatchEvent(ControllerCommand.IsPlayingActionFinish, animArys[0]);
        bool     b   = (bool)ret.GetReturn <AnimationComponent>();

        return(b);
    }
Ejemplo n.º 5
0
        //根据PID删除事件(批量删除)
        public EventRet DeleteEventByPid(int pid)
        {
            EventRet ret = new EventRet();

            try
            {
                int count = _baseEventTypeDal.GetEventCount(pid);
                if (count > 0)
                {
                    int res = _baseEventTypeDal.DeleteEventByPid(pid);
                    if (res > 0)
                    {
                        ret.message = "删除子级事件成功";
                        ret.state   = 0;
                    }
                    else
                    {
                        ret.message = "删除子级事件失败";
                        ret.state   = -1;
                    }
                    return(ret);
                }
                else
                {
                    ret.message = "未含有子级事件";
                    ret.state   = -1;
                    return(ret);
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Ejemplo n.º 6
0
    public void KeepActionPlay()
    {
        EventRet ret = hero.DispatchEvent(ControllerCommand.IsPlayingActionFinish, animArys[0]);
        bool     b   = (bool)ret.GetReturn <AnimationComponent>();

        if (b)
        {
            hero.DispatchEvent(ControllerCommand.CrossFadeAnimation, animArys[0]);
        }
    }
Ejemplo n.º 7
0
        /// <summary>
        /// 修改子级事件
        /// </summary>
        /// <param name="id"></param>
        /// <param name="eventName"></param>
        /// <param name="eventCode"></param>
        /// <param name="eventContent"></param>
        /// <returns></returns>
        public EventRet UpdateChildEvent(int pid, int id, string eventName, string eventCode, string eventContent)
        {
            EventRet ret = new EventRet();

            try
            {
                List <BaseEventTypeModel> eventList = _baseEventTypeDal.GetEntities();
                var sEvent = eventList.FirstOrDefault(n => n.id == id);  //查找自身
                if (sEvent != null)
                {
                    eventList.Remove(sEvent);  //移除自身
                }
                var checkCode = eventList.FirstOrDefault(n => n.event_code == eventCode);
                var checkName = eventList.FirstOrDefault(n => n.event_name == eventName);


                if (checkCode != null) //校验事件编码
                {
                    ret.state   = -1;
                    ret.message = "事件编码重复";
                    return(ret);
                }
                if (checkName != null)  //校验事件名称
                {
                    ret.state   = -1;
                    ret.message = "事件名称重复";
                    return(ret);
                }
                BaseEventTypeModel model = new BaseEventTypeModel();
                model.id         = id;
                model.content    = eventContent;
                model.event_code = eventCode;
                model.event_name = eventName;
                model.pid        = pid;
                int res = _baseEventTypeDal.UpdateBaseEventTypeById(model);
                if (res > 0)  //判断是否修改成功
                {
                    ret.state   = 0;
                    ret.message = "事件修改成功";
                    return(ret);
                }
                else
                {
                    ret.state   = -1;
                    ret.message = "事件修改失败";
                    return(ret);
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Ejemplo n.º 8
0
        /// <summary>
        /// 添加父级事件
        /// </summary>
        /// <param name="eventName"></param>
        /// <param name="eventContent"></param>
        /// <param name="startTime"></param>
        /// <param name="endTime"></param>
        /// <returns></returns>
        public EventRet AddRootEntity(string eventName, string eventContent, int startTime, int endTime)
        {
            EventRet ret = new EventRet();

            mapContext.BeginTransaction(System.Data.IsolationLevel.ReadUncommitted);//创建事务
            try
            {
                BaseEventTypeModel eventModel = new BaseEventTypeModel();
                eventModel.content    = eventContent;
                eventModel.event_code = "";
                eventModel.event_name = eventName;
                eventModel.pid        = -1;
                int eventId = AddEntity(eventModel);  //添加事件
                if (eventId > 0)
                {
                    ServAlarmVideoTimeModel timeModel = new ServAlarmVideoTimeModel();
                    timeModel.end_time   = endTime;
                    timeModel.event_id   = eventId;
                    timeModel.start_time = startTime;
                    int timeId = (int)mapContext.Insert("InsertAlarmVideoTime", timeModel);  //添加事件对应视频下载时间
                    if (timeId > 0)
                    {
                        mapContext.CommitTransaction();
                        ret.message = "事件添加成功";
                        ret.state   = 0;
                        return(ret);
                    }
                    else
                    {
                        mapContext.RollBackTransaction();
                        ret.message = "视频下载时间添加失败";
                        ret.state   = -1;
                        return(ret);
                    }
                }
                else
                {
                    mapContext.RollBackTransaction();
                    ret.message = "事件添加失败";
                    ret.state   = -1;
                    return(ret);
                }
            }
            catch (Exception ex)
            {
                mapContext.RollBackTransaction();
                throw ex;
            }
            finally
            {
                // mapContext.CloseConnection();
            }
        }
Ejemplo n.º 9
0
 /// <summary>
 /// 修改应急电话组
 /// </summary>
 /// <param name="regionId"></param>
 /// <param name="oldGroupName"></param>
 /// <param name="newGroupName"></param>
 /// <returns></returns>
 public EventRet UpdateGroupNameByRegionId(int regionId, string oldGroupName, string newGroupName)
 {
     try
     {
         int      configId = -1;
         EventRet ret      = new EventRet();
         List <EmergencyPhoneCustom> list = GetEmergencyConfig(regionId, out configId);
         if (list != null && list.Count > 0)
         {
             if (list.Where(n => n.groupName == newGroupName).FirstOrDefault() != null)
             {
                 ret.message = "修改的电话组名称重复";
                 ret.state   = 1;
             }
             else
             {
                 if (list.Where(n => n.groupName == oldGroupName).FirstOrDefault() != null)
                 {
                     list.Where(n => n.groupName == oldGroupName).FirstOrDefault().groupName = newGroupName;
                     string xml = TranObjToXml(list);
                     int    res = UpdateEmergencyConfig(configId, regionId, xml);
                     if (res > 0)
                     {
                         ret.message = "修改电话组名称成功";
                         ret.state   = 0;
                     }
                     else
                     {
                         ret.message = "修改电话组名称失败";
                         ret.state   = 1;
                     }
                 }
                 else
                 {
                     ret.message = "未找到该园区应急电话组为" + oldGroupName + "的配置";
                     ret.state   = 1;
                 }
             }
         }
         else
         {
             ret.message = "未找到该园区应急电话配置";
             ret.state   = 1;
         }
         return(ret);
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
Ejemplo n.º 10
0
    public override void Update()
    {
        EventRet ret = hero.DispatchEvent(ControllerCommand.IsPlayingActionFinish, hitAnim);
        bool     b   = (bool)ret.GetReturn <AnimationComponent>();

        if (b)
        {
            isFinish = true;
        }
        if (null != action)
        {
            action.Update();
        }
    }
Ejemplo n.º 11
0
        public object OnMoveToDestination(params object[] objs)
        {
            if (objs.Length < 1)
            {
                return(null);
            }

            Vector3 _destination;

            _destination = (Vector3)objs[0];

            bool sendMessage = false;

            if (objs.Length >= 2)
            {
                sendMessage = Convert.ToBoolean(objs[1]);
            }

            if (Owner.property.isMainHero)
            {
                Owner.property.finalDestination = KingSoftCommonFunction.GetGoundHeight(_destination);
                AnimationComponent.OperaWalking = true;
            }

            EventRet ret  = Owner.DispatchEvent(ControllerCommand.TryFinishAction);
            bool     bRet = (bool)ret.GetReturn <AnimationComponent>();

            if (bRet)
            {
                ActionWalk walk = new ActionWalk(Owner);
                if (objs.Length >= 3)
                {
                    walk.deltaSpace = (float)(objs[3]);
                }
                walk.speed       = Owner.Speed;
                walk.IsPushStack = sendMessage;
                walk.endPosition = _destination;
                Owner.DispatchEvent(ControllerCommand.SetActiveAction, walk);
            }
            else
            {
                Owner.DispatchEvent(ControllerCommand.ActionMoveToDistance, _destination, Owner.Speed, sendMessage);
            }

            return(null);
        }
Ejemplo n.º 12
0
        /// <summary>
        /// 添加子级事件
        /// </summary>
        /// <param name="pid"></param>
        /// <param name="eventName"></param>
        /// <param name="eventCode"></param>
        /// <param name="eventContent"></param>
        /// <returns></returns>
        public EventRet AddChildEvent(int pid, string eventName, string eventCode, string eventContent)
        {
            EventRet ret = new EventRet();

            try
            {
                List <BaseEventTypeModel> eventList = _baseEventTypeDal.GetEntities();
                var checkCode = eventList.FirstOrDefault(n => n.event_code == eventCode);
                var checkName = eventList.FirstOrDefault(n => n.event_name == eventName);
                if (checkCode != null)
                {
                    ret.state   = -1;
                    ret.message = "事件编码重复";
                    return(ret);
                }
                if (checkName != null)  //校验事件名称
                {
                    ret.state   = -1;
                    ret.message = "事件名称重复";
                    return(ret);
                }
                BaseEventTypeModel model = new BaseEventTypeModel();
                model.content    = eventContent;
                model.event_code = eventCode;
                model.event_name = eventName;
                model.pid        = pid;
                int id = _baseEventTypeDal.AddEntity(model);
                if (id > 0)  //判断是否添加成功
                {
                    ret.state   = 0;
                    ret.message = "事件添加成功";
                    return(ret);
                }
                else
                {
                    ret.state   = -1;
                    ret.message = "事件添加失败";
                    return(ret);
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        /// <summary>
        /// 添加处理记录并修改记录状态
        /// </summary>
        /// <param name="entity"></param>
        /// <param name="alarmId"></param>
        /// <param name="status"></param>
        /// <returns></returns>
        public EventRet AddRecordAndUpdateInformAlarmStatus(ServInformAlarmHandleRecordModel entity, int alarmId, int status)
        {
            EventRet ret = new EventRet();

            mapContext.BeginTransaction(System.Data.IsolationLevel.ReadUncommitted);//创建事务
            try
            {
                int eventId = AddEntity(entity);  //添加处理记录
                if (eventId > 0)
                {
                    DBModelStateCustom stateCustom = new DBModelStateCustom();
                    stateCustom.id    = alarmId;
                    stateCustom.state = status;
                    int res = mapContext.Update("UpdateInformAlarmState", stateCustom);
                    if (res > 0)
                    {
                        mapContext.CommitTransaction();
                        ret.message = "添加处理记录成功,设置状态成功!";
                        ret.state   = 0;
                        return(ret);
                    }
                    else
                    {
                        mapContext.RollBackTransaction();
                        ret.message = "添加处理记录成功,设置状态失败!";
                        ret.state   = -1;
                        return(ret);
                    }
                }
                else
                {
                    mapContext.RollBackTransaction();
                    ret.message = "添加处理记录失败!";
                    ret.state   = -1;
                    return(ret);
                }
            }
            catch (Exception ex)
            {
                mapContext.RollBackTransaction();
                throw ex;
            }
        }
Ejemplo n.º 14
0
    /// <summary>
    /// Update this instance.
    /// </summary>
    public override void Update()
    {
        if (hasTarget && null == target)
        {
            isFinish = true;
            return;
        }
        if (hasTarget || ticker.IsEnable())
        {
            if (Vector3.Distance(endPosition, target.Position) > 0.3f)
            {
                Active();
            }
        }
        if (action.IsFinish())
        {
            if (!isFinish)
            {
                SceneEntity _hero = hero as SceneEntity;
                if (null == target)
                {
                    _hero.Action.SendSkill(skillId, endPosition);
                }
                else
                {
                    SceneEntity _target = target as SceneEntity;
                    _hero.Action.SendSkill(skillId, _target);
                }
                isFinish = true;
            }
            return;
        }
        action.speed      = hero.Speed;
        action.deltaSpace = deltaSpace;
        action.Update();
        EventRet ret  = hero.DispatchEvent(ControllerCommand.IsPlayingActionFinish, hero.CharacterStateName(CharacterState.MOVE1));
        bool     bRet = (bool)ret.GetReturn <AnimationComponent>();

        if (bRet)
        {
            hero.DispatchEvent(ControllerCommand.CrossFadeAnimation, hero.CharacterStateName(CharacterState.MOVE1));
        }
    }
Ejemplo n.º 15
0
    /// <summary>
    /// Update this instance.
    /// </summary>
    public override void Update()
    {
        string animName = "idle1";

        if (null != hero.AnimCmp && !hero.AnimCmp.IsFighting())
        {
            hero.property.fightHp = hero.property.hp;
            if (hero.HeroType == Assets.Scripts.Define.KHeroObjectType.hotPlayer)
            {
                animName = "idle2";
            }
        }
        EventRet ret = hero.DispatchEvent(ControllerCommand.IsPlayingActionFinish, animName, true);
        bool     b   = (bool)ret.GetReturn <AnimationComponent>();

        if (b)
        {
            hero.DispatchEvent(ControllerCommand.CrossFadeAnimation, animName, 0.3f);
        }
    }
Ejemplo n.º 16
0
    /// <summary>
    /// Update this instance.
    /// </summary>
    public override void Update()
    {
        if (ticker.IsEnable())
        {
            if (Vector3.Distance(endPosition, targetHero.Position) > 0.3f)
            {
                Active();
            }
        }
        if (action.IsFinish())
        {
            if (!isFinish)
            {
                if (null != targetHero)
                {
                    hero.DispatchEvent(ControllerCommand.REACH_NPC);
                    if (null != del)
                    {
                        hero.DispatchEvent(ControllerCommand.CrossFadeAnimation, hero.CharacterStateName(CharacterState.IDLE1));
                        del(targetHero);
                    }
                }
                isFinish = true;
            }

            return;
        }
        action.speed      = speed;
        action.isLock     = isLock;
        action.deltaSpace = deltaSpace;
        action.Update();
        EventRet ret  = hero.DispatchEvent(ControllerCommand.IsPlayingActionFinish, hero.CharacterStateName(CharacterState.MOVE1));
        bool     bRet = (bool)ret.GetReturn <AnimationComponent>();

        if (bRet)
        {
            hero.DispatchEvent(ControllerCommand.CrossFadeAnimation, hero.CharacterStateName(CharacterState.MOVE1));
        }
    }
Ejemplo n.º 17
0
        /// <summary>
        /// 删除父级事件
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public EventRet DeleteRootEvent(int id)
        {
            EventRet ret = new EventRet();

            try
            {
                BaseEventTypeModel eventModel = _baseEventTypeDal.GetEntity(id);
                if (eventModel != null)
                {
                    return(_baseEventTypeDal.DeleteRootEvent(id));
                }
                else
                {
                    ret.state   = -1;
                    ret.message = "事件不存在";
                    return(ret);
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Ejemplo n.º 18
0
        /// <summary>
        /// 新增父级事件
        /// </summary>
        /// <param name="eventName"></param>
        /// <param name="eventContent"></param>
        /// <param name="startTime"></param>
        /// <param name="endTime"></param>
        /// <returns></returns>
        public EventRet AddRootEvent(string eventName, string eventContent, int startTime, int endTime)
        {
            EventRet ret = new EventRet();

            try
            {
                List <BaseEventTypeModel> eventList = _baseEventTypeDal.GetEntities();
                var checkName = eventList.FirstOrDefault(n => n.event_name == eventName);
                if (checkName != null)
                {
                    ret.state   = -1;
                    ret.message = "事件名称重复";
                    return(ret);
                }
                else
                {
                    return(_baseEventTypeDal.AddRootEntity(eventName, eventContent, startTime, endTime));
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Ejemplo n.º 19
0
        public void OnSkill(ushort skillId)
        {
            AnimationComponent.OperaWalking = false;
            if (SkillLogic.GetInstance().RequestSkill(skillId))
            {
                KSkillDisplay skillDisplay = KConfigFileManager.GetInstance().GetSkillDisplay(skillId, (uint)SceneLogic.GetInstance().MainHero.Job);

                if (skillDisplay.Opera.CompareTo("NONE") == 0)
                {
                    SceneLogic.GetInstance().MainHero.Action.SendSkill(skillId);
                }
                else if (skillDisplay.Opera.CompareTo("TARGET") == 0)
                {
                    if (SceneLogic.GetInstance().MainHero.property.target != null && SceneLogic.GetInstance().MainHero.property.target.property.isCanAttack&& !SceneLogic.GetInstance().MainHero.property.target.property.isDeaded)
                    {
                        SceneLogic.GetInstance().MainHero.Action.MoveAndSkill(skillId, SceneLogic.GetInstance().MainHero.property.target);
                    }
                }
                else if (skillDisplay.Opera.CompareTo("DIR_RAND") == 0)
                {
                    EventRet ret  = SceneLogic.GetInstance().MainHero.DispatchEvent(ControllerCommand.TryFinishAction);
                    bool     bRet = (bool)ret.GetReturn <AnimationComponent>();
                    if (!bRet)
                    {
                        return;
                    }
                    ActiveSkillData skillVO = SkillLogic.GetInstance().GetActiveSkillVOByID(skillId);
                    KActiveSkill    skill   = KConfigFileManager.GetInstance().GetActiveSkill((uint)skillId, skillVO.Level);
                    if (null == skill)
                    {
                        return;
                    }
                    float   CastMinRange   = ((float)skill.CastMinRange) / 100f;
                    float   CastRange      = ((float)skill.CastRange) / 100f;
                    Vector3 currMousePoint = KingSoftCommonFunction.ScreenMouseToGround(SceneLogic.GetInstance().MainHero.Position);
                    currMousePoint = new Vector3(currMousePoint.x, SceneLogic.GetInstance().MainHero.Position.y, currMousePoint.z);
                    Vector3 dir = currMousePoint - SceneLogic.GetInstance().MainHero.Position;
                    dir = new Vector3(dir.x, 0, dir.z);
                    float f = Vector3.Distance(Vector3.zero, dir);
                    if (f < CastMinRange)
                    {
                        Vector3 dir2 = dir.normalized * CastMinRange;
                        currMousePoint = SceneLogic.GetInstance().MainHero.Position + dir2;
                    }
                    else if (f > CastRange)
                    {
                        Vector3 dir2 = dir.normalized * CastRange;
                        currMousePoint = SceneLogic.GetInstance().MainHero.Position + dir2;
                    }
                    Vector3 p        = KingSoftCommonFunction.NearPosition(currMousePoint);
                    Vector3 midPoint = SceneLogic.GetInstance().MainHero.Position + (p - SceneLogic.GetInstance().MainHero.Position) * 0.5f;
                    if (KingSoftCommonFunction.IsPointCanWalk(midPoint))
                    {
                        SceneLogic.GetInstance().MainHero.Action.SendSkill(skillId, p);
                    }
                }
                else if (skillDisplay.Opera.CompareTo("TARGET_DIR") == 0)
                {
                    EventRet ret  = SceneLogic.GetInstance().MainHero.DispatchEvent(ControllerCommand.TryFinishAction);
                    bool     bRet = (bool)ret.GetReturn <AnimationComponent>();
                    if (!bRet)
                    {
                        return;
                    }
                    ActiveSkillData skillVO = SkillLogic.GetInstance().GetActiveSkillVOByID(skillId);
                    KActiveSkill    skill   = KConfigFileManager.GetInstance().GetActiveSkill((uint)skillId, skillVO.Level);
                    if (null == skill)
                    {
                        return;
                    }
                    float   CastRange = 2f;
                    Vector3 currMousePoint;
                    if (SceneLogic.GetInstance().MainHero.property.target != null && SceneLogic.GetInstance().MainHero.property.target.property.isCanAttack&& !SceneLogic.GetInstance().MainHero.property.target.property.isDeaded)
                    {
                        currMousePoint = SceneLogic.GetInstance().MainHero.property.target.Position;
                    }
                    else
                    {
                        currMousePoint = KingSoftCommonFunction.ScreenMouseToGround(SceneLogic.GetInstance().MainHero.Position);
                    }

                    Vector3 dir = currMousePoint - SceneLogic.GetInstance().MainHero.Position;
                    dir = new Vector3(dir.x, 0, dir.z);
                    if (dir.x == 0 && dir.z == 0)
                    {
                        dir = new Vector3(0f, 1f, 0f);
                    }
                    float f = Vector3.Distance(Vector3.zero, dir);
                    SceneLogic.GetInstance().MainHero.Forward = dir;
                    Vector3 dir2 = dir.normalized * CastRange;
                    currMousePoint = SceneLogic.GetInstance().MainHero.Position + dir2;
                    Vector3 p = KingSoftCommonFunction.NearPosition(currMousePoint);
                    SceneLogic.GetInstance().MainHero.Action.SendSkill(skillId, p);
                }
            }
        }
Ejemplo n.º 20
0
 /// <summary>
 /// 删除电话配置
 /// </summary>
 /// <param name="regionId"></param>
 /// <param name="groupName"></param>
 /// <param name="telePhoneName"></param>
 /// <returns></returns>
 public EventRet DeleteTelephoneByGroupName(int regionId, string groupName, string telePhoneName)
 {
     try
     {
         int      configId = -1;
         EventRet ret      = new EventRet();
         List <EmergencyPhoneCustom> list = GetEmergencyConfig(regionId, out configId);
         if (list != null && list.Count > 0)
         {
             var entity = list.Where(n => n.groupName == groupName).FirstOrDefault();
             if (entity != null)
             {
                 if (entity.phoneList != null && entity.phoneList.Count > 0)
                 {
                     var phoneEntity = entity.phoneList.Where(n => n.phoneName == telePhoneName).FirstOrDefault();
                     if (phoneEntity != null)
                     {
                         list.Where(n => n.groupName == groupName).FirstOrDefault()
                         .phoneList.Remove(phoneEntity);
                         string xml = TranObjToXml(list);
                         int    res = UpdateEmergencyConfig(configId, regionId, xml);
                         if (res > 0)
                         {
                             ret.message = "删除电话名称成功";
                             ret.state   = 0;
                         }
                         else
                         {
                             ret.message = "删除电话名称失败";
                             ret.state   = 1;
                         }
                     }
                     else
                     {
                         ret.message = "未找到该园区应急电话为" + telePhoneName + "的配置";
                         ret.state   = 1;
                     }
                 }
                 else
                 {
                     ret.message = "未找到该园区应急电话为" + telePhoneName + "的配置";
                     ret.state   = 1;
                 }
             }
             else
             {
                 ret.message = "未找到该园区应急电话组为" + groupName + "的配置";
                 ret.state   = 1;
             }
         }
         else
         {
             ret.message = "未找到该园区应急电话配置";
             ret.state   = 1;
         }
         return(ret);
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
Ejemplo n.º 21
0
        public virtual EventRet DispatchEvent(string evt, params object[] objs)
        {
            EventRet b = eventDispatcher.DispatchEvent(evt, objs);

            return(b);
        }
Ejemplo n.º 22
0
 /// <summary>
 /// 新增应急电话组
 /// </summary>
 /// <param name="regionId"></param>
 /// <param name="regionName"></param>
 /// <param name="groupName"></param>
 /// <returns></returns>
 public EventRet AddGroupNameByRegionId(int regionId, string groupName)
 {
     try
     {
         int      configId = -1;
         EventRet ret      = new EventRet();
         List <EmergencyPhoneCustom> list = GetEmergencyConfig(regionId, out configId);
         if (configId != -1)
         {
             //修改记录,新增电话组
             var entity = list.Where(n => n.groupName == groupName).FirstOrDefault();
             if (entity == null)
             {
                 EmergencyPhoneCustom custom = new EmergencyPhoneCustom();
                 custom.groupName = groupName;
                 custom.phoneList = null;
                 list.Add(custom);
                 string xml = TranObjToXml(list);
                 int    res = UpdateEmergencyConfig(configId, regionId, xml);
                 if (res > 0)
                 {
                     ret.message = "应急电话组新增成功!";
                     ret.state   = 0;
                 }
                 else
                 {
                     ret.message = "应急电话组新增失败";
                     ret.state   = 1;
                 }
             }
             else
             {
                 ret.message = "应急电话组重复";
                 ret.state   = 1;
             }
         }
         else   //新增记录,新增电话组
         {
             EmergencyPhoneCustom custom = new EmergencyPhoneCustom();
             custom.groupName = groupName;
             custom.phoneList = null;
             list.Add(custom);
             string xml = TranObjToXml(list);
             int    res = AddEmergencyConfig(regionId, xml);
             if (res > 0)
             {
                 ret.message = "应急电话新增成功!";
                 ret.state   = 0;
             }
             else
             {
                 ret.message = "应急电话组新增失败";
                 ret.state   = 1;
             }
         }
         return(ret);
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
Ejemplo n.º 23
0
 /// <summary>
 /// 新增电话配置
 /// </summary>
 /// <param name="regionId"></param>
 /// <param name="groupName"></param>
 /// <param name="telePhoneName"></param>
 /// <param name="telePhoneNum"></param>
 /// <returns></returns>
 public EventRet AddTelePhoneByGroupName(int regionId, string groupName, string telePhoneName, string telePhoneNum)
 {
     try
     {
         int      configId = -1;
         EventRet ret      = new EventRet();
         List <EmergencyPhoneCustom> list = GetEmergencyConfig(regionId, out configId);
         if (list != null && list.Count > 0)
         {
             var entity = list.Where(n => n.groupName == groupName).FirstOrDefault();
             if (entity != null)
             {
                 if (entity.phoneList != null && entity.phoneList.Count > 0)
                 {
                     #region  新增加判断
                     var phoneEntity = entity.phoneList.Where(n => n.phoneName == telePhoneName).FirstOrDefault();
                     if (phoneEntity == null)
                     {
                         PhoneGroup group = new PhoneGroup();
                         group.phoneName = telePhoneName;
                         group.phoneNum  = telePhoneNum;
                         list.Where(n => n.groupName == groupName).FirstOrDefault().phoneList.Add(group);
                         string xml = TranObjToXml(list);
                         int    res = UpdateEmergencyConfig(configId, regionId, xml);
                         if (res > 0)
                         {
                             ret.message = "新增电话名称成功";
                             ret.state   = 0;
                         }
                         else
                         {
                             ret.message = "新增电话名称失败";
                             ret.state   = 1;
                         }
                     }
                     else
                     {
                         ret.message = "电话名称重复";
                         ret.state   = 1;
                     }
                     #endregion
                 }
                 else
                 {
                     List <PhoneGroup> phoneList = new List <PhoneGroup>();
                     PhoneGroup        group     = new PhoneGroup();
                     group.phoneName = telePhoneName;
                     group.phoneNum  = telePhoneNum;
                     phoneList.Add(group);
                     list.Where(n => n.groupName == groupName).FirstOrDefault().phoneList = phoneList;
                     string xml = TranObjToXml(list);
                     int    res = UpdateEmergencyConfig(configId, regionId, xml);
                     if (res > 0)
                     {
                         ret.message = "新增电话成功";
                         ret.state   = 0;
                     }
                     else
                     {
                         ret.message = "新增电话失败";
                         ret.state   = 1;
                     }
                 }
             }
             else
             {
                 ret.message = "未找到该园区应急电话组为" + groupName + "的配置";
                 ret.state   = 1;
             }
         }
         else
         {
             ret.message = "未找到该园区应急电话配置";
             ret.state   = 1;
         }
         return(ret);
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
Ejemplo n.º 24
0
        /// <summary>
        /// 父级事件修改
        /// </summary>
        /// <param name="eventName"></param>
        /// <param name="eventContent"></param>
        /// <param name="startTime"></param>
        /// <param name="endTime"></param>
        /// <param name="id"></param>
        /// <returns></returns>
        public EventRet UpdateRootEvent(string eventName, string eventContent, int startTime, int endTime, int id)
        {
            EventRet ret = new EventRet();

            mapContext.BeginTransaction(System.Data.IsolationLevel.ReadUncommitted);//创建事务
            try
            {
                BaseEventTypeModel eventModel = new BaseEventTypeModel();
                eventModel.id         = id;
                eventModel.content    = eventContent;
                eventModel.event_code = "";
                eventModel.event_name = eventName;
                eventModel.pid        = -1;
                int eventRes = UpdateBaseEventTypeById(eventModel);
                if (eventRes > 0)
                {
                    int res = 0;
                    ServAlarmVideoTimeModel timeModel = mapContext.QueryForObject <ServAlarmVideoTimeModel>("GetAlarmVideoTimeByEventId", id); //查找事件对应视频下载时间是否存在
                    if (timeModel == null)
                    {
                        timeModel            = new ServAlarmVideoTimeModel();
                        timeModel.end_time   = endTime;
                        timeModel.event_id   = id;
                        timeModel.start_time = startTime;
                        res = (int)mapContext.Insert("InsertAlarmVideoTime", timeModel); //不存在则添加
                    }
                    else
                    {
                        timeModel.end_time   = endTime;
                        timeModel.event_id   = id;
                        timeModel.start_time = startTime;
                        res = mapContext.Update("UpdateAlarmVideoTimeByEventId", timeModel);  //修改
                    }
                    if (res > 0)
                    {
                        mapContext.CommitTransaction();
                        ret.message = "事件修改成功";
                        ret.state   = 0;
                        return(ret);
                    }
                    else
                    {
                        mapContext.RollBackTransaction();
                        ret.message = "视频下载时间修改失败";
                        ret.state   = -1;
                        return(ret);
                    }
                }
                else
                {
                    mapContext.RollBackTransaction();
                    ret.message = "事件修改失败";
                    ret.state   = -1;
                    return(ret);
                }
            }
            catch (Exception ex)
            {
                mapContext.RollBackTransaction();
                throw ex;
            }
            finally
            {
                //  mapContext.CloseConnection();
            }
        }
Ejemplo n.º 25
0
        /// <summary>
        /// 删除父级事件
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public EventRet DeleteRootEvent(int id)
        {
            bool     timebl = false;
            EventRet ret    = new EventRet();

            mapContext.BeginTransaction(System.Data.IsolationLevel.ReadUncommitted);//创建事务
            try
            {
                int eventRes = DeleteBaseEventTypeById(id);   //删除事件
                if (eventRes > 0)
                {
                    ServAlarmVideoTimeModel      timeModel   = mapContext.QueryForObject <ServAlarmVideoTimeModel>("GetAlarmVideoTimeByEventId", id);    //查找事件对应视频下载时间是否存在
                    List <ServAlarmCommandModel> commandList = mapContext.QueryForList <ServAlarmCommandModel>("GetAlarmCommandByEventId", id).ToList(); //获取应急指挥流程图
                    #region  除视频下载时间
                    if (timeModel != null)
                    {
                        int timeRes = mapContext.Delete("DeleteAlarmVideoTimeByEventId", id);  //删除事件对应视频下载时间
                        if (timeRes > 0)
                        {
                            timebl = true;
                        }
                    }
                    else
                    {
                        timebl = true;
                    }
                    #endregion
                    if (timebl == true) //判断视频下载时间删除是否成功,成功则继续删除流程图
                    {
                        #region   除应急指挥流程图
                        if (commandList != null && commandList.Count > 0)
                        {
                            int res = mapContext.Delete("DeleteAlarmCommandByEventId", id);
                            if (res > 0)
                            {
                                mapContext.CommitTransaction();
                                ret.message = "事件删除成功";
                                ret.state   = 0;
                                return(ret);
                            }
                            else
                            {
                                mapContext.RollBackTransaction();
                                ret.message = "应急指挥流程图删除失败";
                                ret.state   = -1;
                                return(ret);
                            }
                        }
                        else
                        {
                            mapContext.CommitTransaction();
                            ret.message = "事件删除成功";
                            ret.state   = 0;
                            return(ret);
                        }
                        #endregion
                    }
                    else
                    {
                        mapContext.RollBackTransaction();
                        ret.message = "视频下载时间删除失败";
                        ret.state   = -1;
                        return(ret);
                    }
                }
                else
                {
                    mapContext.RollBackTransaction();
                    ret.message = "事件删除失败";
                    ret.state   = -1;
                    return(ret);
                }
            }
            catch (Exception ex)
            {
                mapContext.RollBackTransaction();
                throw ex;
            }
            finally
            {
                // mapContext.CloseConnection();
            }
        }