public async Task Should_Error_Create_Data()
        {
            var facade = new GarmentSupplierBalanceDebtFacade(ServiceProvider, _dbContext(GetCurrentMethod()));
            GarmentSupplierBalanceDebt data = new GarmentSupplierBalanceDebt
            {
                SupplierCode   = $"BuyerCode{DateTimeOffset.Now.Ticks}a",
                DOCurrencyCode = "IDR",
                DOCurrencyRate = 1,
                CodeRequirment = $"{DateTimeOffset.Now.Ticks}a",
                CreatedBy      = "UnitTest",
                Import         = false,
                SupplierName   = "SupplierTest123",
                TotalValas     = DateTimeOffset.Now.Ticks,
                TotalAmountIDR = DateTimeOffset.Now.Ticks,
                DOCurrencyId   = 1,
                SupplierId     = 1,
                Year           = 2020,
                Items          = new List <GarmentSupplierBalanceDebtItem> {
                    new GarmentSupplierBalanceDebtItem {
                        BillNo        = "BP181122142947000001",
                        ArrivalDate   = DateTimeOffset.Now,
                        DONo          = $"{DateTimeOffset.Now.Ticks}a",
                        DOId          = 1,
                        InternNo      = "InternNO1234",
                        IDR           = DateTimeOffset.Now.Ticks,
                        Valas         = DateTimeOffset.Now.Ticks,
                        PaymentMethod = "PaymentMethodTest",
                        PaymentType   = "PaymentMethodTest"
                    }
                }
            };
            Exception e = await Assert.ThrowsAsync <Exception>(async() => await facade.Create(null, USERNAME));

            Assert.NotNull(e.Message);
        }
Example #2
0
        public async Task <int> Create(GarmentSupplierBalanceDebt m, string user, int clientTimeZoneOffset = 7)
        {
            int Created = 0;

            using (var transaction = this.dbContext.Database.BeginTransaction())
            {
                try
                {
                    EntityExtension.FlagForCreate(m, user, USER_AGENT);

                    foreach (var item in m.Items)
                    {
                        EntityExtension.FlagForCreate(item, user, USER_AGENT);

                        m.TotalValas     += item.Valas;
                        m.TotalAmountIDR += item.IDR;
                    }

                    this.dbSet.Add(m);

                    Created = await dbContext.SaveChangesAsync();

                    transaction.Commit();
                }
                catch (Exception e)
                {
                    transaction.Rollback();
                    throw new Exception(e.Message);
                }
            }

            return(Created);
        }
        public async Task Should_Success_Get_Data_By_Id()
        {
            var facade = new GarmentSupplierBalanceDebtFacade(ServiceProvider, _dbContext(GetCurrentMethod()));
            GarmentSupplierBalanceDebt data = new GarmentSupplierBalanceDebt
            {
                SupplierCode   = $"BuyerCode{DateTimeOffset.Now.Ticks}a",
                DOCurrencyCode = "IDR",
                DOCurrencyRate = 1,
                CodeRequirment = $"{DateTimeOffset.Now.Ticks}a",
                CreatedBy      = "UnitTest",
                Import         = false,
                SupplierName   = "SupplierTest123",
                TotalValas     = DateTimeOffset.Now.Ticks,
                TotalAmountIDR = DateTimeOffset.Now.Ticks,
                DOCurrencyId   = 1,
                SupplierId     = 1,
                Year           = 2020,
                Items          = new List <GarmentSupplierBalanceDebtItem> {
                    new GarmentSupplierBalanceDebtItem {
                        BillNo        = "BP181122142947000001",
                        ArrivalDate   = DateTimeOffset.Now,
                        DONo          = $"{DateTimeOffset.Now.Ticks}a",
                        DOId          = 1,
                        InternNo      = "InternNO1234",
                        IDR           = DateTimeOffset.Now.Ticks,
                        Valas         = DateTimeOffset.Now.Ticks,
                        PaymentMethod = "PaymentMethodTest",
                        PaymentType   = "PaymentMethodTest"
                    }
                }
            };
            var Responses = await facade.Create(data, USERNAME);

            var Response = facade.ReadById((int)data.Id);

            Assert.NotNull(Response);
        }