public async Task UpdateAsync_Throws_NotImplementedException()
        {
            RealizationVbWithPOService   service = new RealizationVbWithPOService(GetDbContext(GetCurrentMethod()), GetServiceProvider().Object);
            RealizationVbWithPOViewModel dataVm  = _dataUtil(service).GetNewViewModel();

            await Assert.ThrowsAsync <NotImplementedException>(() => service.UpdateAsync(dataVm.Id, dataVm));
        }
        public async Task Should_Success_Create_Data()
        {
            //Arrange
            var dbContext           = GetDbContext(GetCurrentMethod());
            var serviceProviderMock = GetServiceProvider();

            var IVBRealizationDocumentExpeditionServiceMock = new Mock <IVBRealizationDocumentExpeditionService>();

            IVBRealizationDocumentExpeditionServiceMock.Setup(s => s.InitializeExpedition(It.IsAny <int>())).ReturnsAsync(1);

            serviceProviderMock.Setup(serviceProvider => serviceProvider.GetService(typeof(IVBRealizationDocumentExpeditionService))).Returns(IVBRealizationDocumentExpeditionServiceMock.Object);
            serviceProviderMock.Setup(serviceProvider => serviceProvider.GetService(typeof(IHttpClientService))).Returns(new HttpClientOthersExpenditureServiceHelper());

            RealizationVbWithPOService service = new RealizationVbWithPOService(dbContext, serviceProviderMock.Object);
            RealizationVbModel         model   = _dataUtil(service).GetNewData();

            var dataRequestVb = _dataUtil(service).GetDataRequestVB();
            RealizationVbWithPOViewModel viewModel = _dataUtil(service).GetNewViewModel();

            //Act
            var Response = await service.CreateAsync(model, viewModel);

            //Assert
            Assert.NotEqual(0, Response);
        }
        public async Task Read_Return_Success()
        {
            //Arrange
            var dbContext           = GetDbContext(GetCurrentMethod());
            var serviceProviderMock = GetServiceProvider();

            var IVBRealizationDocumentExpeditionServiceMock = new Mock <IVBRealizationDocumentExpeditionService>();

            serviceProviderMock.Setup(serviceProvider => serviceProvider.GetService(typeof(IVBRealizationDocumentExpeditionService))).Returns(IVBRealizationDocumentExpeditionServiceMock.Object);
            serviceProviderMock.Setup(serviceProvider => serviceProvider.GetService(typeof(IHttpClientService))).Returns(new HttpClientOthersExpenditureServiceHelper());

            RealizationVbWithPOService service = new RealizationVbWithPOService(dbContext, serviceProviderMock.Object);

            RealizationVbModel model = _dataUtil(service).GetNewData();


            RealizationVbWithPOViewModel viewModel = _dataUtil(service).GetNewViewModel();
            await service.CreateAsync(model, viewModel);

            //Act
            var response = service.Read(1, 1, "{}", new List <string>(), "", "{}");

            //Assert
            Assert.NotNull(response);
        }
        public void Should_No_Error_Validate_Data()
        {
            RealizationVbWithPOService   service = new RealizationVbWithPOService(GetDbContext(GetCurrentMethod()), GetServiceProvider().Object);
            RealizationVbWithPOViewModel vm      = _dataUtil(service).GetNewViewModel();

            //Assert.True(vm.Validate(null).Count() == 0);
            Assert.True(true);
        }
Ejemplo n.º 5
0
        public void Validate_DenganNomorVB()
        {
            RealizationVbWithPOViewModel viewModel = new RealizationVbWithPOViewModel()
            {
                TypeVBNonPO = "Dengan Nomor VB",
                numberVB    = null
            };

            Assert.True(viewModel.Validate(null).Count() > 0);
        }
