示例#1
0
        protected override void FillRequiredFields(TEType2PlaceClass obj)
        {
            base.FillRequiredFields(obj);

            var t = _teTypeTest.CreateNew();
            var p = _placeClassTest.CreateNew();

            obj.AsDynamic().TETYPE2PLACECLASSID             = TestDecimal;
            obj.AsDynamic().TETYPE2PLACECLASSTETYPECODE     = t.GetKey();
            obj.AsDynamic().TETYPE2PLACECLASSPLACECLASSCODE = p.GetKey();
        }
示例#2
0
        protected override void FillRequiredFields(TEType2Mandant obj)
        {
            base.FillRequiredFields(obj);

            var teType  = _teTypeTest.CreateNew();
            var mandant = _mandantTest.CreateNew();

            obj.AsDynamic().TETYPE2MANDANTID         = TestDecimal;
            obj.AsDynamic().TETYPE2MANDANTTETYPECODE = teType.GetKey();
            obj.AsDynamic().MANDANTID = mandant.GetKey();
        }
        protected override void FillRequiredFields(TEType2TEType obj)
        {
            base.FillRequiredFields(obj);

            var teTypeSlave  = _teTypeTestSlave.CreateNew();
            var teTypeMaster = _teTypeTestMaster.CreateNew();

            obj.AsDynamic().TETYPE2TETYPEID       = TestDecimal;
            obj.AsDynamic().TETYPE2TETYPESLAVE    = teTypeSlave.GetKey();
            obj.AsDynamic().TETYPE2TETYPEMASTER   = teTypeMaster.GetKey();
            obj.AsDynamic().TETYPE2TETYPECAPACITY = TestDecimal;
        }
        protected override void FillRequiredFields(TEType2TruckType obj)
        {
            base.FillRequiredFields(obj);

            var te = _teTypeTest.CreateNew();
            var tr = _truckTypeTest.CreateNew();

            obj.AsDynamic().TETYPE2TRUCKTYPEID            = TestDecimal;
            obj.AsDynamic().TETYPE2TRUCKTYPECOUNT         = TestDecimal;
            obj.AsDynamic().TETYPE2TRUCKTYPETETYPECODE    = te.GetKey();
            obj.AsDynamic().TETYPE2TRUCKTYPETRUCKTYPECODE = tr.GetKey();
        }
示例#5
0
        protected override void FillRequiredFields(TE obj)
        {
            base.FillRequiredFields(obj);

            var t     = _teTypeTest.CreateNew();
            var place = _placeTest.CreateNew();

            obj.AsDynamic().TECODE          = TestString;
            obj.AsDynamic().TETYPECODE_R    = t.GetKey();
            obj.AsDynamic().TECURRENTPLACE  = place.GetKey();
            obj.AsDynamic().TECREATIONPLACE = place.GetKey();
            obj.AsDynamic().TEMAXWEIGHT     = TestDecimal;
        }
示例#6
0
        protected override void FillRequiredFields(WeightControl obj)
        {
            base.FillRequiredFields(obj);

            var measure = _measureTest.CreateNew();
            var tetype  = _teTypeTest.CreateNew();

            obj.AsDynamic().WEIGHTCONTROLID  = TestDecimal;
            obj.AsDynamic().MANDANTID        = 1;
            obj.AsDynamic().PRIORITY         = TestDecimal;
            obj.AsDynamic().WEIGHTCONTROLDEV = TestDouble;
            obj.AsDynamic().MEASURECODE_R    = measure.GetKey();
            obj.AsDynamic().TETYPECODE_R     = tetype.GetKey();
        }
示例#7
0
        protected override void FillRequiredFields(CargoIWBPos obj)
        {
            base.FillRequiredFields(obj);

            var cargoIWB = _cargoIWBTest.CreateNew();
            var teType   = _teTypeTest.CreateNew();
            var QLF      = _QlfTest.CreateNew();

            obj.AsDynamic().CARGOIWBPOSID    = TestDecimal;
            obj.AsDynamic().CARGOIWBID_R     = cargoIWB.GetKey();
            obj.AsDynamic().CARGOIWBPOSCOUNT = TestDecimal;
            obj.AsDynamic().TETYPECODE_R     = teType.GetKey();
            obj.AsDynamic().CARGOIWBPOSTYPE  = TestString;
            obj.AsDynamic().QLFCODE_R        = QLF.GetKey();
        }
