Example #1
0
        public void should_success_instantiate()
        {
            VBRealizationDocumentNonPOExpenditureItemViewModel viewModel = new VBRealizationDocumentNonPOExpenditureItemViewModel()
            {
                IncomeTax = new IncomeTaxViewModel()
                {
                    Name = "Name",
                    Rate = 1
                },
                VatTax = new VatTaxViewModel()
                {
                    Id   = "1",
                    Rate = "10"
                }
            };

            VBRealizationDocumentExpenditureItemModel model = new VBRealizationDocumentExpenditureItemModel(1, viewModel);

            model.SetDate(DateTimeOffset.Now, "user", "userAgent");
            model.SetRemark("newRemark", "user", "userAgent");
            model.SetAmount(1, "user", "userAgent");
            model.SetUseVat(true, "user", "userAgent");
            model.SetUseIncomeTax(true, "user", "userAgent");
            model.SetIncomeTax(1, 2, "newIncomeTaxName", "user", "userAgent");
            model.SetVatTax("1", "newVatTax", "user", "userAgent");
            model.SetIncomeTaxBy("newIncomeTaxBy", "user", "userAgent");
        }
Example #2
0
        private void EditItems(int id, IEnumerable <VBRealizationDocumentNonPOExpenditureItemViewModel> formItems)
        {
            var items = _dbContext.VBRealizationDocumentExpenditureItems.Where(s => s.VBRealizationDocumentId == id).ToList();

            foreach (var item in items)
            {
                var formItem = formItems.FirstOrDefault(s => s.Id == item.Id);
                if (formItem == null)
                {
                    item.FlagForDelete(_identityService.Username, UserAgent);
                }
                else
                {
                    item.SetAmount(formItem.Amount, _identityService.Username, UserAgent);
                    item.SetDate(formItem.DateDetail.GetValueOrDefault(), _identityService.Username, UserAgent);
                    item.SetIncomeTax(formItem.IncomeTax.Id, formItem.IncomeTax.Rate.GetValueOrDefault(), formItem.IncomeTax.Name, _identityService.Username, UserAgent);
                    item.SetIncomeTaxBy(formItem.IncomeTaxBy, _identityService.Username, UserAgent);
                    item.SetRemark(formItem.Remark, _identityService.Username, UserAgent);
                    item.SetUseIncomeTax(formItem.IsGetPPh, _identityService.Username, UserAgent);
                    item.SetUseVat(formItem.IsGetPPn, _identityService.Username, UserAgent);
                }
            }

            var newItems = formItems.Where(s => s.Id == 0).Select(element =>
            {
                var result = new VBRealizationDocumentExpenditureItemModel(id, element);

                result.FlagForCreate(_identityService.Username, UserAgent);
                return(result);
            }).ToList();

            _dbContext.VBRealizationDocumentExpenditureItems.AddRange(newItems);

            //return _dbContext.SaveChangesAsync();
        }
Example #3
0
        private List <VBRealizationDocumentExpenditureItemModel> AddItems(int id, IEnumerable <VBRealizationDocumentNonPOExpenditureItemViewModel> items)
        {
            var models = items.Select(element =>
            {
                var result = new VBRealizationDocumentExpenditureItemModel(id, element);

                result.FlagForCreate(_identityService.Username, UserAgent);
                return(result);
            }).ToList();

            return(models);
        }