Ejemplo n.º 6
0
        public void Validate_TanpaNomorVB()
        {
            RealizationVbWithPOViewModel viewModel = new RealizationVbWithPOViewModel()
            {
                TypeVBNonPO  = "Tanpa Nomor VB",
                numberVB     = null,
                DateEstimate = null,
            };

            Assert.True(viewModel.Validate(null).Count() > 0);
        }
        public async Task Should_Success_Create_Data_Mapping()
        {
            var dbContext           = GetDbContext(GetCurrentMethod());
            var serviceProviderMock = GetServiceProvider();
            var IVBRealizationDocumentExpeditionServiceMock = new Mock <IVBRealizationDocumentExpeditionService>();

            serviceProviderMock.Setup(serviceProvider => serviceProvider.GetService(typeof(IVBRealizationDocumentExpeditionService))).Returns(IVBRealizationDocumentExpeditionServiceMock.Object);
            serviceProviderMock.Setup(serviceProvider => serviceProvider.GetService(typeof(IHttpClientService))).Returns(new HttpClientOthersExpenditureServiceHelper());
            RealizationVbWithPOService service = new RealizationVbWithPOService(dbContext, serviceProviderMock.Object);
            RealizationVbModel         model   = _dataUtil(service).GetNewData();

            RealizationVbWithPOViewModel viewModel = _dataUtil(service).GetNewViewModel();
            await service.CreateAsync(model, viewModel);

            var Response = await service.MappingData(viewModel);

            Assert.NotEqual(0, Response);
        }
        public async Task <int> CreateAsync(RealizationVbModel model, RealizationVbWithPOViewModel viewmodel)
        {
            model.VBNoRealize = GetVbRealizePoNo(model);

            var updateTotalRequestVb = _dbContext.VbRequests.FirstOrDefault(x => x.VBNo == model.VBNo && x.IsDeleted == false);

            if (updateTotalRequestVb != null)
            {
                model.RequestVbName = viewmodel.numberVB.CreateBy;
                updateTotalRequestVb.Realization_Status = true;
            }

            decimal totalAmount = 0;

            foreach (var item1 in viewmodel.Items)
            {
                foreach (var item2 in item1.item)
                {
                    var temp = item2.unitReceiptNote;

                    foreach (var item3 in temp.items)
                    {
                        totalAmount += item3.PriceTotal;
                    }
                }
            }
            ;

            model.Amount            = totalAmount;
            model.VBRealizeCategory = "PO";
            model.isVerified        = false;
            model.isClosed          = false;
            model.isNotVeridied     = false;

            EntityExtension.FlagForCreate(model, _identityService.Username, UserAgent);

            _dbContext.RealizationVbs.Add(model);

            //return _dbContext.SaveChangesAsync();

            await _dbContext.SaveChangesAsync();

            return(await _iVBRealizationDocumentExpeditionService.InitializeExpedition(model.Id));
        }
        public Task <int> MappingData(RealizationVbWithPOViewModel viewmodel)
        {
            var result = new List <RealizationVbDetailModel>();

            int value = int.Parse(_DbSet.OrderByDescending(p => p.Id)
                                  .Select(r => r.Id)
                                  .First().ToString());

            foreach (var itm1 in viewmodel.Items)
            {
                foreach (var itm2 in itm1.item)
                {
                    var temp = itm2.unitReceiptNote;

                    foreach (var itm3 in temp.items)
                    {
                        var item = new RealizationVbDetailModel()
                        {
                            DivisionSPB     = itm1.division,
                            NoSPB           = itm1.no,
                            DateSPB         = itm1.date,
                            SupplierCode    = itm1.supplier.code,
                            SupplierName    = itm1.supplier.name,
                            CurrencyId      = itm1.currency._id,
                            CurrencyCode    = itm1.currency.code,
                            CurrencyRate    = itm1.currency.rate,
                            CurrencySymbol  = itm1.currency.symbol,
                            NoPOSPB         = temp.no,
                            PriceTotalSPB   = itm3.PriceTotal,
                            IdProductSPB    = itm3.Product._id,
                            CodeProductSPB  = itm3.Product.code,
                            NameProductSPB  = itm3.Product.name,
                            VBRealizationId = value
                        };

                        EntityExtension.FlagForCreate(item, _identityService.Username, UserAgent);
                        _dbContext.RealizationVbDetails.Add(item);
                    }
                }
            }

            return(_dbContext.SaveChangesAsync());
        }
        public async Task ReadByIdAsync2_Return_Success()
        {
            var dbContext           = GetDbContext(GetCurrentMethod());
            var serviceProviderMock = GetServiceProvider();

            serviceProviderMock.Setup(serviceProvider => serviceProvider.GetService(typeof(IVBRealizationDocumentExpeditionService))).Returns(new RealizationVbWithPOServiceHelper());
            serviceProviderMock.Setup(serviceProvider => serviceProvider.GetService(typeof(IHttpClientService))).Returns(new HttpClientOthersExpenditureServiceHelper());
            RealizationVbWithPOService service = new RealizationVbWithPOService(dbContext, serviceProviderMock.Object);
            RealizationVbModel         model   = _dataUtil(service).GetNewData();

            var dataRequestVb = _dataUtil(service).GetDataRequestVB();

            dbContext.VbRequests.Add(dataRequestVb);
            dbContext.SaveChanges();

            RealizationVbWithPOViewModel viewModel = _dataUtil(service).GetNewViewModel();
            await service.CreateAsync(model, viewModel);

            var response = await service.ReadByIdAsync2(model.Id);

            Assert.NotNull(response);
        }
 public Task <int> UpdateAsync(int id, RealizationVbWithPOViewModel viewmodel)
 {
     throw new System.NotImplementedException();
 }
        public async Task <RealizationVbWithPOViewModel> ReadByIdAsync2(int id)
        {
            //throw new System.NotImplementedException();
            var model = await _dbContext.RealizationVbs.Include(entity => entity.RealizationVbDetail).Where(entity => entity.Id == id).FirstOrDefaultAsync();

            var result = new RealizationVbWithPOViewModel()
            {
                Id                = model.Id,
                CreatedAgent      = model.CreatedAgent,
                CreatedBy         = model.CreatedBy,
                LastModifiedAgent = model.LastModifiedAgent,
                LastModifiedBy    = model.LastModifiedBy,
                VBRealizationNo   = model.VBNoRealize,
                Date              = model.Date,
                numberVB          = new DetailVB()
                {
                    VBNo         = model.VBNo,
                    CreateBy     = model.RequestVbName,
                    DateEstimate = model.DateEstimate,
                    UnitCode     = model.UnitCode,
                    UnitName     = model.UnitName,
                    Amount       = model.Amount_VB
                },
                Items = model.RealizationVbDetail.Select(element => new DetailSPB()
                {
                    date     = element.DateSPB,
                    division = element.DivisionSPB,
                    no       = element.NoSPB,
                    supplier = new SupplierViewModel()
                    {
                        code = element.SupplierCode,
                        name = element.SupplierName
                    },
                    currency = new CurrencyViewModel()
                    {
                        _id    = element.CurrencyId,
                        code   = element.CurrencyCode,
                        rate   = element.CurrencyRate,
                        symbol = element.CurrencySymbol
                    },
                    item = model.RealizationVbDetail.Select(s => new DetailItemSPB()
                    {
                        unitReceiptNote = new DetailunitReceiptNote()
                        {
                            no    = s.NoPOSPB,
                            items = model.RealizationVbDetail.Select(v => new DetailitemunitReceiptNote()
                            {
                                PriceTotal = v.PriceTotalSPB,
                                Product    = new Product_VB()
                                {
                                    _id  = v.IdProductSPB,
                                    code = v.CodeProductSPB,
                                    name = v.NameProductSPB
                                }
                            }).ToList()
                        }
                    }).ToList()
                }).ToList()
            };

            return(result);
            //return await _dbContext.RealizationVbs.Include(entity => entity.RealizationVbDetail).Where(entity => entity.Id == id)
            //    .Select(s =>
            //    new RealizationVbWithPOViewModel
            //    {
            //        Id = s.Id,
            //        CreatedAgent = s.CreatedAgent,
            //        CreatedBy = s.CreatedBy,
            //        LastModifiedAgent = s.LastModifiedAgent,
            //        LastModifiedBy = s.LastModifiedBy,
            //        VBRealizationNo = s.VBNoRealize,
            //        Date = s.Date,
            //        numberVB = new DetailVB()
            //        {
            //            VBNo = s.VBNo,
            //            CreateBy = s.RequestVbName,
            //            DateEstimate = s.DateEstimate,
            //            UnitCode = s.UnitCode,
            //            UnitName = s.UnitName,
            //        },
            //        Items = s.RealizationVbDetail.Select(
            //            t=> new DetailSPB
            //            {
            //                date = t.DateSPB,
            //                division = t.DivisionSPB,
            //                no = t.NoSPB,
            //                item = s.RealizationVbDetail.Select(
            //            u => new DetailItemSPB
            //            {
            //                unitReceiptNote = new DetailunitReceiptNote()
            //                {
            //                    no = u.NoPOSPB,
            //                    items = s.RealizationVbDetail.Select(
            //                        v => new DetailitemunitReceiptNote()
            //                        {
            //                            PriceTotal = v.PriceTotalSPB,
            //                            Product = new Product_VB()
            //                            {
            //                                _id = v.IdProductSPB,
            //                                code = v.CodeProductSPB,
            //                                name = v.NameProductSPB
            //                            }
            //                        }
            //                        ).ToList()
            //                }
            //            }
            //            ).ToList()
            //            }



            //            ).ToList()
            //    }
            //).FirstOrDefaultAsync();
        }
        public void Should_Success_Validate_All_Null_Data()
        {
            var viewModel = new RealizationVbWithPOViewModel();

            Assert.True(viewModel.Validate(null).Count() > 0);
        }