public Result PostDeviceOperateOperator([FromBody] IEnumerable <DeviceOperateOperator> operators)
        {
            if (operators == null || !operators.Any())
            {
                return(Result.GenError <Result>(Error.ParamError));
            }
            if (operators.Any(x => x.AccountId == 0))
            {
                return(Result.GenError <Result>(Error.DeviceOperateOperatorNotEmpty));
            }
            if (operators.GroupBy(x => x.AccountId).Any(y => y.Count() > 1))
            {
                return(Result.GenError <Result>(Error.DeviceOperateOperatorDuplicate));
            }

            var opId  = operators.FirstOrDefault()?.OpId ?? 0;
            var sames = operators.Select(x => x.AccountId);

            if (DeviceOperateOperatorHelper.GetHaveSame(opId, sames))
            {
                return(Result.GenError <Result>(Error.DeviceOperateOperatorIsExist));
            }

            var userId         = Request.GetIdentityInformation();
            var markedDateTime = DateTime.Now;

            foreach (var op in operators)
            {
                op.CreateUserId   = userId;
                op.MarkedDateTime = markedDateTime;
                op.Remark         = op.Remark ?? "";
            }
            DeviceOperateOperatorHelper.Instance.Add(operators);
            return(Result.GenError <Result>(Error.Success));
        }
        public Result PutDeviceOperateOperator([FromBody] IEnumerable <DeviceOperateOperator> operators)
        {
            if (operators == null || !operators.Any())
            {
                return(Result.GenError <Result>(Error.ParamError));
            }
            if (operators.Any(x => x.AccountId == 0))
            {
                return(Result.GenError <Result>(Error.DeviceOperateOperatorNotEmpty));
            }
            if (operators.GroupBy(x => x.AccountId).Any(y => y.Count() > 1))
            {
                return(Result.GenError <Result>(Error.DeviceOperateOperatorDuplicate));
            }

            var opId  = operators.FirstOrDefault()?.OpId ?? 0;
            var sames = operators.Select(x => x.AccountId);
            var ids   = operators.Select(x => x.Id);

            if (DeviceOperateOperatorHelper.GetHaveSame(opId, sames, ids))
            {
                return(Result.GenError <Result>(Error.DeviceOperateOperatorIsExist));
            }

            var cnt = DeviceOperateOperatorHelper.Instance.GetCountByIds(ids);

            if (cnt != operators.Count())
            {
                return(Result.GenError <Result>(Error.DeviceOperateOperatorNotExist));
            }

            var markedDateTime = DateTime.Now;

            foreach (var op in operators)
            {
                op.MarkedDateTime = markedDateTime;
                op.Remark         = op.Remark ?? "";
            }
            DeviceOperateOperatorHelper.Instance.Update(operators);
            return(Result.GenError <Result>(Error.Success));
        }