コード例 #1
0
ファイル: ProductionOrder.cs プロジェクト: dmozhnov/EmpireERP
        public virtual void CheckPossibilityToClose()
        {
            ValidationUtils.Assert(!IsClosed, "Невозможно закрыть уже закрытый заказ.");
            ValidationUtils.Assert(!Batches.Any(x => !x.IsClosed), "Невозможно закрыть заказ, если не закрыты партии.");

            //Нельзя успешно закрыть последнюю партию заказа, если заказ полностью не оплачен.
            //Кроме тех случаев, если есть неуспешно закрытые партии
            if (!Batches.Any(x => x.IsClosed && !x.IsClosedSuccessfully))
            {
                ValidationUtils.Assert(IsFullyPaid, "Невозможно успешно закрыть заказ, если заказ полностью не оплачен.");
            }

            ValidationUtils.Assert(IsArticleTransportingPrimeCostCalculationTypeSet ||
                                   !(Batches.Any(x => x.IsClosedSuccessfully)),
                                   "Невозможно закрыть заказ с успешно закрытыми партиями, так как в заказе не указан способ учета транспортировки в себестоимости товаров.");
        }
コード例 #2
0
        private List <string> GetSensorNames()
        {
            var sensorNames = new List <string>();

            if (Batches != null && Batches.Any())
            {
                foreach (var measurementBatch in Batches)
                {
                    if (measurementBatch.Measurements != null && measurementBatch.Measurements.Any())
                    {
                        foreach (var measurement in measurementBatch.Measurements)
                        {
                            if (!sensorNames.Contains(measurement.SensorName))
                            {
                                sensorNames.Add(measurement.SensorName);
                            }
                        }
                    }
                }
                return(sensorNames);
            }

            return(new List <string>());
        }