public async Task <GarmentFinanceMemorialDetailModel> GetTestData() { GarmentFinanceMemorialDetailModel model = GetNewData(); await Service.CreateAsync(model); return(await Service.ReadByIdAsync(model.Id)); }
public async Task <int> DeleteAsync(int id) { var existingModel = DbSet .Include(d => d.Items) .Include(d => d.OtherItems) .Include(m => m.RupiahItems) .Single(o => o.Id == id && !o.IsDeleted); GarmentFinanceMemorialDetailModel model = await ReadByIdAsync(id); foreach (var item in model.Items) { EntityExtension.FlagForDelete(item, IdentityService.Username, UserAgent, true); } foreach (var otherItem in model.OtherItems) { EntityExtension.FlagForDelete(otherItem, IdentityService.Username, UserAgent, true); } foreach (var rupiahItem in model.RupiahItems) { EntityExtension.FlagForDelete(rupiahItem, IdentityService.Username, UserAgent, true); } EntityExtension.FlagForDelete(model, IdentityService.Username, UserAgent, true); var memorial = GarmentFinanceMemorialDbSet.Single(a => a.Id == model.MemorialId); memorial.IsUsed = false; DbSet.Update(model); return(await DbContext.SaveChangesAsync()); }
public async Task <ActionResult> Post([FromBody] GarmentFinanceMemorialDetailViewModel viewModel) { try { VerifyUser(); ValidateService.Validate(viewModel); GarmentFinanceMemorialDetailModel model = Mapper.Map <GarmentFinanceMemorialDetailModel>(viewModel); await Service.CreateAsync(model); Dictionary <string, object> Result = new ResultFormatter(ApiVersion, General.CREATED_STATUS_CODE, General.OK_MESSAGE) .Ok(); return(Created(String.Concat(Request.Path, "/", 0), Result)); } catch (ServiceValidationException e) { Dictionary <string, object> Result = new ResultFormatter(ApiVersion, General.BAD_REQUEST_STATUS_CODE, General.BAD_REQUEST_MESSAGE) .Fail(e); return(BadRequest(Result)); } catch (Exception e) { Dictionary <string, object> Result = new ResultFormatter(ApiVersion, General.INTERNAL_ERROR_STATUS_CODE, e.Message) .Fail(); return(StatusCode(General.INTERNAL_ERROR_STATUS_CODE, Result)); } }
public async Task Should_Success_Get_All_Data() { var serviceProviderMock = GetServiceProvider(); var dbContext = GetDbContext(GetCurrentAsyncMethod()); serviceProviderMock .Setup(serviceProvider => serviceProvider.GetService(typeof(FinanceDbContext))) .Returns(dbContext); var serviceProvider1 = new Mock <IServiceProvider>(); var httpClientService = new Mock <IHttpClientService>(); serviceProviderMock .Setup(x => x.GetService(typeof(IIdentityService))) .Returns(new IdentityService() { Token = "Token", Username = "******", TimezoneOffset = 7 }); HttpResponseMessage message = new HttpResponseMessage(System.Net.HttpStatusCode.OK); message.Content = new StringContent("{\"apiVersion\":\"1.0\",\"statusCode\":200,\"message\":\"Ok\",\"data\":[{\"rate\":\"14500\",\"invoiceNo\":\"no\",\"amount\":1,\"balanceAmount\":1,\"date\":\"2018/10/20\",\"truckingDate\":\"2018/10/20\"}],\"info\":{\"count\":1,\"page\":1,\"size\":1,\"total\":2,\"order\":{\"date\":\"desc\"},\"select\":[\"Id\",\"CustomsType\",\"BeacukaiDate\",\"BeacukaiNo\",,\"POSerialNumber\"]}}"); HttpResponseMessage messageC = new HttpResponseMessage(System.Net.HttpStatusCode.OK); messageC.Content = new StringContent("{\"apiVersion\":\"1.0\",\"statusCode\":200,\"message\":\"Ok\",\"data\":{\"Rate\":14500.0,\"Uid\":\"no\",\"Date\":\"2018-10-20T17:00:00\",\"Code\":\"USD\"},\"info\":{\"count\":1,\"page\":1,\"size\":1,\"total\":1,\"order\":{\"Date\":\"desc\"},\"select\":[\"Rate\"]}}"); httpClientService .Setup(x => x.GetAsync(It.Is <string>(s => s.Contains("garment-shipping/invoices/exportSalesDebtor")))) .ReturnsAsync(message); serviceProvider1 .Setup(x => x.GetService(typeof(IHttpClientService))) .Returns(new HttpClientTestService()); serviceProvider1 .Setup(x => x.GetService(typeof(IIdentityService))) .Returns(new IdentityService() { Token = "Token", Username = "******", TimezoneOffset = 7 }); serviceProvider1 .Setup(x => x.GetService(typeof(IHttpClientService))) .Returns(httpClientService.Object); GarmentFinanceMemorialDetailService serviceMemo = new GarmentFinanceMemorialDetailService(GetServiceProvider().Object, _dbContext(GetCurrentMethod())); GarmentFinanceMemorialDetailModel modelMemo = await _dataUtilMemo(serviceMemo, GetCurrentMethod()).GetTestData(); BankCashReceiptDetailService serviceBankCash = new BankCashReceiptDetailService(serviceProviderMock.Object); BankCashReceiptDetailModel cashReceiptDetailModel = await _dataUtilBankCash(serviceBankCash).GetTestData(); GarmentFinanceExportSalesOutstandingReportService service = new GarmentFinanceExportSalesOutstandingReportService(serviceProvider1.Object, _dbContext(GetCurrentMethod())); var response = service.GetMonitoring(DateTimeOffset.Now.Month, DateTimeOffset.Now.Year, null, 7); Assert.NotNull(response); }
public async Task <IActionResult> Put([FromRoute] int id, [FromBody] GarmentFinanceMemorialDetailViewModel viewModel) { try { VerifyUser(); ValidateService.Validate(viewModel); GarmentFinanceMemorialDetailModel model = Mapper.Map <GarmentFinanceMemorialDetailModel>(viewModel); await Service.UpdateAsync(id, model); return(NoContent()); } catch (ServiceValidationException e) { Dictionary <string, object> Result = new ResultFormatter(ApiVersion, General.BAD_REQUEST_STATUS_CODE, General.BAD_REQUEST_MESSAGE) .Fail(e); return(BadRequest(Result)); } catch (Exception e) { Dictionary <string, object> Result = new ResultFormatter(ApiVersion, General.INTERNAL_ERROR_STATUS_CODE, e.Message) .Fail(); return(StatusCode(General.INTERNAL_ERROR_STATUS_CODE, Result)); } }
public async Task Should_Success_Create_Data() { GarmentFinanceMemorialDetailService service = new GarmentFinanceMemorialDetailService(GetServiceProvider().Object, _dbContext(GetCurrentMethod())); GarmentFinanceMemorialDetailModel model = _dataUtil(service, GetCurrentMethod()).GetNewData(); var Response = await service.CreateAsync(model); Assert.NotEqual(0, Response); }
public async Task Should_Success_Get_Data_By_Id() { GarmentFinanceMemorialDetailService service = new GarmentFinanceMemorialDetailService(GetServiceProvider().Object, _dbContext(GetCurrentMethod())); GarmentFinanceMemorialDetailModel model = await _dataUtil(service, GetCurrentMethod()).GetTestData(); var Response = await service.ReadByIdAsync(model.Id); Assert.NotNull(Response); }
public async Task <int> CreateAsync(GarmentFinanceMemorialDetailModel model) { EntityExtension.FlagForCreate(model, IdentityService.Username, UserAgent); foreach (var item in model.Items) { EntityExtension.FlagForCreate(item, IdentityService.Username, UserAgent); } foreach (var otherItem in model.OtherItems) { EntityExtension.FlagForCreate(otherItem, IdentityService.Username, UserAgent); } foreach (var rupiahItem in model.RupiahItems) { EntityExtension.FlagForCreate(rupiahItem, IdentityService.Username, UserAgent); } GarmentFinanceMemorialModel memorial = GarmentFinanceMemorialDbSet.FirstOrDefault(a => a.Id == model.MemorialId); memorial.IsUsed = true; DbSet.Add(model); return(await DbContext.SaveChangesAsync()); }
public async Task <int> UpdateAsync(int id, GarmentFinanceMemorialDetailModel model) { var exist = DbSet .Include(d => d.Items) .Include(d => d.OtherItems) .Include(d => d.RupiahItems) .Single(o => o.Id == id && !o.IsDeleted); foreach (var item in exist.Items) { GarmentFinanceMemorialDetailItemModel itemModel = model.Items.FirstOrDefault(prop => prop.Id.Equals(item.Id)); if (itemModel == null) { EntityExtension.FlagForDelete(item, IdentityService.Username, UserAgent, true); } else { EntityExtension.FlagForUpdate(item, IdentityService.Username, UserAgent); } } foreach (var newItem in model.Items) { if (newItem.Id <= 0) { EntityExtension.FlagForCreate(newItem, IdentityService.Username, UserAgent); exist.Items.Add(newItem); } } foreach (var otherItem in exist.OtherItems) { GarmentFinanceMemorialDetailOtherItemModel otherItemModel = model.OtherItems.FirstOrDefault(prop => prop.Id.Equals(otherItem.Id)); if (otherItemModel == null) { EntityExtension.FlagForDelete(otherItem, IdentityService.Username, UserAgent, true); } else { otherItem.Amount = otherItemModel.Amount; otherItem.CurrencyRate = otherItemModel.CurrencyRate; otherItem.TypeAmount = otherItemModel.TypeAmount; EntityExtension.FlagForUpdate(otherItem, IdentityService.Username, UserAgent); } } foreach (var newOtherItem in model.OtherItems) { if (newOtherItem.Id <= 0) { EntityExtension.FlagForCreate(newOtherItem, IdentityService.Username, UserAgent); exist.OtherItems.Add(newOtherItem); } } foreach (var rupiahItem in exist.RupiahItems) { GarmentFinanceMemorialDetailRupiahItemModel rupiahItemModel = model.RupiahItems.FirstOrDefault(prop => prop.Id.Equals(rupiahItem.Id)); if (rupiahItemModel == null) { EntityExtension.FlagForDelete(rupiahItem, IdentityService.Username, UserAgent, true); } else { rupiahItem.Credit = rupiahItemModel.Credit; rupiahItem.Debit = rupiahItemModel.Debit; EntityExtension.FlagForUpdate(rupiahItem, IdentityService.Username, UserAgent); } } foreach (var newRupiahItem in model.RupiahItems) { if (newRupiahItem.Id <= 0) { EntityExtension.FlagForCreate(newRupiahItem, IdentityService.Username, UserAgent); exist.RupiahItems.Add(newRupiahItem); } } EntityExtension.FlagForUpdate(exist, IdentityService.Username, UserAgent); return(await DbContext.SaveChangesAsync()); }
public async Task Should_Success_Get_All_DataExcel() { var serviceProviderMock = GetServiceProvider(); var dbContext = GetDbContext(GetCurrentAsyncMethod()); serviceProviderMock .Setup(serviceProvider => serviceProvider.GetService(typeof(FinanceDbContext))) .Returns(dbContext); var serviceProvider1 = new Mock <IServiceProvider>(); var httpClientService = new Mock <IHttpClientService>(); serviceProviderMock .Setup(x => x.GetService(typeof(IIdentityService))) .Returns(new IdentityService() { Token = "Token", Username = "******", TimezoneOffset = 7 }); HttpResponseMessage message = new HttpResponseMessage(System.Net.HttpStatusCode.OK); message.Content = new StringContent("{\"apiVersion\":\"1.0\",\"statusCode\":200,\"message\":\"Ok\",\"data\":[{\"id\":\"145\",\"noteNo\":\"no\",\"date\":\"2018/10/20\",\"buyer\":{\"name\":\"tes\"},\"items\":[{\"price\":1000,\"quantity\":20}]}],\"info\":{\"count\":1,\"page\":1,\"size\":1,\"total\":2,\"order\":{\"date\":\"desc\"},\"select\":[\"Id\",\"CustomsType\",\"BeacukaiDate\",\"BeacukaiNo\",,\"POSerialNumber\"]}}"); httpClientService .Setup(x => x.GetAsync(It.Is <string>(s => s.Contains("garment-shipping/local-sales-notes/localSalesDebtorNow")))) .ReturnsAsync(message); serviceProvider1 .Setup(x => x.GetService(typeof(IHttpClientService))) .Returns(new HttpClientTestService()); serviceProvider1 .Setup(x => x.GetService(typeof(IIdentityService))) .Returns(new IdentityService() { Token = "Token", Username = "******", TimezoneOffset = 7 }); serviceProvider1 .Setup(x => x.GetService(typeof(IHttpClientService))) .Returns(httpClientService.Object); GarmentFinanceMemorialDetailService serviceMemo = new GarmentFinanceMemorialDetailService(GetServiceProvider().Object, _dbContext(GetCurrentMethod())); GarmentFinanceMemorialDetailModel modelMemo = await _dataUtilMemo(serviceMemo, GetCurrentMethod()).GetTestData(); BankCashReceiptDetailService serviceBankCash = new BankCashReceiptDetailService(serviceProviderMock.Object); BankCashReceiptDetailModel cashReceiptDetailModel = await _dataUtilBankCash(serviceBankCash).GetTestData(); GarmentFinanceLocalSalesOutstandingReportService service = new GarmentFinanceLocalSalesOutstandingReportService(serviceProvider1.Object, _dbContext(GetCurrentMethod())); var response = service.GenerateExcel(DateTimeOffset.Now.Month, DateTimeOffset.Now.Year, "code", 7); Assert.NotNull(response); var response1 = service.GenerateExcel(1, DateTimeOffset.Now.Year, "", 7); Assert.NotNull(response); var response2 = service.GenerateExcel(2, DateTimeOffset.Now.Year, "", 7); Assert.NotNull(response); var response3 = service.GenerateExcel(3, DateTimeOffset.Now.Year, "", 7); Assert.NotNull(response); var response4 = service.GenerateExcel(4, DateTimeOffset.Now.Year, "", 7); Assert.NotNull(response); var response5 = service.GenerateExcel(5, DateTimeOffset.Now.Year, "", 7); Assert.NotNull(response); var response6 = service.GenerateExcel(6, DateTimeOffset.Now.Year, "", 7); Assert.NotNull(response); var response7 = service.GenerateExcel(7, DateTimeOffset.Now.Year, "", 7); Assert.NotNull(response); var response8 = service.GenerateExcel(8, DateTimeOffset.Now.Year, "", 7); Assert.NotNull(response); var response9 = service.GenerateExcel(9, DateTimeOffset.Now.Year, "", 7); Assert.NotNull(response); var response10 = service.GenerateExcel(10, DateTimeOffset.Now.Year, "", 7); Assert.NotNull(response); var response11 = service.GenerateExcel(11, DateTimeOffset.Now.Year, "", 7); Assert.NotNull(response); var response12 = service.GenerateExcel(12, DateTimeOffset.Now.Year, "", 7); Assert.NotNull(response); }
public async Task Should_Success_Update_Data() { GarmentFinanceMemorialDetailService service = new GarmentFinanceMemorialDetailService(GetServiceProvider().Object, _dbContext(GetCurrentMethod())); GarmentFinanceMemorialDetailModel model = await _dataUtil(service, GetCurrentMethod()).GetTestData(); var newModel = await service.ReadByIdAsync(model.Id); //newModel.BGCheckNumber = "newBG"; var Response1 = await service.UpdateAsync(newModel.Id, newModel); Assert.NotEqual(0, Response1); GarmentFinanceMemorialDetailModel model2 = await _dataUtil(service, GetCurrentMethod()).GetTestData(); //var newModel2 = await service.ReadByIdAsync(model.Id); GarmentFinanceMemorialDetailModel newModel2 = new GarmentFinanceMemorialDetailModel(); newModel2.Id = model2.Id; newModel2.Items = new List <GarmentFinanceMemorialDetailItemModel> { model2.Items.First() }; newModel2.OtherItems = new List <GarmentFinanceMemorialDetailOtherItemModel> { model2.OtherItems.First() }; newModel2.RupiahItems = new List <GarmentFinanceMemorialDetailRupiahItemModel> { model2.RupiahItems.First() }; var Response = await service.UpdateAsync(model2.Id, newModel2); Assert.NotEqual(0, Response); GarmentFinanceMemorialDetailItemModel newItem = new GarmentFinanceMemorialDetailItemModel { InvoiceId = 3, InvoiceNo = "no3", BuyerName = "Name", BuyerCode = "code", BuyerId = 3, CurrencyId = 1, CurrencyCode = "code", CurrencyRate = 1, Amount = 1 }; newModel2.Items.Add(newItem); GarmentFinanceMemorialDetailOtherItemModel newOtherItem = new GarmentFinanceMemorialDetailOtherItemModel { ChartOfAccountId = 1, ChartOfAccountName = "Name", ChartOfAccountCode = "code", CurrencyId = 1, CurrencyCode = "code", CurrencyRate = 1, Amount = 1, TypeAmount = "KREDIT" }; newModel2.OtherItems.Add(newOtherItem); GarmentFinanceMemorialDetailRupiahItemModel newRupiahItem = new GarmentFinanceMemorialDetailRupiahItemModel { ChartOfAccountId = 1, ChartOfAccountName = "Name", ChartOfAccountCode = "code", Credit = 1, Debit = 1, }; newModel2.RupiahItems.Add(newRupiahItem); var Response3 = await service.UpdateAsync(model2.Id, newModel2); Assert.NotEqual(0, Response); }