public IActionResult Get(int id) { try { var model = facade.ReadById(id); var viewModel = mapper.Map <GarmentBeacukaiViewModel>(model); if (viewModel == null) { throw new Exception("Invalid Id"); } foreach (var item in viewModel.items) { GarmentDeliveryOrder deliveryOrder = DOfacade.ReadById((int)item.deliveryOrder.Id); if (deliveryOrder != null) { GarmentDeliveryOrderViewModel deliveryOrderViewModel = mapper.Map <GarmentDeliveryOrderViewModel>(deliveryOrder); item.deliveryOrder.isInvoice = deliveryOrderViewModel.isInvoice; item.deliveryOrder.items = deliveryOrderViewModel.items; } } Dictionary <string, object> Result = new ResultFormatter(ApiVersion, General.OK_STATUS_CODE, General.OK_MESSAGE) .Ok(viewModel); return(Ok(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 <GarmentPOMasterDistribution> GetNewData(GarmentDeliveryOrder garmentDeliveryOrder = null) { garmentDeliveryOrder = await garmentDeliveryOrderDataUtil.GetTestData4(garmentDeliveryOrder); return(new GarmentPOMasterDistribution { DOId = garmentDeliveryOrder.Id, DONo = garmentDeliveryOrder.DONo, Items = garmentDeliveryOrder.Items.SelectMany(i => i.Details.Select(d => new GarmentPOMasterDistributionItem { DOItemId = i.Id, DODetailId = d.Id, SCId = 1, Details = new List <GarmentPOMasterDistributionDetail> { new GarmentPOMasterDistributionDetail { CostCalculationId = 1, RONo = "RONo", POSerialNumber = "POSerialNumber", ProductId = d.ProductId, ProductCode = d.ProductCode, QuantityCC = (decimal)d.DOQuantity, UomCCId = int.Parse(d.UomId), UomCCUnit = d.UomUnit, Conversion = 1, Quantity = (decimal)d.DOQuantity, UomId = int.Parse(d.UomId), UomUnit = d.UomUnit } } })).ToList() }); }
public IActionResult Get(int id) { try { var model = facade.ReadById(id); var viewModel = mapper.Map<GarmentInternNoteViewModel>(model); if (viewModel == null) { throw new Exception("Invalid Id"); } else { viewModel.isEdit = model.Position <= PurchasingGarmentExpeditionPosition.Purchasing; foreach (GarmentInternNoteItemViewModel item in viewModel.items) { GarmentInvoice garmentInvoice = invoiceFacade.ReadById((int)item.garmentInvoice.Id); if (garmentInvoice != null) { GarmentInvoiceViewModel invoiceViewModel = mapper.Map<GarmentInvoiceViewModel>(garmentInvoice); item.garmentInvoice.items = invoiceViewModel.items; } foreach (GarmentInternNoteDetailViewModel detail in item.details) { GarmentDeliveryOrder deliveryOrder = deliveryOrderFacade.ReadById((int)detail.deliveryOrder.Id); if (deliveryOrder != null) { GarmentDeliveryOrderViewModel deliveryOrderViewModel = mapper.Map<GarmentDeliveryOrderViewModel>(deliveryOrder); detail.deliveryOrder.items = deliveryOrderViewModel.items; if (detail.invoiceDetailId != 0) { var invoiceItem = garmentInvoice.Items.First(s => s.Details.Any(d => d.Id == detail.invoiceDetailId)); var invoiceDetail = invoiceItem.Details.First(i => i.Id == detail.invoiceDetailId); if (invoiceDetail != null) { detail.dODetailId = invoiceDetail.DODetailId; } } } } } } Dictionary<string, object> Result = new ResultFormatter(ApiVersion, General.OK_STATUS_CODE, General.OK_MESSAGE) .Ok(viewModel); return Ok(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_by_PO() { var facadeDO = new GarmentDeliveryOrderFacade(GetServiceProvider().Object, _dbContext(GetCurrentMethod())); GarmentDeliveryOrder dataDO = await dataUtilDO(facadeDO, GetCurrentMethod()).GetNewData(); foreach (var i in dataDO.Items) { foreach (var d in i.Details) { d.POSerialNumber = "PONO123"; d.RONo = "RONO123"; } } await facadeDO.Create(dataDO, USERNAME); var facade = new GarmentBeacukaiFacade(_dbContext(GetCurrentMethod()), GetServiceProvider().Object); GarmentBeacukai data = await dataUtil(facade, GetCurrentMethod()).GetNewData(USERNAME, dataDO); data.CustomsType = "BC 23"; var Responses = await facade.Create(data, USERNAME); //var facadeReport = new GarmentBeacukaiFacade(GetServiceProvider().Object, _dbContext(GetCurrentMethod())); var Response = facade.ReadBCByPOSerialNumbers("PONO123,PONO123"); Assert.NotNull(Response); }
public (string format, int counterId) GeneratePaymentBillNo() { string PaymentBill = null; GarmentDeliveryOrder deliveryOrder = (from data in dbSetDeliveryOrder orderby data.PaymentBill descending select data).FirstOrDefault(); string year = DateTimeOffset.Now.Year.ToString().Substring(2, 2); string month = DateTimeOffset.Now.Month.ToString("D2"); string day = DateTimeOffset.Now.Day.ToString("D2"); string formatDate = year + month + day; int counterId = 0; if (deliveryOrder.BillNo != null) { PaymentBill = deliveryOrder.PaymentBill; string date = PaymentBill.Substring(2, 6); string number = PaymentBill.Substring(8); if (date == formatDate) { counterId = Convert.ToInt32(number) + 1; } else { counterId = 1; } } else { counterId = 1; } //PaymentBill = "BB" + formatDate + counterId.ToString("D3"); return(string.Concat("BB", formatDate), counterId); }
public async Task <GarmentBeacukai> GetTestData(string user, GarmentDeliveryOrder garmentDeliveryOrder) { GarmentBeacukai model = await GetNewData(user, garmentDeliveryOrder); await facade.Create(model, user); return(model); }
public async Task <GarmentCorrectionNote> GetTestData2(GarmentDeliveryOrder deliveryOrder) { var data = await GetNewDataC(deliveryOrder); await garmentCorrectionNoteFacade.Create(data); return(data); }
public async Task <GarmentUnitReceiptNote> GetTestData(GarmentDeliveryOrder garmentDeliveryOrder, long?ticks = null) { var data = await GetNewData(ticks, garmentDeliveryOrder); await facade.Create(data); return(data); }
public async Task <GarmentDeliveryOrder> GetTestData4(GarmentDeliveryOrder data = null) { data = data ?? await GetNewData4(); await facade.Create(data, "Unit Test"); return(data); }
public ReportIndexDto(GarmentDeliveryOrder garmentDeliveryOrders, GarmentBeacukaiItem deliveryOrderCustoms, GarmentDeliveryOrderItem deliveryOrderItems, GarmentInvoiceItem deliveryOrderInvoiceItems, GarmentInvoice deliveryOrderInvoices, GarmentExternalPurchaseOrder deliveryOrderExternalPurchaseOrders, GarmentInternNoteDetail deliveryOrderInternalNoteDetails, GarmentInternNoteItem deliveryOrderInternalNoteItems, GarmentInternNote deliveryOrderInternalNotes) { if (deliveryOrderCustoms != null) { CustomsArrivalDate = deliveryOrderCustoms.ArrivalDate; } if (deliveryOrderExternalPurchaseOrders != null) { SupplierId = deliveryOrderExternalPurchaseOrders.SupplierId; SupplierName = deliveryOrderExternalPurchaseOrders.SupplierName; IsImportSupplier = deliveryOrderExternalPurchaseOrders.SupplierImport; AccountingCategoryName = deliveryOrderExternalPurchaseOrders.Category; PurchasingCategoryName = deliveryOrderExternalPurchaseOrders.Category; } var dppAmount = 0.0; if (deliveryOrderInternalNoteDetails != null) { ProductName = deliveryOrderInternalNoteDetails.ProductName; InternalNoteQuantity = deliveryOrderInternalNoteDetails.Quantity; dppAmount = deliveryOrderInternalNoteDetails.PriceTotal; Total = dppAmount; } if (garmentDeliveryOrders != null) { GarmentDeliveryOrderId = (int)garmentDeliveryOrders.Id; GarmentDeliveryOrderNo = garmentDeliveryOrders.DONo; BillNo = garmentDeliveryOrders.BillNo; PaymentBill = garmentDeliveryOrders.PaymentBill; } if (deliveryOrderInvoices != null) { InvoiceId = (int)deliveryOrderInvoices.Id; InvoiceNo = deliveryOrderInvoices.InvoiceNo; VATNo = deliveryOrderInvoices.VatNo; var vatAmount = 0.0; if (deliveryOrderInvoices.UseVat && deliveryOrderInvoices.IsPayVat) { vatAmount = dppAmount * 0.1; Total += vatAmount; } var incomeTaxAmount = 0.0; if (deliveryOrderInvoices.UseIncomeTax && deliveryOrderInvoices.IsPayTax) { incomeTaxAmount = dppAmount * deliveryOrderInvoices.IncomeTaxRate / 100; Total += incomeTaxAmount; } VATAmount = vatAmount; IncomeTaxAmount = incomeTaxAmount; } }
public async Task <int> Create(GarmentInternNote m, bool isImport, string user, int clientTimeZoneOffset = 7) { int Created = 0; using (var transaction = this.dbContext.Database.BeginTransaction()) { try { EntityExtension.FlagForCreate(m, user, USER_AGENT); m.INNo = await GenerateNo(m, isImport, clientTimeZoneOffset); m.INDate = DateTimeOffset.Now; foreach (var item in m.Items) { GarmentInvoice garmentInvoice = this.dbContext.GarmentInvoices.FirstOrDefault(s => s.Id == item.InvoiceId); if (garmentInvoice != null) { garmentInvoice.HasInternNote = true; } EntityExtension.FlagForCreate(item, user, USER_AGENT); foreach (var detail in item.Details) { GarmentDeliveryOrder garmentDeliveryOrder = this.dbContext.GarmentDeliveryOrders.FirstOrDefault(s => s.Id == detail.DOId); GarmentInternalPurchaseOrder internalPurchaseOrder = this.dbContext.GarmentInternalPurchaseOrders.FirstOrDefault(s => s.RONo.Equals(detail.RONo)); if (internalPurchaseOrder != null) { detail.UnitId = internalPurchaseOrder.UnitId; detail.UnitCode = internalPurchaseOrder.UnitCode; detail.UnitName = internalPurchaseOrder.UnitName; } if (garmentDeliveryOrder != null) { garmentDeliveryOrder.InternNo = m.INNo; } EntityExtension.FlagForCreate(detail, user, USER_AGENT); await _garmentDebtBalanceService.UpdateFromInternalNote((int)detail.DOId, new InternalNoteFormDto((int)m.Id, m.INNo)); } } this.dbSet.Add(m); Created = await dbContext.SaveChangesAsync(); transaction.Commit(); } catch (Exception e) { transaction.Rollback(); throw new Exception(e.Message); } } return(Created); }
public GarmentInvoiceItem GetNewDataViewModel(GarmentDeliveryOrder garmentDeliveryOrder) { return(new GarmentInvoiceItem { DeliveryOrderId = garmentDeliveryOrder.Id, DeliveryOrderNo = garmentDeliveryOrder.DONo, DODate = garmentDeliveryOrder.DODate, Details = garmentInvoiceDetailDataUtil.GetNewDataViewModel(garmentDeliveryOrder.Items.ToList()) }); }
public async Task <GarmentInvoice> GetTestData2(string user, GarmentDeliveryOrder deliveryOrder) { GarmentInvoice model = await GetNewData(user, deliveryOrder); model.NPH = "acdg"; model.NPN = "acdf"; await facade.Create(model, user); return(model); }
public async Task <int> Create(GarmentBeacukai model, string username, int clientTimeZoneOffset = 7) { int Created = 0; using (var transaction = this.dbContext.Database.BeginTransaction()) { try { EntityExtension.FlagForCreate(model, username, USER_AGENT); foreach (GarmentBeacukaiItem item in model.Items) { GarmentDeliveryOrder deliveryOrder = dbSetDeliveryOrder.Include(m => m.Items) .ThenInclude(i => i.Details).FirstOrDefault(s => s.Id == item.GarmentDOId); if (deliveryOrder != null) { if (model.BillNo == "" | model.BillNo == null) { deliveryOrder.BillNo = GenerateBillNo(); } else { deliveryOrder.BillNo = model.BillNo; } deliveryOrder.PaymentBill = GeneratePaymentBillNo(); deliveryOrder.CustomsId = model.Id; double qty = 0; foreach (var deliveryOrderItem in deliveryOrder.Items) { foreach (var detail in deliveryOrderItem.Details) { qty += detail.DOQuantity; } } item.TotalAmount = Convert.ToDecimal(deliveryOrder.TotalAmount); item.TotalQty = qty; EntityExtension.FlagForCreate(item, username, USER_AGENT); } } this.dbSet.Add(model); Created = await dbContext.SaveChangesAsync(); transaction.Commit(); } catch (Exception e) { transaction.Rollback(); throw new Exception(e.Message); } } return(Created); }
private void Get_Ppn_PDF_By_Id_NullInvoice(string correctionType) { var Model = this.Model; Model.CorrectionType = correctionType; var ViewModel = this.ViewModel; ViewModel.UseVat = true; var mockFacade = new Mock <IGarmentReturnCorrectionNoteFacade>(); mockFacade.Setup(x => x.ReadById(It.IsAny <int>())) .Returns(Model); var mockMapper = new Mock <IMapper>(); mockMapper.Setup(x => x.Map <GarmentCorrectionNoteViewModel>(It.IsAny <GarmentCorrectionNote>())) .Returns(ViewModel); var garmentdeliveryOrder = new GarmentDeliveryOrder { DOCurrencyRate = 1, Items = new List <GarmentDeliveryOrderItem> { new GarmentDeliveryOrderItem { Details = Model.Items.Select(i => new GarmentDeliveryOrderDetail { Id = i.DODetailId }).ToList() } } }; var mockGarmentDeliveryOrderFacade = new Mock <IGarmentDeliveryOrderFacade>(); mockGarmentDeliveryOrderFacade.Setup(x => x.ReadById(It.IsAny <int>())) .Returns(garmentdeliveryOrder); var mockGarmentInvoiceFacade = new Mock <IGarmentInvoice>(); mockGarmentInvoiceFacade.Setup(x => x.ReadByDOId(1)) .Returns(new GarmentInvoice()); GarmentReturnCorrectionNoteController controller = GetController(mockFacade, null, mockMapper, mockGarmentDeliveryOrderFacade, null, mockGarmentInvoiceFacade); controller.ControllerContext.HttpContext.Request.Headers["Accept"] = "application/pdf"; var response = controller.GetReturnNotePpn(It.IsAny <int>()); Assert.NotNull(response.GetType().GetProperty("FileStream")); }
private void Test_Get_PDF_By_Id(string correctionType) { var Model = this.Model; Model.CorrectionType = correctionType; var mockFacade = new Mock <IGarmentCorrectionNoteQuantityFacade>(); mockFacade.Setup(x => x.ReadById(It.IsAny <int>())) .Returns(Model); var mockMapper = new Mock <IMapper>(); mockMapper.Setup(x => x.Map <GarmentCorrectionNoteViewModel>(It.IsAny <GarmentCorrectionNote>())) .Returns(ViewModel); var garmentdeliveryOrder = new GarmentDeliveryOrder { DOCurrencyRate = 1, Items = new List <GarmentDeliveryOrderItem> { new GarmentDeliveryOrderItem { Details = Model.Items.Select(i => new GarmentDeliveryOrderDetail { Id = i.DODetailId }).ToList() } } }; var mockGarmentDeliveryOrderFacade = new Mock <IGarmentDeliveryOrderFacade>(); mockGarmentDeliveryOrderFacade.Setup(x => x.ReadById(It.IsAny <int>())) .Returns(garmentdeliveryOrder); var mockGarmentInternalPurchaseOrderFacade = new Mock <IGarmentInternalPurchaseOrderFacade>(); mockGarmentInternalPurchaseOrderFacade.Setup(x => x.ReadById(It.IsAny <int>())) .Returns(new GarmentInternalPurchaseOrder { UnitCode = "UnitCode" }); GarmentCorrectionNoteQuantityController controller = GetController(mockFacade, null, mockMapper, mockGarmentDeliveryOrderFacade, mockGarmentInternalPurchaseOrderFacade); controller.ControllerContext.HttpContext.Request.Headers["Accept"] = "application/pdf"; var response = controller.Get(It.IsAny <int>()); Assert.NotEqual(null, response.GetType().GetProperty("FileStream")); }
public async Task <int> Create(GarmentInvoice model, string username, int clientTimeZoneOffset = 7) { int Created = 0; using (var transaction = this.dbContext.Database.BeginTransaction()) { try { double _total = 0; EntityExtension.FlagForCreate(model, username, USER_AGENT); if (model.UseIncomeTax) { model.NPH = GenerateNPH(); } if (model.UseVat) { model.NPN = GenerateNPN(); } foreach (var item in model.Items) { _total += item.TotalAmount; GarmentDeliveryOrder deliveryOrder = dbSetDeliveryOrder.FirstOrDefault(s => s.Id == item.DeliveryOrderId); if (deliveryOrder != null) { deliveryOrder.IsInvoice = true; } EntityExtension.FlagForCreate(item, username, USER_AGENT); foreach (var detail in item.Details) { EntityExtension.FlagForCreate(detail, username, USER_AGENT); } } model.TotalAmount = _total; this.dbSet.Add(model); Created = await dbContext.SaveChangesAsync(); transaction.Commit(); } catch (Exception e) { transaction.Rollback(); throw new Exception(e.Message); } } return(Created); }
public int Delete(int id, string username) { int Deleted = 0; using (var transaction = this.dbContext.Database.BeginTransaction()) { try { var model = this.dbSet .Include(m => m.Items) .ThenInclude(i => i.Details) .SingleOrDefault(m => m.Id == id && !m.IsDeleted); EntityExtension.FlagForDelete(model, username, USER_AGENT); foreach (var item in model.Items) { GarmentInvoice garmentInvoice = this.dbContext.GarmentInvoices.FirstOrDefault(s => s.Id == item.InvoiceId); if (garmentInvoice != null) { garmentInvoice.HasInternNote = false; } EntityExtension.FlagForDelete(item, username, USER_AGENT); foreach (var detail in item.Details) { GarmentDeliveryOrder garmentDeliveryOrder = this.dbContext.GarmentDeliveryOrders.FirstOrDefault(s => s.Id == detail.DOId); if (garmentDeliveryOrder != null) { garmentDeliveryOrder.InternNo = null; } EntityExtension.FlagForDelete(detail, username, USER_AGENT); var result = _garmentDebtBalanceService.EmptyInternalNote((int)garmentDeliveryOrder.Id).Result; } } Deleted = dbContext.SaveChanges(); transaction.Commit(); } catch (Exception e) { transaction.Rollback(); throw new Exception(e.Message); } } return(Deleted); }
public async Task <GarmentCorrectionNote> GetNewData(GarmentDeliveryOrder garmentDO = null) { var garmentDeliveryOrder = garmentDO ?? await Task.Run(() => garmentDeliveryOrderDataUtil.GetTestData()); GarmentCorrectionNote garmentCorrectionNote = new GarmentCorrectionNote { CorrectionNo = "NK1234L", CorrectionType = "Jumlah", CorrectionDate = DateTimeOffset.Now, DOId = garmentDeliveryOrder.Id, DONo = garmentDeliveryOrder.DONo, SupplierId = garmentDeliveryOrder.SupplierId, SupplierCode = garmentDeliveryOrder.SupplierCode, SupplierName = garmentDeliveryOrder.SupplierName, Remark = "Remark", NKPH = "NKPH1234L", NKPN = "NKPN1234L", Items = new List <GarmentCorrectionNoteItem>() }; foreach (var item in garmentDeliveryOrder.Items) { foreach (var detail in item.Details) { garmentCorrectionNote.Items.Add( new GarmentCorrectionNoteItem { DODetailId = detail.Id, EPOId = item.EPOId, EPONo = item.EPONo, PRId = detail.PRId, PRNo = detail.PRNo, POId = detail.POId, POSerialNumber = detail.POSerialNumber, RONo = detail.RONo, ProductId = detail.ProductId, ProductCode = detail.ProductCode, ProductName = detail.ProductName, Quantity = (decimal)detail.QuantityCorrection, UomId = Convert.ToInt32(detail.UomId), UomIUnit = detail.UomUnit, }); } } return(garmentCorrectionNote); }
public async Task <GarmentDeliveryOrder> GetDatas(string user) { GarmentDeliveryOrder garmentDeliveryOrder = GetNewData(); garmentDeliveryOrder.IsInvoice = false; foreach (var item in garmentDeliveryOrder.Items) { foreach (var detail in item.Details) { detail.DOQuantity = 0; detail.DealQuantity = 2; } } await facade.Create(garmentDeliveryOrder, user, 7); return(garmentDeliveryOrder); }
public IActionResult Get(int id) { try { identityService.Token = Request.Headers["Authorization"].FirstOrDefault().Replace("Bearer ", ""); var model = facade.ReadById(id); var viewModel = mapper.Map <GarmentInvoiceViewModel>(model); if (viewModel == null) { throw new Exception("Invalid Id"); } foreach (var item in viewModel.items) { GarmentDeliveryOrder deliveryOrder = DOfacade.ReadById((int)item.deliveryOrder.Id); if (deliveryOrder != null) { GarmentDeliveryOrderViewModel deliveryOrderViewModel = mapper.Map <GarmentDeliveryOrderViewModel>(deliveryOrder); item.deliveryOrder.items = deliveryOrderViewModel.items; item.deliveryOrder.useIncomeTax = deliveryOrderViewModel.useIncomeTax; item.deliveryOrder.useVat = deliveryOrderViewModel.useVat; item.deliveryOrder.supplier = deliveryOrderViewModel.supplier; item.deliveryOrder.docurrency = deliveryOrderViewModel.docurrency; if (item.deliveryOrder.incomeTax != null) { item.deliveryOrder.incomeTax.Id = (int)deliveryOrder.IncomeTaxId; item.deliveryOrder.incomeTax.Name = deliveryOrder.IncomeTaxName; item.deliveryOrder.incomeTax.Rate = (double)deliveryOrder.IncomeTaxRate; } } } Dictionary <string, object> Result = new ResultFormatter(ApiVersion, General.OK_STATUS_CODE, General.OK_MESSAGE) .Ok(viewModel); return(Ok(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 <GarmentCorrectionNote> GetNewDataC(GarmentDeliveryOrder deliveryOrder) { var data = await GetNewData(deliveryOrder); data.GarmentCorrectionNote.CorrectionType = "Jumlah"; foreach (var item in data.GarmentDeliveryOrder.Items) { foreach (var detail in item.Details) { var garmentCorrectionNoteItem = data.GarmentCorrectionNote.Items.First(i => i.DODetailId == detail.Id); garmentCorrectionNoteItem.PricePerDealUnitBefore = (decimal)detail.PricePerDealUnitCorrection; garmentCorrectionNoteItem.PricePerDealUnitAfter = (decimal)detail.PricePerDealUnitCorrection; garmentCorrectionNoteItem.PriceTotalBefore = (decimal)detail.PriceTotalCorrection; garmentCorrectionNoteItem.PriceTotalAfter = (decimal)detail.PriceTotalCorrection + 1; } } return(data.GarmentCorrectionNote); }
public async Task <int> Update(int id, GarmentBeacukaiViewModel vm, GarmentBeacukai model, string user, int clientTimeZoneOffset = 7) { int Updated = 0; using (var transaction = this.dbContext.Database.BeginTransaction()) { try { EntityExtension.FlagForUpdate(model, user, USER_AGENT); foreach (GarmentBeacukaiItemViewModel itemViewModel in vm.items) { GarmentBeacukaiItem item = model.Items.FirstOrDefault(s => s.Id.Equals(itemViewModel.Id)); if (itemViewModel.selected == true) { EntityExtension.FlagForUpdate(item, user, USER_AGENT); } else { EntityExtension.FlagForDelete(item, user, USER_AGENT); GarmentDeliveryOrder deleteDO = dbContext.GarmentDeliveryOrders.FirstOrDefault(s => s.Id == itemViewModel.deliveryOrder.Id); deleteDO.BillNo = null; deleteDO.PaymentBill = null; deleteDO.CustomsId = 0; } } this.dbSet.Update(model); Updated = await dbContext.SaveChangesAsync(); transaction.Commit(); } catch (Exception e) { transaction.Rollback(); throw new Exception(e.Message); } } return(Updated); }
public int Delete(int id, string username) { int Deleted = 0; using (var transaction = this.dbContext.Database.BeginTransaction()) { try { var model = this.dbSet .Include(d => d.Items) .ThenInclude(d => d.Details) .SingleOrDefault(pr => pr.Id == id && !pr.IsDeleted); EntityExtension.FlagForDelete(model, username, USER_AGENT); foreach (var item in model.Items) { GarmentDeliveryOrder garmentDeliveryOrder = dbSetDeliveryOrder.FirstOrDefault(s => s.Id == item.DeliveryOrderId); if (garmentDeliveryOrder != null) { garmentDeliveryOrder.IsInvoice = false; } EntityExtension.FlagForDelete(item, username, USER_AGENT); foreach (var detail in item.Details) { EntityExtension.FlagForDelete(detail, username, USER_AGENT); } } Deleted = dbContext.SaveChanges(); transaction.Commit(); } catch (Exception e) { transaction.Rollback(); throw new Exception(e.Message); } } return(Deleted); }
public int Delete(int id, string username) { int Deleted = 0; using (var transaction = this.dbContext.Database.BeginTransaction()) { try { var model = this.dbSet .Include(d => d.Items) .SingleOrDefault(pr => pr.Id == id && !pr.IsDeleted); EntityExtension.FlagForDelete(model, username, USER_AGENT); foreach (var item in model.Items) { GarmentDeliveryOrder deliveryOrder = dbSetDeliveryOrder.FirstOrDefault(s => s.Id == item.GarmentDOId); if (deliveryOrder != null) { deliveryOrder.BillNo = null; deliveryOrder.PaymentBill = null; deliveryOrder.CustomsId = 0; EntityExtension.FlagForDelete(item, username, USER_AGENT); var deleted = _garmentDebtBalanceService.RemoveCustoms((int)deliveryOrder.Id).Result; } } Deleted = dbContext.SaveChanges(); transaction.Commit(); } catch (Exception e) { transaction.Rollback(); throw new Exception(e.Message); } } return(Deleted); }
public string GenerateBillNo() { string BillNo = null; GarmentDeliveryOrder deliveryOrder = (from data in dbSetDeliveryOrder orderby data.BillNo descending select data).FirstOrDefault(); string year = DateTimeOffset.Now.Year.ToString().Substring(2, 2); string month = DateTimeOffset.Now.Month.ToString("D2"); string hour = (DateTimeOffset.Now.Hour + 7).ToString("D2"); string day = DateTimeOffset.Now.Day.ToString("D2"); string minute = DateTimeOffset.Now.Minute.ToString("D2"); string second = DateTimeOffset.Now.Second.ToString("D2"); string formatDate = year + month + day + hour + minute + second; int counterId = 0; if (deliveryOrder.BillNo != null) { BillNo = deliveryOrder.BillNo; string months = BillNo.Substring(4, 2); string number = BillNo.Substring(14); if (months == DateTimeOffset.Now.Month.ToString("D2")) { counterId = Convert.ToInt32(number) + 1; } else { counterId = 1; } } else { counterId = 1; } BillNo = "BP" + formatDate + counterId.ToString("D6"); return(BillNo); }
public async Task <GarmentBeacukai> GetNewData(string user, GarmentDeliveryOrder garmentDeliveryOrder = null) { long nowTicks = DateTimeOffset.Now.Ticks; var garmentDO = garmentDeliveryOrder ?? await Task.Run(() => garmentDeliveryOrderDataUtil.GetNewData("User")); return(new GarmentBeacukai { BeacukaiNo = "BeacukaiNo", BeacukaiDate = DateTimeOffset.Now, SupplierId = It.IsAny <int>(), SupplierCode = "codeS", SupplierName = "nameS", BillNo = "BP181115160748000042", Bruto = 10, Netto = 10, Packaging = "COllY", PackagingQty = 2, CustomsType = "customsType", ValidationDate = DateTimeOffset.Now, CurrencyId = It.IsAny <int>(), CurrencyCode = "TEST", ArrivalDate = DateTimeOffset.Now, Items = new List <GarmentBeacukaiItem> { new GarmentBeacukaiItem { GarmentDOId = garmentDO.Id, DODate = garmentDO.DODate, GarmentDONo = garmentDO.DONo, ArrivalDate = garmentDO.ArrivalDate, TotalAmount = (decimal)garmentDO.TotalAmount, TotalQty = 50 } } }); }
public async Task <GarmentUnitReceiptNote> GetNewData(long?ticks = null, GarmentDeliveryOrder garmentDeliveryOrder = null) { long nowTicks = ticks ?? DateTimeOffset.Now.Ticks; garmentDeliveryOrder = garmentDeliveryOrder ?? await Task.Run(() => garmentDeliveryOrderDataUtil.GetTestData()); var garmentUnitReceiptNote = new GarmentUnitReceiptNote { URNType = "PEMBELIAN", UnitId = nowTicks, UnitCode = string.Concat("UnitCode", nowTicks), UnitName = string.Concat("UnitName", nowTicks), SupplierId = garmentDeliveryOrder.SupplierId, SupplierCode = garmentDeliveryOrder.SupplierCode, SupplierName = garmentDeliveryOrder.SupplierName, DOId = garmentDeliveryOrder.Id, DONo = garmentDeliveryOrder.DONo, DeletedReason = nowTicks.ToString(), DOCurrencyRate = garmentDeliveryOrder.DOCurrencyRate, ReceiptDate = DateTimeOffset.Now, Items = new List <GarmentUnitReceiptNoteItem>() }; foreach (var item in garmentDeliveryOrder.Items) { foreach (var detail in item.Details) { var garmentUnitReceiptNoteItem = new GarmentUnitReceiptNoteItem { DODetailId = detail.Id, EPOItemId = detail.EPOItemId, PRId = detail.PRId, PRNo = detail.PRNo, PRItemId = detail.PRItemId, POId = detail.POId, POItemId = detail.POItemId, POSerialNumber = detail.POSerialNumber, ProductId = detail.ProductId, ProductCode = detail.ProductCode, ProductName = detail.ProductName, ProductRemark = detail.ProductRemark, RONo = detail.RONo, ReceiptQuantity = (decimal)detail.ReceiptQuantity, UomId = long.Parse(detail.UomId), UomUnit = detail.UomUnit, PricePerDealUnit = (decimal)detail.PricePerDealUnit, DesignColor = string.Concat("DesignColor", nowTicks), SmallQuantity = (decimal)detail.SmallQuantity, SmallUomId = long.Parse(detail.SmallUomId), SmallUomUnit = detail.SmallUomUnit, Conversion = (decimal)detail.Conversion, CorrectionConversion = (decimal)detail.Conversion, DOCurrencyRate = 1 }; garmentUnitReceiptNote.Items.Add(garmentUnitReceiptNoteItem); } } return(garmentUnitReceiptNote); }
public DataUtilResult(BasicDataUtil dataUtil, GarmentPurchaseRequest purchaseRequest, List <GarmentInternalPurchaseOrder> internalPurchaseOrders, GarmentExternalPurchaseOrder externalPurchaseOrder, GarmentDeliveryOrder deliveryOrder) { this.dataUtil = dataUtil; this.purchaseRequest = purchaseRequest; this.internalPurchaseOrders = internalPurchaseOrders; this.externalPurchaseOrder = externalPurchaseOrder; this.deliveryOrder = deliveryOrder; }
public async Task <int> Update(int id, GarmentInternNote m, string user, int clientTimeZoneOffset = 7) { int Updated = 0; using (var transaction = dbContext.Database.BeginTransaction()) { try { if (m.Items != null) { double total = 0; HashSet <long> detailIds = GetGarmentInternNoteId(id); foreach (var itemId in detailIds) { GarmentInternNoteItem data = m.Items.FirstOrDefault(prop => prop.Id.Equals(itemId)); if (data == null) { GarmentInternNoteItem dataItem = dbContext.GarmentInternNoteItems.FirstOrDefault(prop => prop.Id.Equals(itemId)); EntityExtension.FlagForDelete(dataItem, user, USER_AGENT); var Details = dbContext.GarmentInternNoteDetails.Where(prop => prop.GarmentItemINId.Equals(itemId)).ToList(); GarmentInvoice garmentInvoices = dbContext.GarmentInvoices.FirstOrDefault(s => s.Id.Equals(dataItem.InvoiceId)); if (garmentInvoices != null) { garmentInvoices.HasInternNote = false; } foreach (GarmentInternNoteDetail detail in Details) { GarmentDeliveryOrder garmentDeliveryOrder = this.dbContext.GarmentDeliveryOrders.FirstOrDefault(s => s.Id == detail.DOId); garmentDeliveryOrder.InternNo = null; EntityExtension.FlagForDelete(detail, user, USER_AGENT); } } else { EntityExtension.FlagForUpdate(data, user, USER_AGENT); } foreach (GarmentInternNoteItem item in m.Items) { total += item.TotalAmount; if (item.Id <= 0) { GarmentInvoice garmentInvoice = this.dbContext.GarmentInvoices.FirstOrDefault(s => s.Id == item.InvoiceId); if (garmentInvoice != null) { garmentInvoice.HasInternNote = true; } EntityExtension.FlagForCreate(item, user, USER_AGENT); } else { EntityExtension.FlagForUpdate(item, user, USER_AGENT); } foreach (GarmentInternNoteDetail detail in item.Details) { if (item.Id <= 0) { GarmentDeliveryOrder garmentDeliveryOrder = this.dbContext.GarmentDeliveryOrders.FirstOrDefault(s => s.Id == detail.DOId); GarmentInternalPurchaseOrder internalPurchaseOrder = this.dbContext.GarmentInternalPurchaseOrders.FirstOrDefault(s => s.RONo == detail.RONo); if (internalPurchaseOrder != null) { detail.UnitId = internalPurchaseOrder.UnitId; detail.UnitCode = internalPurchaseOrder.UnitCode; detail.UnitName = internalPurchaseOrder.UnitName; } if (garmentDeliveryOrder != null) { garmentDeliveryOrder.InternNo = m.INNo; } EntityExtension.FlagForCreate(detail, user, USER_AGENT); } else { EntityExtension.FlagForUpdate(detail, user, USER_AGENT); } } } } } EntityExtension.FlagForUpdate(m, user, USER_AGENT); this.dbSet.Update(m); Updated = await dbContext.SaveChangesAsync(); transaction.Commit(); } catch (Exception e) { transaction.Rollback(); throw new Exception(e.Message); } } return(Updated); }