public Result PostSmartTaskOrder([FromBody] IEnumerable <SmartTaskOrder> taskOrders)
        {
            if (taskOrders == null || !taskOrders.Any())
            {
                return(Result.GenError <Result>(Error.ParamError));
            }
            if (taskOrders.Any(x => x.TaskOrder.IsNullOrEmpty()))
            {
                return(Result.GenError <Result>(Error.SmartTaskOrderNotEmpty));
            }
            if (taskOrders.GroupBy(x => x.TaskOrder).Any(y => y.Count() > 1))
            {
                return(Result.GenError <Result>(Error.SmartTaskOrderDuplicate));
            }

            var wId   = taskOrders.FirstOrDefault()?.WorkshopId ?? 0;
            var sames = taskOrders.Select(x => x.TaskOrder);

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

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

            foreach (var taskOrder in taskOrders)
            {
                taskOrder.CreateUserId   = userId;
                taskOrder.MarkedDateTime = markedDateTime;
                taskOrder.Remark         = taskOrder.Remark ?? "";
            }
            SmartTaskOrderHelper.Instance.Add(taskOrders);
            return(Result.GenError <Result>(Error.Success));
        }
        public Result PutSmartTaskOrder([FromBody] IEnumerable <SmartTaskOrder> taskOrders)
        {
            if (taskOrders == null || !taskOrders.Any())
            {
                return(Result.GenError <Result>(Error.ParamError));
            }
            if (taskOrders.Any(x => x.TaskOrder.IsNullOrEmpty()))
            {
                return(Result.GenError <Result>(Error.SmartTaskOrderNotEmpty));
            }
            if (taskOrders.GroupBy(x => x.TaskOrder).Any(y => y.Count() > 1))
            {
                return(Result.GenError <Result>(Error.SmartTaskOrderDuplicate));
            }

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

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

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

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

            var markedDateTime = DateTime.Now;

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