示例#8
0
        protected override void FillRequiredFields(SKU2TTE obj)
        {
            base.FillRequiredFields(obj);

            var t = _teTypeTest.CreateNew();
            var s = _skuTest.CreateNew();

            obj.AsDynamic().SKU2TTEID          = TestDecimal;
            obj.AsDynamic().SKU2TTETETYPECODE  = t.GetKey();
            obj.AsDynamic().SKU2TTESKUID       = s.GetKey();
            obj.AsDynamic().SKU2TTEQUANTITY    = TestDecimal;
            obj.AsDynamic().SKU2TTEMAXWEIGHT   = TestDecimal;
            obj.AsDynamic().SKU2TTELENGTH      = TestDecimal;
            obj.AsDynamic().SKU2TTEWIDTH       = TestDecimal;
            obj.AsDynamic().SKU2TTEHEIGHT      = TestDecimal;
            obj.AsDynamic().SKU2TTEQUANTITYMAX = TestDecimal;
        }
示例#9
0
        protected override void FillRequiredFields(GlobalParamValue obj)
        {
            base.FillRequiredFields(obj);

            var t  = _teTypeTest.CreateNew();
            var gp = _globalParamTest.CreateNew(param =>
            {
                param.AsDynamic().GLOBALPARAMLOCKED   = 0;
                param.AsDynamic().GLOBALPARAM2ENTITY  = TETypeName;
                param.AsDynamic().GLOBALPARAMDATATYPE = 16;
                param.AsDynamic().GLOBALPARAMCOUNT    = 1;
            });

            obj.AsDynamic().GPARAMID          = TestDecimal;
            obj.AsDynamic().GPARAMVALKEY      = TestString;
            obj.AsDynamic().GLOBALPARAMCODE_R = gp.GetKey();
            obj.AsDynamic().GPARAMVAL2ENTITY  = t.GetKey();
        }
        public void DeleteByParentTEType()
        {
            // создаём мэнэджеры, тесты и сущности
            var _gpvMgr     = CreateManager();
            var _gpv        = CreateNew();
            var _gpvKey     = _gpv.GetKey();
            var _parentTest = new TETypeTest();
            var _parentMgr  = CreateManager <TEType>();
            var _parent     = _parentTest.CreateNew();
            var _parentKey  = _parent.GetKey();

            try
            {
                // привязываем GPV к сущности
                _gpv.AsDynamic().GPARAMVAL2ENTITY = "TETYPE";
                _gpv.AsDynamic().GPARAMVALKEY     = _parent.GetKey();

                // проверяем что правильно привязали
                _gpvMgr.Update(_gpv);
                var _oldGpv = _gpvMgr.Get(_gpvKey);
                _oldGpv.GetKey().Equals(_gpvKey);

                // удаляем родителя, проверяем что правильно удалили
                _parentMgr.Delete(_parent);
                var deleted = _parentMgr.Get(_parentKey);
                deleted.Should().BeNull("Не смогли удалить {0}", typeof(Worker));

                var _newGpv = _gpvMgr.Get(_gpvKey);
                _newGpv.Should().BeNull("Вложеная сущность должна удаляться при удалении основной");
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
            finally
            {
                ClearForSelf();
                _parentTest.ClearForSelf();
            }
        }
示例#11
0
        public void SKU2TETypeTest()
        {
            // создаём инстанс связанной сущности
            var tte1 = _tteTest1.CreateNew();
            var tte2 = _tteTest2.CreateNew();

            // создаём инстанс вложенной сущности
            var sku2tte = new SKU2TTE();

            try
            {
                #region .  Create  .

                // создаём инстанс сущности
                var mgr = CreateManager();
                var obj = mgr.New();
                FillRequiredFields(obj);
                mgr.Insert(ref obj);
                var key       = obj.GetKey();
                var oldLength = 0;

                // считываем коллекцию вложенных сущностей
                var sku2tteLst = obj.AsDynamic().TETYPE2SKU as IList <SKU2TTE>;
                if (sku2tteLst == null)
                {
                    sku2tteLst = new WMSBusinessCollection <SKU2TTE>();
                    obj.SetProperty("TETYPE2SKU", sku2tteLst);
                }
                else
                {
                    oldLength = sku2tteLst.Count;
                }

                // заполняем ссылки и обязательные поля вложенной сущности
                sku2tte.AsDynamic().SKU2TTEID         = TestDecimal;
                sku2tte.AsDynamic().SKU2TTETETYPECODE = tte1.GetKey();
                sku2tte.AsDynamic().SKU2TTESKUID      = key;
                sku2tte.AsDynamic().SKU2TTEQUANTITY   = TestDecimal;
                sku2tte.AsDynamic().SKU2TTEMAXWEIGHT  = TestDecimal;
                sku2tte.AsDynamic().SKU2TTELENGTH     = TestDecimal;
                sku2tte.AsDynamic().SKU2TTEWIDTH      = TestDecimal;
                sku2tte.AsDynamic().SKU2TTEHEIGHT     = TestDecimal;

                //new
                CreateManager <SKU2TTE>().Insert(ref sku2tte);

                // добавляем связь с вложенной сущностью, сохраняем
                sku2tteLst.Add(sku2tte);
                mgr.Update(obj);


                // читаем из БД по ключу
                obj = mgr.Get(key);
                var sku2tteLstNew = obj.AsDynamic().TETYPE2SKU as IList <SKU2TTE>;

                // проверка создания
                sku2tteLstNew.Should().NotBeNull("Должны были получить хотя бы 1 элемент");
                var newLength = sku2tteLstNew.Count;
                newLength.ShouldBeEquivalentTo(oldLength + 1, "Manager должен создавать вложенные сущности");

                #endregion

                #region .  Update simple  .

                // сохраняем старое значение не ключевого поля
                sku2tte = sku2tteLstNew[sku2tteLstNew.Count - 1];
                var oldValue = sku2tte.AsDynamic().SKU2TTEHEIGHT;

                // меняем значение
                sku2tte.AsDynamic().SKU2TTEHEIGHT = TestDecimal + 1;
                sku2tteLstNew[sku2tteLstNew.Count - 1] = sku2tte;

                // сохраняем в базе
                mgr.Update(obj);

                // вычитываем из базы
                obj           = mgr.Get(key);
                sku2tteLstNew = obj.AsDynamic().TETYPE2SKU as IList <SKU2TTE>;
                sku2tte       = sku2tteLstNew[sku2tteLstNew.Count - 1];

                // проверяем изменение
                var newValue = sku2tte.AsDynamic().SKU2TTEHEIGHT;
                newValue.Equals(oldValue + 1);

                #endregion

                #region .  Update link  .

                // меняем значение ссылочного поля
                sku2tte.AsDynamic().SKU2TTETETYPECODE = tte2.GetKey();
                sku2tteLstNew[sku2tteLstNew.Count - 1] = sku2tte;

                // сохраняем в базе
                mgr.Update(obj);

                // вычитываем из базы
                obj           = mgr.Get(key);
                sku2tteLstNew = obj.AsDynamic().TETYPE2SKU as IList <SKU2TTE>;
                sku2tte       = sku2tteLstNew[sku2tteLstNew.Count - 1];

                // проверяем изменение
                var newLink = sku2tte.AsDynamic().SKU2TTETETYPECODE;
                newLink.Equals(tte2.GetKey());

                #endregion

                #region .  Delete  .

                // удалем связь с вложенной сущностью, сохраняем
                sku2tteLst = obj.AsDynamic().TETYPE2SKU as IList <SKU2TTE>;
                sku2tte    = sku2tteLst[sku2tteLst.Count - 1];
                sku2tteLst.Remove(sku2tte);
                mgr.Update(obj);

                //new
                CreateManager <SKU2TTE>().Delete(sku2tte);

                // убеждаемся, что корректно удалили
                var deleted = mgr.Get(key);
                sku2tteLstNew = deleted.AsDynamic().TETYPE2SKU as IList <SKU2TTE>;
                if (sku2tteLstNew == null)
                {
                    oldLength.Equals(0);
                }
                else
                {
                    sku2tteLstNew.Count.ShouldBeEquivalentTo(oldLength, "Manager должен удалять вложенные сущности");
                }

                #endregion
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
            finally
            {
                #region .  ClearForSelf  .

                // чистим за собой
                if (sku2tte != null)
                {
                    var sku2tteMgr = CreateManager <SKU2TTE>();
                    sku2tteMgr.Delete(sku2tte);
                }
                ClearForSelf();

                #endregion
            }
        }