public async Task <MaterialDistributionNote> CustomCodeGenerator(MaterialDistributionNote model) { var type = string.Equals(model.UnitName.ToUpper(), "PRINTING") ? "PR" : "FS"; var lastData = await this._dbSet.Where(w => w.UnitCode == model.UnitCode).OrderByDescending(o => o.CreatedUtc).FirstOrDefaultAsync(); DateTime Now = DateTime.Now; string Year = Now.ToString("yy"); if (lastData == null) { model.AutoIncrementNumber = 1; string Number = model.AutoIncrementNumber.ToString().PadLeft(4, '0'); model.No = $"P{type}{Year}{Number}"; } else { if (lastData.CreatedUtc.Year < Now.Year) { model.AutoIncrementNumber = 1; string Number = model.AutoIncrementNumber.ToString().PadLeft(4, '0'); model.No = $"P{type}{Year}{Number}"; } else { model.AutoIncrementNumber = lastData.AutoIncrementNumber + 1; string Number = model.AutoIncrementNumber.ToString().PadLeft(4, '0'); model.No = $"P{type}{Year}{Number}"; } } return(model); }
public async Task <int> DeleteAsync(int id) { int count = 0; using (var trans = _inventoryDbContext.Database.BeginTransaction()) { try { MaterialDistributionNote materialDistributionNote = await ReadByIdAsync(id); materialDistributionNote.FlagForDelete(_identityInterface.Username, UserAgent); foreach (var item in materialDistributionNote.MaterialDistributionNoteItems) { item.FlagForDelete(_identityInterface.Username, UserAgent); foreach (var detail in item.MaterialDistributionNoteDetails) { detail.FlagForDelete(_identityInterface.Username, UserAgent); } } count = await _inventoryDbContext.SaveChangesAsync(); IMaterialRequestNoteRepository materialsRequestNoteService = _serviceProvider.GetService <IMaterialRequestNoteRepository>(); foreach (MaterialDistributionNoteItem materialDistributionNoteItem in materialDistributionNote.MaterialDistributionNoteItems) { MaterialsRequestNote materialsRequestNote = await materialsRequestNoteService.ReadByIdAsync(materialDistributionNoteItem.MaterialRequestNoteId); materialsRequestNote.IsDistributed = true; if (materialDistributionNote.Type.ToUpper().Equals("PRODUCTION")) { foreach (MaterialDistributionNoteDetail materialDistributionNoteDetail in materialDistributionNoteItem.MaterialDistributionNoteDetails) { materialsRequestNote.MaterialsRequestNoteItems .Where(w => w.ProductionOrderId .Equals(materialDistributionNoteDetail.ProductionOrderId)) .Select(s => { s.DistributedLength -= materialDistributionNoteDetail.ReceivedLength; return(s); }).ToList(); } materialsRequestNoteService.UpdateDistributedQuantity(materialsRequestNote.Id, materialsRequestNote); } await materialsRequestNoteService.UpdateAsync(materialsRequestNote.Id, materialsRequestNote); } await CreateInventoryDocument(materialDistributionNote, "IN"); trans.Commit(); } catch (Exception ex) { trans.Rollback(); throw ex; } } return(count); }
public MaterialDistributionNote MapToModel(MaterialDistributionNoteViewModel viewModel) { MaterialDistributionNote model = new MaterialDistributionNote(); PropertyCopier <MaterialDistributionNoteViewModel, MaterialDistributionNote> .Copy(viewModel, model); model.UnitId = viewModel.Unit.Id.ToString(); model.UnitCode = viewModel.Unit.Code; model.UnitName = viewModel.Unit.Name; model.MaterialDistributionNoteItems = new List <MaterialDistributionNoteItem>(); foreach (MaterialDistributionNoteItemViewModel mdni in viewModel.MaterialDistributionNoteItems) { MaterialDistributionNoteItem materialDistributionNoteItem = new MaterialDistributionNoteItem(); PropertyCopier <MaterialDistributionNoteItemViewModel, MaterialDistributionNoteItem> .Copy(mdni, materialDistributionNoteItem); materialDistributionNoteItem.MaterialDistributionNoteDetails = new List <MaterialDistributionNoteDetail>(); foreach (MaterialDistributionNoteDetailViewModel mdnd in mdni.MaterialDistributionNoteDetails) { MaterialDistributionNoteDetail materialDistributionNoteDetail = new MaterialDistributionNoteDetail(); PropertyCopier <MaterialDistributionNoteDetailViewModel, MaterialDistributionNoteDetail> .Copy(mdnd, materialDistributionNoteDetail); materialDistributionNoteDetail.ProductionOrderId = mdnd.ProductionOrder.Id; materialDistributionNoteDetail.ProductionOrderNo = mdnd.ProductionOrder.OrderNo; materialDistributionNoteDetail.ProductionOrderIsCompleted = mdnd.ProductionOrder.IsCompleted; materialDistributionNoteDetail.DistributedLength = mdnd.DistributedLength.GetValueOrDefault(); materialDistributionNoteDetail.ProductId = mdnd.Product.Id; materialDistributionNoteDetail.ProductCode = mdnd.Product.Code; materialDistributionNoteDetail.ProductName = mdnd.Product.Name; materialDistributionNoteDetail.SupplierId = mdnd.Supplier.Id; materialDistributionNoteDetail.SupplierCode = mdnd.Supplier.Code; materialDistributionNoteDetail.SupplierName = mdnd.Supplier.Name; materialDistributionNoteItem.MaterialDistributionNoteDetails.Add(materialDistributionNoteDetail); } model.MaterialDistributionNoteItems.Add(materialDistributionNoteItem); } return(model); }
public MaterialDistributionNote GetNewData() { MaterialDistributionNote TestData = new MaterialDistributionNote { UnitId = "1", UnitCode = "Code", UnitName = "Name", Type = "PRODUKSI", IsApproved = false, IsDisposition = false, MaterialDistributionNoteItems = new List <MaterialDistributionNoteItem> { new MaterialDistributionNoteItem() { MaterialRequestNoteCode = "Code", MaterialRequestNoteCreatedDateUtc = DateTime.UtcNow, MaterialDistributionNoteDetails = new List <MaterialDistributionNoteDetail>() { new MaterialDistributionNoteDetail() { DistributedLength = 1, Grade = "a", ProductCode = "Code", ProductId = "1", MaterialsRequestNoteItemId = 1, MaterialRequestNoteItemLength = 1, ProductionOrderId = "1", ProductionOrderNo = "No", ProductName = "Name", SupplierCode = "Code", SupplierId = "1", SupplierName = "Name", ReceivedLength = 1, Quantity = 1 } } } } }; return(TestData); }
public async Task <MaterialDistributionNote> GetTestData() { MaterialRequestNoteSampleData materialRequestNoteDataUtil = new MaterialRequestNoteSampleData(_materialRequestNoteRepository); var mrn = await materialRequestNoteDataUtil.GetTestData(); MaterialDistributionNote Data = GetNewData(); foreach (var item in Data.MaterialDistributionNoteItems) { item.MaterialRequestNoteId = mrn.Id; item.MaterialRequestNoteCreatedDateUtc = mrn.CreatedUtc; item.MaterialRequestNoteCode = mrn.Code; foreach (var detail in item.MaterialDistributionNoteDetails) { detail.MaterialsRequestNoteItemId = mrn.Id; } } await _repository.CreateAsync(Data); return(Data); }
public async Task <MaterialDistributionNote> GetTestData() { MaterialRequestNoteDataUtil.MaterialRequestNoteDataUtil materialRequestNoteDataUtil = new MaterialRequestNoteDataUtil.MaterialRequestNoteDataUtil(mrnService); var mrn = await materialRequestNoteDataUtil.GetTestData(); MaterialDistributionNote Data = GetNewData(); foreach (var item in Data.MaterialDistributionNoteItems) { item.MaterialRequestNoteId = mrn.Id; item.MaterialRequestNoteCreatedDateUtc = mrn._CreatedUtc; item.MaterialRequestNoteCode = mrn.Code; foreach (var detail in item.MaterialDistributionNoteDetails) { detail.MaterialsRequestNoteItemId = mrn.Id; } } await this.Service.CreateAsync(Data); return(Data); }
public async Task <int> CreateInventoryDocument(MaterialDistributionNote model, string type) { string storageURI = "master/storages"; string uomURI = "master/uoms"; IHttpServiceRepository httpClient = (IHttpServiceRepository)_serviceProvider.GetService(typeof(IHttpServiceRepository)); /* Get UOM */ Dictionary <string, object> filterUom = new Dictionary <string, object> { { "Unit", "MTR" } }; var responseUom = httpClient.GetAsync($@"{APIEndpoint.Core}{uomURI}?filter=" + JsonConvert.SerializeObject(filterUom)).Result.Content.ReadAsStringAsync(); Dictionary <string, object> resultUom = JsonConvert.DeserializeObject <Dictionary <string, object> >(responseUom.Result); var jsonUom = resultUom.Single(p => p.Key.Equals("data")).Value; Dictionary <string, object> Uom = JsonConvert.DeserializeObject <List <Dictionary <string, object> > >(jsonUom.ToString())[0]; /* Get Storage */ var storageName = model.UnitName.Equals("PRINTING") ? "Warehouse Here Printing" : "Warehouse Here Finishing"; Dictionary <string, object> filterStorage = new Dictionary <string, object> { { "name", storageName } }; var responseStorage = httpClient.GetAsync($@"{APIEndpoint.Core}{storageURI}?filter=" + JsonConvert.SerializeObject(filterStorage)).Result.Content.ReadAsStringAsync(); Dictionary <string, object> resultStorage = JsonConvert.DeserializeObject <Dictionary <string, object> >(responseStorage.Result); var jsonStorage = resultStorage.Single(p => p.Key.Equals("data")).Value; Dictionary <string, object> storage = JsonConvert.DeserializeObject <List <Dictionary <string, object> > >(jsonStorage.ToString())[0]; /* Create Inventory Document */ List <InventoryDocumentItem> inventoryDocumentItems = new List <InventoryDocumentItem>(); List <MaterialDistributionNoteDetail> mdnds = new List <MaterialDistributionNoteDetail>(); foreach (MaterialDistributionNoteItem mdni in model.MaterialDistributionNoteItems) { mdnds.AddRange(mdni.MaterialDistributionNoteDetails); } foreach (MaterialDistributionNoteDetail mdnd in mdnds) { InventoryDocumentItem inventoryDocumentItem = new InventoryDocumentItem { ProductId = int.Parse(mdnd.ProductId), ProductCode = mdnd.ProductCode, ProductName = mdnd.ProductName, Quantity = mdnd.ReceivedLength, StockPlanning = model.Type != "RE-GRADING" ? (mdnd.DistributedLength == 0 ? mdnd.MaterialRequestNoteItemLength - mdnd.ReceivedLength : mdnd.ReceivedLength * -1) : mdnd.ReceivedLength * -1, UomId = int.Parse(Uom["Id"].ToString()), UomUnit = Uom["Unit"].ToString() }; inventoryDocumentItems.Add(inventoryDocumentItem); } List <InventoryDocumentItem> list = inventoryDocumentItems .GroupBy(m => new { m.ProductId, m.ProductCode, m.ProductName }) .Select(s => new InventoryDocumentItem { ProductId = s.First().ProductId, ProductCode = s.First().ProductCode, ProductName = s.First().ProductName, Quantity = s.Sum(d => d.Quantity), StockPlanning = s.Sum(d => d.StockPlanning), UomUnit = s.First().UomUnit, UomId = s.First().UomId }).ToList(); InventoryDocument inventoryDocument = new InventoryDocument { Date = DateTimeOffset.UtcNow, ReferenceNo = model.No, ReferenceType = "Bon introduction to Here", Type = type, StorageId = int.Parse(storage["Id"].ToString()), StorageCode = storage["Code"].ToString(), StorageName = storage["Name"].ToString(), Items = list }; var inventoryDocumentFacade = _serviceProvider.GetService <IInventoryDocumentRepository>(); return(await inventoryDocumentFacade.Create(inventoryDocument)); }
public async Task <int> UpdateAsync(int id, MaterialDistributionNote model) { int updated = 0; using (var transaction = _inventoryDbContext.Database.BeginTransaction()) { try { if (id != model.Id) { throw new Exception("data not found"); } var dbModel = await ReadByIdAsync(id); dbModel.IsApproved = model.IsApproved; dbModel.IsDisposition = model.IsDisposition; dbModel.AutoIncrementNumber = model.AutoIncrementNumber; dbModel.No = model.No; dbModel.Type = model.Type; dbModel.UnitCode = model.UnitCode; dbModel.UnitId = model.UnitId; dbModel.UnitName = model.UnitName; dbModel.FlagForUpdate(_identityInterface.Username, UserAgent); var deletedItems = dbModel.MaterialDistributionNoteItems.Where(x => !model.MaterialDistributionNoteItems.Any(y => x.Id == y.Id)); var updatedItems = dbModel.MaterialDistributionNoteItems.Where(x => model.MaterialDistributionNoteItems.Any(y => x.Id == y.Id)); var addedItems = model.MaterialDistributionNoteItems.Where(x => !dbModel.MaterialDistributionNoteItems.Any(y => y.Id == x.Id)); foreach (var item in deletedItems) { item.FlagForDelete(_identityInterface.Username, UserAgent); foreach (var detail in item.MaterialDistributionNoteDetails) { detail.FlagForDelete(_identityInterface.Username, UserAgent); } } foreach (var item in updatedItems) { var selectedItem = model.MaterialDistributionNoteItems.FirstOrDefault(x => x.Id == item.Id); item.MaterialRequestNoteCode = selectedItem.MaterialRequestNoteCode; item.MaterialRequestNoteCreatedDateUtc = selectedItem.MaterialRequestNoteCreatedDateUtc; item.MaterialRequestNoteId = selectedItem.MaterialRequestNoteId; item.FlagForUpdate(_identityInterface.Username, UserAgent); var deletedDetails = item.MaterialDistributionNoteDetails.Where(x => !selectedItem.MaterialDistributionNoteDetails.Any(y => x.Id == y.Id)); var updatedDetails = item.MaterialDistributionNoteDetails.Where(x => selectedItem.MaterialDistributionNoteDetails.Any(y => x.Id == y.Id)); var addedDetails = selectedItem.MaterialDistributionNoteDetails.Where(x => !item.MaterialDistributionNoteDetails.Any(y => y.Id == x.Id)); foreach (var detail in deletedDetails) { item.FlagForDelete(_identityInterface.Username, UserAgent); } foreach (var detail in updatedDetails) { var selectedDetail = selectedItem.MaterialDistributionNoteDetails.FirstOrDefault(x => x.Id == detail.Id); detail.DistributedLength = selectedDetail.DistributedLength; detail.Grade = selectedDetail.Grade; detail.IsCompleted = selectedDetail.IsCompleted; detail.IsDisposition = selectedDetail.IsDisposition; detail.MaterialRequestNoteItemLength = selectedDetail.MaterialRequestNoteItemLength; detail.MaterialsRequestNoteItemId = selectedDetail.MaterialsRequestNoteItemId; detail.ProductCode = selectedDetail.ProductCode; detail.ProductId = selectedDetail.ProductId; detail.ProductionOrderId = selectedDetail.ProductionOrderId; detail.ProductionOrderIsCompleted = selectedDetail.ProductionOrderIsCompleted; detail.ProductionOrderNo = selectedDetail.ProductionOrderNo; detail.ProductName = selectedDetail.ProductName; detail.Quantity = selectedDetail.Quantity; detail.ReceivedLength = selectedDetail.ReceivedLength; detail.SupplierCode = selectedDetail.SupplierCode; detail.SupplierId = selectedDetail.SupplierId; detail.SupplierName = selectedDetail.SupplierName; detail.FlagForUpdate(_identityInterface.Username, UserAgent); } foreach (var detail in addedDetails) { detail.MaterialDistributionNoteItemId = id; detail.FlagForCreate(_identityInterface.Username, UserAgent); detail.FlagForUpdate(_identityInterface.Username, UserAgent); } } foreach (var item in addedItems) { item.MaterialDistributionNoteId = id; item.FlagForCreate(_identityInterface.Username, UserAgent); item.FlagForUpdate(_identityInterface.Username, UserAgent); foreach (var detail in item.MaterialDistributionNoteDetails) { detail.FlagForCreate(_identityInterface.Username, UserAgent); detail.FlagForUpdate(_identityInterface.Username, UserAgent); } } updated = await _inventoryDbContext.SaveChangesAsync(); transaction.Commit(); } catch (Exception ex) { transaction.Rollback(); throw ex; } } return(updated); }
public async Task <int> CreateAsync(MaterialDistributionNote model) { int created = 0; using (var transaction = _inventoryDbContext.Database.BeginTransaction()) { try { model = await this.CustomCodeGenerator(model); model.FlagForCreate(_identityInterface.Username, UserAgent); model.FlagForUpdate(_identityInterface.Username, UserAgent); foreach (var item in model.MaterialDistributionNoteItems) { item.FlagForCreate(_identityInterface.Username, UserAgent); item.FlagForUpdate(_identityInterface.Username, UserAgent); foreach (var detail in item.MaterialDistributionNoteDetails) { detail.FlagForCreate(_identityInterface.Username, UserAgent); detail.FlagForUpdate(_identityInterface.Username, UserAgent); } } _dbSet.Add(model); created = await _inventoryDbContext.SaveChangesAsync(); IMaterialRequestNoteRepository materialsRequestNoteService = _serviceProvider.GetService <IMaterialRequestNoteRepository>(); List <ViewModels.InventoryViewModel.InventorySummaryViewModel> data = new List <ViewModels.InventoryViewModel.InventorySummaryViewModel>(); foreach (MaterialDistributionNoteItem materialDistributionNoteItem in model.MaterialDistributionNoteItems) { MaterialsRequestNote materialsRequestNote = await materialsRequestNoteService.ReadByIdAsync(materialDistributionNoteItem.MaterialRequestNoteId); materialsRequestNote.IsDistributed = true; if (model.Type.ToUpper().Equals("PRODUCTION")) { foreach (MaterialDistributionNoteDetail materialDistributionNoteDetail in materialDistributionNoteItem.MaterialDistributionNoteDetails) { materialsRequestNote.MaterialsRequestNoteItems.Where(w => w.ProductionOrderId.Equals(materialDistributionNoteDetail.ProductionOrderId)).Select(s => { s.DistributedLength += materialDistributionNoteDetail.ReceivedLength; return(s); }).ToList(); } materialsRequestNoteService.UpdateDistributedQuantity(materialsRequestNote.Id, materialsRequestNote); } await materialsRequestNoteService.UpdateAsync(materialsRequestNote.Id, materialsRequestNote); } _inventoryDbContext.SaveChanges(); await CreateInventoryDocument(model, "OUT"); transaction.Commit(); } catch (Exception e) { transaction.Rollback(); throw e; } } return(created); }
public MaterialDistributionNoteViewModel MapToViewModel(MaterialDistributionNote model) { MaterialDistributionNoteViewModel viewModel = new MaterialDistributionNoteViewModel(); PropertyCopier <MaterialDistributionNote, MaterialDistributionNoteViewModel> .Copy(model, viewModel); CodeNameViewModel Unit = new CodeNameViewModel() { Id = model.UnitId, Code = model.UnitCode, Name = model.UnitName }; viewModel.Unit = Unit; viewModel.MaterialDistributionNoteItems = new List <MaterialDistributionNoteItemViewModel>(); if (model.MaterialDistributionNoteItems != null) { foreach (MaterialDistributionNoteItem mdni in model.MaterialDistributionNoteItems) { MaterialDistributionNoteItemViewModel materialDistributionNoteItemViewModel = new MaterialDistributionNoteItemViewModel(); PropertyCopier <MaterialDistributionNoteItem, MaterialDistributionNoteItemViewModel> .Copy(mdni, materialDistributionNoteItemViewModel); materialDistributionNoteItemViewModel.MaterialDistributionNoteDetails = new List <MaterialDistributionNoteDetailViewModel>(); foreach (MaterialDistributionNoteDetail mdnd in mdni.MaterialDistributionNoteDetails) { MaterialDistributionNoteDetailViewModel materialDistributionNoteDetailViewModel = new MaterialDistributionNoteDetailViewModel(); PropertyCopier <MaterialDistributionNoteDetail, MaterialDistributionNoteDetailViewModel> .Copy(mdnd, materialDistributionNoteDetailViewModel); ProductionOrderViewModel productionOrder = new ProductionOrderViewModel { Id = mdnd.ProductionOrderId, OrderNo = mdnd.ProductionOrderNo, IsCompleted = mdnd.ProductionOrderIsCompleted, }; CodeNameViewModel product = new CodeNameViewModel { Id = mdnd.ProductId, Code = mdnd.ProductCode, Name = mdnd.ProductName }; CodeNameViewModel supplier = new CodeNameViewModel { Id = mdnd.SupplierId, Code = mdnd.SupplierCode, Name = mdnd.SupplierName }; materialDistributionNoteDetailViewModel.ProductionOrder = productionOrder; materialDistributionNoteDetailViewModel.Product = product; materialDistributionNoteDetailViewModel.Supplier = supplier; materialDistributionNoteItemViewModel.MaterialDistributionNoteDetails.Add(materialDistributionNoteDetailViewModel); } viewModel.MaterialDistributionNoteItems.Add(materialDistributionNoteItemViewModel); } } return(viewModel); }
public async Task <int> DeleteAsync(int id) { int Count = 0; using (var Transaction = this.DbContext.Database.BeginTransaction()) { try { MaterialDistributionNote materialDistributionNote = await ReadByIdAsync(id); materialDistributionNote.FlagForDelete(IdentityService.Username, UserAgent); foreach (var item in materialDistributionNote.MaterialDistributionNoteItems) { item.FlagForDelete(IdentityService.Username, UserAgent); foreach (var detail in item.MaterialDistributionNoteDetails) { detail.FlagForDelete(IdentityService.Username, UserAgent); } } Count = await DbContext.SaveChangesAsync(); //MaterialDistributionNoteItemService materialDistributionNoteItemService = ServiceProvider.GetService<MaterialDistributionNoteItemService>(); //MaterialDistributionNoteDetailService materialDistributionNoteDetailService = ServiceProvider.GetService<MaterialDistributionNoteDetailService>(); //materialDistributionNoteItemService.Username = this.Username; //materialDistributionNoteDetailService.Username = this.Username; //HashSet<int> MaterialDistributionNoteItems = new HashSet<int>(this.DbContext.MaterialDistributionNoteItems.Where(p => p.MaterialDistributionNoteId.Equals(Id)).Select(p => p.Id)); //List<InventorySummaryViewModel> data = new List<InventorySummaryViewModel>(); //foreach (int item in MaterialDistributionNoteItems) //{ // HashSet<int> MaterialDistributionNoteDetails = new HashSet<int>(this.DbContext.MaterialDistributionNoteDetails.Where(p => p.MaterialDistributionNoteItemId.Equals(item)).Select(p => p.Id)); // foreach (int detail in MaterialDistributionNoteDetails) // { // await materialDistributionNoteDetailService.DeleteAsync(detail); // } // await materialDistributionNoteItemService.DeleteAsync(item); //} IMaterialRequestNoteService materialsRequestNoteService = ServiceProvider.GetService <IMaterialRequestNoteService>(); //MaterialsRequestNote_ItemService materialsRequestNote_ItemService = ServiceProvider.GetService<MaterialsRequestNote_ItemService>(); //materialsRequestNoteService.Username = Username; //materialsRequestNoteService.Token = Token; //materialsRequestNote_ItemService.Username = Username; foreach (MaterialDistributionNoteItem materialDistributionNoteItem in materialDistributionNote.MaterialDistributionNoteItems) { MaterialsRequestNote materialsRequestNote = await materialsRequestNoteService.ReadByIdAsync(materialDistributionNoteItem.MaterialRequestNoteId); materialsRequestNote.IsDistributed = true; //inventory summary data if (materialDistributionNote.Type.ToUpper().Equals("PRODUKSI")) { foreach (MaterialDistributionNoteDetail materialDistributionNoteDetail in materialDistributionNoteItem.MaterialDistributionNoteDetails) { materialsRequestNote.MaterialsRequestNote_Items.Where(w => w.ProductionOrderId.Equals(materialDistributionNoteDetail.ProductionOrderId)).Select(s => { s.DistributedLength -= materialDistributionNoteDetail.ReceivedLength; return(s); }).ToList(); } materialsRequestNoteService.UpdateDistributedQuantity(materialsRequestNote.Id, materialsRequestNote); //foreach (MaterialsRequestNote_Item materialRequestNoteItem in materialsRequestNote.MaterialsRequestNote_Items) //{ // materialsRequestNote_ItemService.OnUpdating(materialRequestNoteItem.Id, materialRequestNoteItem); // materialsRequestNote_ItemService.DbSet.Update(materialRequestNoteItem); //} } await materialsRequestNoteService.UpdateAsync(materialsRequestNote.Id, materialsRequestNote); //materialsRequestNoteService.OnUpdating(materialsRequestNote.Id, materialsRequestNote); //materialsRequestNoteService.DbSet.Update(materialsRequestNote); } await CreateInventoryDocument(materialDistributionNote, "IN"); Transaction.Commit(); } catch (Exception ex) { Transaction.Rollback(); throw ex; } } return(Count); }