public async Task <InventoryWeavingMovement> GetTestData() { InventoryWeavingMovement Data = GetNewData(); await Service.Create(Data); return(Data); }
public async Task <int> UpdateAsyncMovement(InventoryWeavingMovement model) { try { int Updated = 0; var existingStock = DbSet2.Where(x => x.InventoryWeavingDocumentItemId == model.InventoryWeavingDocumentItemId).FirstOrDefault(); if (existingStock.Quantity != model.Quantity) { existingStock.Quantity = model.Quantity; } if (existingStock.QuantityPiece != model.QuantityPiece) { existingStock.QuantityPiece = model.QuantityPiece; } //existingStock.Quantity -= model.Quantity; existingStock.FlagForUpdate(IdentityService.Username, UserAgent); Updated = await DbContext.SaveChangesAsync(); //transaction.Commit(); return(Updated); } catch (Exception e) { //transaction.Rollback(); throw e; } }
public InventoryWeavingMovement GetNewData() { InventoryWeavingMovement TestData = new InventoryWeavingMovement { ProductOrderName = "Name", BonNo = "nota", ReferenceNo = "Ref", _CreatedUtc = DateTime.UtcNow, Construction = "construction", MaterialName = "Name", WovenType = "Type", Yarn1 = "Yarn1", Yarn2 = "Yarn2", Width = "Width", YarnOrigin1 = "YarnOrigin1", YarnOrigin2 = "YarnOrigin2", YarnType1 = "YarnType1", YarnType2 = "YarnType2", QuantityPiece = 10, Quantity = 10, Grade = "Grade", Type = "IN", InventoryWeavingDocumentId = 1, }; return(TestData); }
public async Task Create(InventoryWeavingDocument model) { //var bonCheck = this.DbSetDoc.FirstOrDefault(s => s.Date.Date == model.Date.Date && s.BonType == model.BonType && s.Type == "OUT"); // var bonCheck = this.DbContext.InventoryWeavingDocuments.Where(s => s.Date.Date == model.Date.Date && s.BonType == model.BonType && s.Type == "OUT").FirstOrDefault(); // if (bonCheck == null) //{ model.BonNo = GenerateBon(model.BonType, model.Date); model.FlagForCreate(IdentityService.Username, UserAgent); model.FlagForUpdate(IdentityService.Username, UserAgent); foreach (var item in model.Items) { item.FlagForCreate(IdentityService.Username, UserAgent); item.FlagForUpdate(IdentityService.Username, UserAgent); } DbSetDoc.Add(model); var result = await DbContext.SaveChangesAsync(); foreach (var item in model.Items) { InventoryWeavingMovement movement = new InventoryWeavingMovement { ProductOrderName = item.ProductOrderName, BonNo = model.BonNo, ReferenceNo = item.ReferenceNo, Construction = item.Construction, Grade = item.Grade, //Piece = item.Piece, MaterialName = item.MaterialName, WovenType = item.WovenType, Width = item.Width, Yarn1 = item.Yarn1, Yarn2 = item.Yarn2, YarnType1 = item.YarnType1, YarnType2 = item.YarnType2, YarnOrigin1 = item.YarnOrigin1, YarnOrigin2 = item.YarnOrigin2, UomId = item.UomId, UomUnit = item.UomUnit, Quantity = item.Quantity, QuantityPiece = item.QuantityPiece, ProductRemark = item.ProductRemark, Type = model.Type, InventoryWeavingDocumentId = model.Id, InventoryWeavingDocumentItemId = item.Id }; movement.FlagForCreate(IdentityService.Username, UserAgent); movement.FlagForUpdate(IdentityService.Username, UserAgent); DbSetMovement.Add(movement); } var result2 = await DbContext.SaveChangesAsync(); }
private InventoryWeavingMovement GenerateMovement(InventoryWeavingDocumentItem item) { InventoryWeavingMovement movement = new InventoryWeavingMovement { Quantity = item.Quantity, QuantityPiece = item.QuantityPiece, InventoryWeavingDocumentItemId = item.Id }; return(movement); }
public async Task UploadData(InventoryWeavingDocument data, string username) { //IInventoryWeavingMovementService movement = ServiceProvider.GetService<IInventoryWeavingMovementService>(); foreach (var i in data.Items) { MoonlayEntityExtension.FlagForCreate(i, username, USER_AGENT); MoonlayEntityExtension.FlagForUpdate(i, username, USER_AGENT); } MoonlayEntityExtension.FlagForCreate(data, username, USER_AGENT); MoonlayEntityExtension.FlagForUpdate(data, username, USER_AGENT); DbSet.Add(data); var result = await DbContext.SaveChangesAsync(); foreach (var item in data.Items) { InventoryWeavingMovement movementModel = new InventoryWeavingMovement { ProductOrderName = item.ProductOrderName, BonNo = data.BonNo, ReferenceNo = item.ReferenceNo, Construction = item.Construction, Grade = item.Grade, //Piece = item.Piece, MaterialName = item.MaterialName, WovenType = item.WovenType, Width = item.Width, Yarn1 = item.Yarn1, Yarn2 = item.Yarn2, YarnType1 = item.YarnType1, YarnType2 = item.YarnType2, YarnOrigin1 = item.YarnOrigin1, YarnOrigin2 = item.YarnOrigin2, UomId = item.UomId, UomUnit = item.UomUnit, Quantity = item.Quantity, QuantityPiece = item.QuantityPiece, ProductRemark = item.ProductRemark, Type = data.Type, InventoryWeavingDocumentId = data.Id, InventoryWeavingDocumentItemId = item.Id, Barcode = item.Barcode, ProductionOrderDate = item.ProductionOrderDate, DestinationArea = item.DestinationArea //await BulkInsert(data, username); }; MoonlayEntityExtension.FlagForCreate(movementModel, username, USER_AGENT); MoonlayEntityExtension.FlagForUpdate(movementModel, username, USER_AGENT); DbSet2.Add(movementModel); } var result2 = await DbContext.SaveChangesAsync(); }
public async Task <int> Create(InventoryWeavingMovement model, string username) { int Created = 0; using (var transaction = DbContext.Database.BeginTransaction()) { try { model.FlagForCreate(username, USER_AGENT); model.FlagForUpdate(username, USER_AGENT); DbSet.Add(model); Created = await DbContext.SaveChangesAsync(); } catch (Exception e) { transaction.Rollback(); throw new Exception("Insert Error : " + e.Message); } } return(Created); }
//public async Task<InventoryWeavingDocument> GetExistingModel( InventoryWeavingDocument data) //{ // List<InventoryWeavingDocumentItem> DocsItems = new List<InventoryWeavingDocumentItem>(); // foreach (var i in Id) // { // i.ListItems = i.ListItems.Where(s => s.IsSave).ToList(); // data = data.Items.Where(s => s.Id == ); // foreach (var d in i.ListItems) // { // DocsItems.Add(new InventoryWeavingDocumentItem // { // Id = d.Id, // Active = d.Active, // _CreatedBy = d._CreatedBy, // _CreatedUtc = d._CreatedUtc, // _CreatedAgent = d._CreatedAgent, // _LastModifiedBy = d._LastModifiedBy, // _LastModifiedUtc = d._LastModifiedUtc, // _LastModifiedAgent = d._LastModifiedAgent, // _IsDeleted = d._IsDeleted, // ProductOrderName = i.ProductOrderNo, // ReferenceNo = i.ReferenceNo, // Construction = i.Construction, // Grade = d.Grade, // Piece = d.Piece == "BESAR" ? "1" : d.Piece == "KECIL" ? "2" : "3", // MaterialName = d.MaterialName, // WovenType = d.WovenType, // Width = d.Width, // Yarn1 = d.Yarn1, // Yarn2 = d.Yarn2, // YarnType1 = d.YarnType1, // YarnType2 = d.YarnType2, // YarnOrigin1 = d.YarnOrigin1, // YarnOrigin2 = d.YarnOrigin2, // UomId = 35, // UomUnit = "MTR", // Quantity = d.Qty, // QuantityPiece = d.QtyPiece, // ProductRemark = d.ProductRemark, // //InventoryWeavingDocumentId = d.InventoryWeavingDocumentId // }); // } // } // InventoryWeavingDocument model = new InventoryWeavingDocument // { // BonNo = data.BonNo, // BonType = data.BonType, // Date = data.Date, // StorageId = data.Id, // StorageCode = data.StorageCode, // StorageName = data.StorageName, // Remark = "", // Type = data.Type, // Items = DocsItems // }; // return model; //} public async Task <int> UpdateAsync(int id, InventoryWeavingDocument model) { using (var transaction = DbContext.Database.CurrentTransaction ?? DbContext.Database.BeginTransaction()) { try { int Updated = 0; int[] Id = model.Items.Select(i => i.Id).ToArray(); var existingModel = this.DbSet.Where(d => d.Id.Equals(id) && d._IsDeleted.Equals(false)).Include(p => p.Items).FirstOrDefault(); //var existingModel = GetExistingModel(Id); //var modelExist = this.DbSet.Where(x => x.Items.Any(s => Id.Contains(s.Id))).ToList(); //var existingModel = this.DbSet.Where(d => d.Id.Equals(id) && d._IsDeleted.Equals(false)).Include(p => p.Items.Any( s=> Id.Contains(s.Id))).FirstOrDefault(); //existingModel = existingModel.Items.Any(s => Id.Contains(s.Id)); //foreach (var existingItem in existingModel.Detail) //{ // GarmentLeftoverWarehouseStock stockIn = GenerateStock(existingItem); // await StockService.StockIn(stockIn, model.ExpenditureNo, model.Id, existingItem.Id); //} foreach (var existingItem in existingModel.Items.Where(x => Id.Contains(x.Id))) { var item = model.Items.FirstOrDefault(i => i.Id == existingItem.Id); if (item != null) { if (existingItem.Quantity != item.Quantity) { existingItem.Quantity = item.Quantity; } if (existingItem.QuantityPiece != item.QuantityPiece) { existingItem.QuantityPiece = item.QuantityPiece; } existingItem.FlagForUpdate(IdentityService.Username, UserAgent); } //else //{ // if (existingItem.Quantity != item.Quantity) // { // existingItem.Quantity = item.Quantity; // } // if (existingItem.QuantityPiece != item.QuantityPiece) // { // existingItem.QuantityPiece = item.QuantityPiece; // } // existingItem.FlagForUpdate(IdentityService.Username, UserAgent); //} } foreach (var item in model.Items.Where(i => i.Id == 0)) { item.FlagForCreate(IdentityService.Username, UserAgent); item.FlagForUpdate(IdentityService.Username, UserAgent); existingModel.Items.Add(item); } Updated = await DbContext.SaveChangesAsync(); foreach (var item in model.Items) { InventoryWeavingMovement movement = GenerateMovement(item); await movementService.UpdateAsync(movement); } transaction.Commit(); return(Updated); } catch (Exception e) { transaction.Rollback(); throw e; } } }