Example #4
0
        private void AddItems(int id, List <FormItemDto> items, string suppliantDivisionName)
        {
            //var models = items.Select(element =>
            //{
            //    var result = new VBRealizationDocumentExpenditureItemModel(headerId: id, element);
            //    EntityExtension.FlagForCreate(result, _identityService.Username, UserAgent);
            //    return result;
            //}).ToList();
            var httpClientService = _serviceProvider.GetService <IHttpClientService>();


            foreach (var item in items)
            {
                var model = new VBRealizationDocumentExpenditureItemModel(id, item);
                EntityExtension.FlagForCreate(model, _identityService.Username, UserAgent);
                _dbContext.VBRealizationDocumentExpenditureItems.Add(model);
                _dbContext.SaveChanges();
                var result = httpClientService.PutAsync($"{APIEndpoint.Purchasing}vb-request-po-external/spb/{item.UnitPaymentOrder.Id.GetValueOrDefault()}?division={suppliantDivisionName}", new StringContent("{}", Encoding.UTF8, General.JsonMediaType)).Result;
            }
        }
        public async Task Should_Success_AutoJournalVBNonPOClearence_With_ViewModel()
        {
            //Setup
            var dbContext           = GetDbContext(GetCurrentMethod());
            var serviceProviderMock = GetServiceProvider();

            serviceProviderMock.Setup(s => s.GetService(typeof(FinanceDbContext))).Returns(dbContext);
            serviceProviderMock
            .Setup(x => x.GetService(typeof(IHttpClientService)))
            .Returns(new JournalHttpClientTestService());

            Mock <IJournalTransactionService> journalTransactionServiceMock = new Mock <IJournalTransactionService>();

            serviceProviderMock
            .Setup(x => x.GetService(typeof(IJournalTransactionService)))
            .Returns(journalTransactionServiceMock.Object);

            var masterCOAServiceMock = new MasterCOAService(serviceProviderMock.Object);

            serviceProviderMock
            .Setup(x => x.GetService(typeof(IMasterCOAService)))
            .Returns(masterCOAServiceMock);


            var vBRequestDocumentService = new VBRequestDocumentService(dbContext, GetServiceProvider().Object);
            var data = await GetdataUtil(vBRequestDocumentService).GetTestData_VBRequestDocumentNonPO();

            var vBRealizationWithPOService = new VBRealizationWithPOService(dbContext, serviceProviderMock.Object);
            var vBRealizationDocumenData   = GetDataUtil(vBRealizationWithPOService).GetTestData_DenganNomorVB();

            var expeditionService = new VBRealizationDocumentExpeditionService(dbContext, GetServiceProvider().Object);
            var model             = _dataUtil(expeditionService, dbContext).GetTestData_VBRealizationDocumentExpedition();

            var realization = new Lib.ViewModels.VBRealizationDocumentNonPO.VBRealizationDocumentNonPOViewModel()
            {
                IsInklaring = true,
                Currency    = new Lib.ViewModels.VBRealizationDocumentNonPO.CurrencyViewModel()
                {
                    Code = "IDR"
                }
            };

            var expenditureitem = new Lib.ViewModels.VBRealizationDocumentNonPO.VBRealizationDocumentNonPOExpenditureItemViewModel()
            {
                PPhAmount = 1,
                PPnAmount = 1,
            };

            var unitcostitem = new Lib.ViewModels.VBRealizationDocumentNonPO.VBRealizationDocumentNonPOUnitCostViewModel()
            {
                IsSelected = true
            };

            var vbRealizations          = new VBRealizationDocumentModel(realization);
            var vbRealizationItems      = new VBRealizationDocumentExpenditureItemModel(2, expenditureitem);
            var vbRealizationsUnitItems = new VBRealizationDocumentUnitCostsItemModel(2, unitcostitem);

            dbContext.VBRealizationDocuments.Add(vbRealizations);
            dbContext.VBRealizationDocumentExpenditureItems.Add(vbRealizationItems);
            dbContext.VBRealizationDocumentUnitCostsItems.Add(vbRealizationsUnitItems);
            dbContext.SaveChanges();

            var service = new AutoJournalService(dbContext, serviceProviderMock.Object);

            AccountBankViewModel viewModel = new AccountBankViewModel()
            {
                AccountCOA    = "AccountCOA",
                AccountName   = "AccountName",
                AccountNumber = "AccountNumber",
                BankCode      = "BankCode",
                BankName      = "BankName",
                Code          = "Code",
                Currency      = new CurrencyViewModel()
                {
                    Code        = "Rp",
                    Description = "Description",
                    Rate        = 1,
                    Symbol      = "IDR"
                },
            };

            List <int> vbRealizationIds = new List <int>()
            {
                1,
                2
            };

            //Act
            var result = await service.AutoJournalVBNonPOClearence(vbRealizationIds, viewModel, null);

            //Assert
            Assert.NotEqual(0, result);
        }