public Task <int> InsertAsync(MaterialDeliveryNoteWeavingModel model)
        {
            do
            {
                var datamod = _materialDeliveryNoteWeavingDbSet.Where(a => a.NumberOut == model.NumberOut).Count();

                if (datamod >= 0 && datamod < 9)
                {
                    datamod   += 1;
                    model.Code = model.NumberOut + $"000{datamod}";
                }
                else if (datamod >= 9 && datamod < 99)
                {
                    datamod   += 1;
                    model.Code = model.NumberOut + $"00{datamod}";
                }
                else if (datamod >= 999 && datamod < 9999)
                {
                    datamod   += 1;
                    model.Code = model.NumberOut + $"0{datamod}";
                }
                else
                {
                    datamod   += 1;
                    model.Code = model.NumberOut + $"{datamod}";
                }
            } while (_materialDeliveryNoteWeavingDbSet.Any(entity => entity.Code == model.Code));
            EntityExtension.FlagForCreate(model, _identityProvider.Username, USER_AGENT);
            _materialDeliveryNoteWeavingDbSet.Add(model);
            return(_dbContext.SaveChangesAsync());
        }
Beispiel #2
0
        public void Should_Success_Instantiate()
        {
            var item = new List <Application.ItemsMaterialDeliveryNoteWeavingViewModel>
            {
                new Application.ItemsMaterialDeliveryNoteWeavingViewModel()
            };
            var date = DateTimeOffset.Now;
            MaterialDeliveryNoteWeavingModel model = new MaterialDeliveryNoteWeavingModel()
            {
                BuyerCode       = "BuyerCode",
                BuyerId         = 1,
                BuyerName       = "BuyerName",
                Code            = "Code",
                DateSJ          = date,
                DoSalesNumber   = "DoSalesNumber",
                DoSalesNumberId = 1,
                NumberOut       = "NumberOut",
                Remark          = "Remark",
                SendTo          = "SendTo",
                StorageCode     = "StorageCode",
                StorageId       = 1,
                StorageName     = "StorageName",
                UnitId          = 1,
                UnitLength      = "1",
                UnitName        = "UnitName",
                UnitPacking     = "UnitPacking",
                ItemsMaterialDeliveryNoteWeaving = item
            };


            Assert.Equal("BuyerCode", model.BuyerCode);
            Assert.Equal(1, model.BuyerId);
            Assert.Equal("BuyerName", model.BuyerName);
            Assert.Equal("Code", model.Code);
            Assert.Equal(date, model.DateSJ);
            Assert.Equal("DoSalesNumber", model.DoSalesNumber);
            Assert.Equal(1, model.DoSalesNumberId);
            Assert.Equal("NumberOut", model.NumberOut);
            Assert.Equal("Remark", model.Remark);
            Assert.Equal("SendTo", model.SendTo);
            Assert.Equal("StorageCode", model.StorageCode);
            Assert.Equal(1, model.StorageId);
            Assert.Equal("StorageName", model.StorageName);
            Assert.Equal(1, model.UnitId);
            Assert.Equal("1", model.UnitLength);
            Assert.Equal("UnitName", model.UnitName);
            Assert.Equal("UnitPacking", model.UnitPacking);
            Assert.Equal(item, model.ItemsMaterialDeliveryNoteWeaving);
        }
        public Task <int> UpdateAsync(int id, MaterialDeliveryNoteWeavingModel model)
        {
            var modelToUpdate = _materialDeliveryNoteWeavingDbSet.Include(s => s.ItemsMaterialDeliveryNoteWeaving).FirstOrDefault(entity => entity.Id == id);

            modelToUpdate.SetCode(model.Code);
            modelToUpdate.SetDateSJ(model.DateSJ);
            modelToUpdate.SetDoSalesNumberId(model.DoSalesNumberId);
            modelToUpdate.SetDoSalesNumber(model.DoSalesNumber);
            modelToUpdate.SetSendTo(model.SendTo);
            modelToUpdate.SetUnitId(model.UnitId);
            modelToUpdate.SetUnitName(model.UnitName);
            modelToUpdate.SetBuyerId(model.BuyerId);
            modelToUpdate.SetBuyerCode(model.BuyerCode);
            modelToUpdate.SetBuyerName(model.BuyerName);
            modelToUpdate.SetNumberOut(model.NumberOut);
            modelToUpdate.SetStorageId(model.StorageId);
            modelToUpdate.SetStorageCode(model.StorageCode);
            modelToUpdate.SetStorageName(model.StorageName);
            modelToUpdate.SetRemark(model.Remark);
            //modelToUpdate.SetStorageUnit(model.StorageUnit);

            foreach (var itm in modelToUpdate.ItemsMaterialDeliveryNoteWeaving)
            {
                var locitem = model.ItemsMaterialDeliveryNoteWeaving.FirstOrDefault(s => s.Id == itm.Id);

                if (locitem != null)
                {
                    itm.SetItemNoSOP(locitem.ItemNoSOP);
                    itm.SetItemMaterialName(locitem.ItemMaterialName);
                    itm.SetitemGrade(locitem.ItemGrade);
                    itm.SetItemType(locitem.ItemType);
                    itm.SetinputBale(locitem.InputBale);
                    itm.SetinputPiece(locitem.InputPiece);
                    itm.SetinputMeter(locitem.InputMeter);
                    itm.SetinputKg(locitem.InputKg);
                }
                else
                {
                    _ItemsDbSet.Remove(itm);
                }
            }

            foreach (var newitm in model.ItemsMaterialDeliveryNoteWeaving.Where(s => s.Id == 0))
            {
                modelToUpdate.ItemsMaterialDeliveryNoteWeaving.Add(newitm);
            }

            return(_dbContext.SaveChangesAsync());
        }