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()); }
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()); }