Ejemplo n.º 1
0
        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));
        }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 3
0
        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);
        }
Ejemplo n.º 4
0
 public async Task <List <StockModel> > MoveMaterial(MaterialMovementModel model)
 {
     return(await this.quarryRepository.MoveMaterial(model));
 }
Ejemplo n.º 5
0
 public async Task <AjaxModel <List <StockModel> > > MoveMaterial([FromBody] MaterialMovementModel model)
 {
     return(await AjaxHelper.SaveGetAsync(m => this.domain.MoveMaterial(model), QuarryMessages.MaterialMovementSuccess));
 }