public Result PostSmartDevice([FromBody] IEnumerable <SmartDevice> devices)
        {
            if (devices == null || !devices.Any())
            {
                return(Result.GenError <Result>(Error.ParamError));
            }
            if (devices.Any(x => x.Code.IsNullOrEmpty()))
            {
                return(Result.GenError <Result>(Error.SmartDeviceNotEmpty));
            }
            if (devices.GroupBy(x => x.Code).Any(y => y.Count() > 1))
            {
                return(Result.GenError <Result>(Error.SmartDeviceDuplicate));
            }

            var wId   = devices.FirstOrDefault()?.WorkshopId ?? 0;
            var sames = devices.Select(x => x.Code);

            if (SmartDeviceHelper.GetHaveSame(wId, sames))
            {
                return(Result.GenError <Result>(Error.SmartDeviceIsExist));
            }

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

            foreach (var smartDevice in devices)
            {
                smartDevice.CreateUserId   = userId;
                smartDevice.MarkedDateTime = markedDateTime;
                smartDevice.Remark         = smartDevice.Remark ?? "";
            }
            SmartDeviceHelper.Instance.Add(devices);
            return(Result.GenError <Result>(Error.Success));
        }
        public Result PutSmartDevice([FromBody] IEnumerable <SmartDevice> devices)
        {
            if (devices == null || !devices.Any())
            {
                return(Result.GenError <Result>(Error.ParamError));
            }
            if (devices.Any(x => x.Code.IsNullOrEmpty()))
            {
                return(Result.GenError <Result>(Error.SmartDeviceNotEmpty));
            }
            if (devices.GroupBy(x => x.Code).Any(y => y.Count() > 1))
            {
                return(Result.GenError <Result>(Error.SmartDeviceDuplicate));
            }

            var wId   = devices.FirstOrDefault()?.WorkshopId ?? 0;
            var sames = devices.Select(x => x.Code);
            var ids   = devices.Select(x => x.Id);

            if (SmartDeviceHelper.GetHaveSame(wId, sames, ids))
            {
                return(Result.GenError <Result>(Error.SmartDeviceIsExist));
            }

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

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

            var markedDateTime = DateTime.Now;

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