public Result PutSmartWorkOrder([FromBody] IEnumerable <SmartWorkOrder> workOrders)
        {
            if (workOrders == null || !workOrders.Any())
            {
                return(Result.GenError <Result>(Error.ParamError));
            }
            if (workOrders.Any(x => x.WorkOrder.IsNullOrEmpty()))
            {
                return(Result.GenError <Result>(Error.SmartWorkOrderNotEmpty));
            }
            if (workOrders.GroupBy(x => x.WorkOrder).Any(y => y.Count() > 1))
            {
                return(Result.GenError <Result>(Error.SmartWorkOrderDuplicate));
            }

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

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

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

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

            var markedDateTime = DateTime.Now;

            foreach (var workOrder in workOrders)
            {
                workOrder.MarkedDateTime = markedDateTime;
                workOrder.Remark         = workOrder.Remark ?? "";
            }

            SmartWorkOrderHelper.Instance.Update(workOrders);
            return(Result.GenError <Result>(Error.Success));
        }
        public Result PostSmartWorkOrder([FromBody] IEnumerable <SmartWorkOrder> workOrders)
        {
            if (workOrders == null || !workOrders.Any())
            {
                return(Result.GenError <Result>(Error.ParamError));
            }
            if (workOrders.Any(x => x.WorkOrder.IsNullOrEmpty()))
            {
                return(Result.GenError <Result>(Error.SmartWorkOrderNotEmpty));
            }
            if (workOrders.GroupBy(x => x.WorkOrder).Any(y => y.Count() > 1))
            {
                return(Result.GenError <Result>(Error.SmartWorkOrderDuplicate));
            }

            var wId   = workOrders.FirstOrDefault()?.WorkshopId ?? 0;
            var sames = workOrders.Select(x => x.WorkOrder);

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

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

            foreach (var workOrder in workOrders)
            {
                workOrder.CreateUserId   = userId;
                workOrder.MarkedDateTime = markedDateTime;
                workOrder.Remark         = workOrder.Remark ?? "";
            }

            SmartWorkOrderHelper.Instance.Add(workOrders);
            return(Result.GenError <Result>(Error.Success));
        }