public async Task <List <StockModel> > MoveMaterial(MaterialMovementModel model) { string ids = string.Join(",", model.MaterialIds); var database = this.DbContext.Database; await database.BeginTransactionAsync(); try { string sql = "update quarry.MaterialMovement set CurrentInd = 0 where MaterialId in (" + ids + ")"; await this.DbContext.ExecuteSqlCommandAsync(sql); // inserting the movement sql = "insert into quarry.MaterialMovement(MaterialId, FromYardId, ToYardId, MovementDate, CurrentInd, CreatedUserId, CreatedDate, LastModifiedUserId, LastModifiedDate, DeletedInd, CompanyId) " + " select MaterialId, YardId, @p0, @p1, 1, @p2, @p3, @p4, @p5, 0, @p6 from quarry.Material where MaterialId in (" + ids + ")"; await this.DbContext.ExecuteSqlCommandAsync(sql, model.ToYardId, model.MovementDate, this.AppContext.UserName, DateTime.UtcNow, this.AppContext.UserName, DateTime.UtcNow, this.AppContext.CompanyId.ToString()); // setting the YardId for the Material sql = "update quarry.Material set YardId = @p0 " + "from quarry.Material m where m.MaterialId in (" + ids + ")"; await this.DbContext.ExecuteSqlCommandAsync(sql, model.ToYardId); database.CommitTransaction(); } catch { database.RollbackTransaction(); throw; } return(await this.StockGet(model.FromYardId)); }
public async void MoveMaterial() { // Arrange await this.StockGetArrange(); // mocking database calls var moqDb = Mock.Get(this.QuarryDbContext); var moqDatabase = new Mock <DatabaseFacade>(this.QuarryDbContext); moqDb.SetupGet(m => m.Database).Returns(moqDatabase.Object); moqDb.Setup(m => m.ExecuteSqlCommandAsync(It.IsAny <string>(), It.IsAny <object[]>())) .Returns(Task.FromResult(0)); MaterialMovementModel model = new MaterialMovementModel() { FromYardId = 1, ToYardId = 1, MovementDate = DateTime.Now, MaterialIds = new int[] { 1, 2 } }; // Act AjaxModel <List <StockModel> > ajaxModel = await this.Controller.MoveMaterial(model); // Assert Assert.Equal(ajaxModel.Message, QuarryMessages.MaterialMovementSuccess); this.StockGetAssert(ajaxModel.Model); }
public async void MoveMaterial() { // Arrange await this.StockGetArrange(); // mocking database calls var moqDb = Mock.Get(this.QuarryDbContext); var moqDatabase = new Mock<DatabaseFacade>(this.QuarryDbContext); moqDb.SetupGet(m => m.Database).Returns(moqDatabase.Object); moqDb.Setup(m => m.ExecuteSqlCommandAsync(It.IsAny<string>(), It.IsAny<object[]>())) .Returns(Task.FromResult(0)); MaterialMovementModel model = new MaterialMovementModel() { FromYardId = 1, ToYardId = 1, MovementDate = DateTime.Now, MaterialIds = new int[] { 1, 2 } }; // Act AjaxModel<List<StockModel>> ajaxModel = await this.Controller.MoveMaterial(model); // Assert Assert.Equal(ajaxModel.Message, QuarryMessages.MaterialMovementSuccess); this.StockGetAssert(ajaxModel.Model); }
public async Task <List <StockModel> > MoveMaterial(MaterialMovementModel model) { return(await this.quarryRepository.MoveMaterial(model)); }
public async Task <AjaxModel <List <StockModel> > > MoveMaterial([FromBody] MaterialMovementModel model) { return(await AjaxHelper.SaveGetAsync(m => this.domain.MoveMaterial(model), QuarryMessages.MaterialMovementSuccess)); }