public void InsertGoodsReceipt(GoodsReceiptDTO goodsReceipt) { try { GoodsReceiptDAO.Instance.InsertGoodsReceipt(goodsReceipt); } catch (MySqlException ex) { throw new BUSException(ex.Message); } }
public MySqlDataReader InsertGoodsReceipt(GoodsReceiptDTO goodsReceipt) { try { // query string query = string.Format("insert into GOODSRECEIPT values('{0}', '{1}', (select StaffID from Staff where StaffID='{2}'))", goodsReceipt.ID, goodsReceipt.ReceivedDate.ToString(), goodsReceipt.StaffID); // excute query MySqlDataReader reader = MySqlConnectionDAO.Instance.ExcuteQuery(query); return(reader); } finally { } }
public async Task <ActionResult <GoodsReceipt> > PostGoodsReceipt(GoodsReceiptDTO goodsReceiptDTO) { PurchaseOrder purchaseOrder = _context.PurchaseOrders.FirstOrDefault(e => e.OrderReference == goodsReceiptDTO.PurchaseOrder); Supplier supplier = _context.Supplier.FirstOrDefault(e => e.SupplierCode == goodsReceiptDTO.SupplierCode); Site site = _context.Sites.FirstOrDefault(e => e.SiteCode == goodsReceiptDTO.SiteCode); Delivery delivery = _context.Deliveries.FirstOrDefault(e => e.DeliveryId == goodsReceiptDTO.DeliveryId); GoodsReceipt goodsReceipt = new GoodsReceipt { DateDelivered = goodsReceiptDTO.DateDelivered, PurchaseOrder = purchaseOrder, Supplier = supplier, Site = site, Delivery = delivery }; _context.GoodsReceipt.Add(goodsReceipt); await _context.SaveChangesAsync(); return(CreatedAtAction("GetGoodsReceipt", new { id = goodsReceipt.ReceiptId }, goodsReceipt)); }
public async Task Can_add_GoodsReceipt() { const string DELIVERY_ID = "DL002"; const string SITE_CODE = "SITE001"; const int PURCHASE_ORDER = 1; using (var context = new ProcurementDbContext(ContextOptions)) { GoodsReceiptsController receiptsController = new GoodsReceiptsController(context); var goodsReceipt = new GoodsReceiptDTO { DeliveryId = DELIVERY_ID, SiteCode = SITE_CODE, PurchaseOrder = PURCHASE_ORDER }; var result = await receiptsController.PostGoodsReceipt(goodsReceipt); var viewResult = Assert.IsType <ActionResult <GoodsReceipt> >(result); var actionResult = Assert.IsType <CreatedAtActionResult>(viewResult.Result); var receipt = Assert.IsType <GoodsReceipt>(actionResult.Value); Assert.NotNull(receipt); } }
protected override void SaveRelative(WarehouseAdjustment warehouseAdjustment, SaveRelativeOption saveRelativeOption) { base.SaveRelative(warehouseAdjustment, saveRelativeOption); if (warehouseAdjustment.HasPositiveLine) { IGoodsReceiptAPIRepository goodsReceiptAPIRepository = new GoodsReceiptAPIRepository(this.GenericWithDetailRepository.TotalSmartCodingEntities); IGoodsReceiptBaseService goodsReceiptBaseService = new GoodsReceiptBaseService(new GoodsReceiptRepository(this.GenericWithDetailRepository.TotalSmartCodingEntities)); //VERY IMPORTANT: THE BaseService.UserID IS AUTOMATICALLY SET BY CustomControllerAttribute OF CONTROLLER, ONLY WHEN BaseService IS INITIALIZED BY CONTROLLER. BUT HERE, THE this.goodsReceiptBaseService IS INITIALIZED BY VehiclesInvoiceService => SO SHOULD SET goodsReceiptBaseService.UserID = this.UserID goodsReceiptBaseService.UserID = this.UserID; if (saveRelativeOption == SaveRelativeOption.Update) { GoodsReceiptDTO goodsReceiptDTO = new GoodsReceiptDTO(); goodsReceiptDTO.EntryDate = warehouseAdjustment.EntryDate; goodsReceiptDTO.WarehouseID = warehouseAdjustment.WarehouseReceiptID; goodsReceiptDTO.WarehouseAdjustmentID = warehouseAdjustment.WarehouseAdjustmentID; goodsReceiptDTO.GoodsReceiptTypeID = (int)GlobalEnums.GoodsReceiptTypeID.WarehouseAdjustments; goodsReceiptDTO.StorekeeperID = warehouseAdjustment.StorekeeperID; goodsReceiptDTO.Description = warehouseAdjustment.Description; goodsReceiptDTO.Remarks = warehouseAdjustment.Remarks; List <PendingWarehouseAdjustmentDetail> pendingWarehouseAdjustmentDetails = goodsReceiptAPIRepository.GetPendingWarehouseAdjustmentDetails(warehouseAdjustment.LocationID, null, warehouseAdjustment.WarehouseAdjustmentID, warehouseAdjustment.WarehouseID, null, false); foreach (PendingWarehouseAdjustmentDetail pendingWarehouseAdjustmentDetail in pendingWarehouseAdjustmentDetails) { GoodsReceiptDetailDTO goodsReceiptDetailDTO = new GoodsReceiptDetailDTO() { GoodsReceiptID = goodsReceiptDTO.GoodsReceiptID, WarehouseAdjustmentID = pendingWarehouseAdjustmentDetail.WarehouseAdjustmentID, WarehouseAdjustmentDetailID = pendingWarehouseAdjustmentDetail.WarehouseAdjustmentDetailID, WarehouseAdjustmentReference = pendingWarehouseAdjustmentDetail.PrimaryReference, WarehouseAdjustmentEntryDate = pendingWarehouseAdjustmentDetail.PrimaryEntryDate, BatchID = pendingWarehouseAdjustmentDetail.BatchID, BatchEntryDate = pendingWarehouseAdjustmentDetail.BatchEntryDate, BinLocationID = pendingWarehouseAdjustmentDetail.BinLocationID, BinLocationCode = pendingWarehouseAdjustmentDetail.BinLocationCode, CommodityID = pendingWarehouseAdjustmentDetail.CommodityID, CommodityCode = pendingWarehouseAdjustmentDetail.CommodityCode, CommodityName = pendingWarehouseAdjustmentDetail.CommodityName, Quantity = (decimal)pendingWarehouseAdjustmentDetail.QuantityRemains, LineVolume = (decimal)pendingWarehouseAdjustmentDetail.LineVolumeRemains, PackID = pendingWarehouseAdjustmentDetail.PackID, PackCode = pendingWarehouseAdjustmentDetail.PackCode, CartonID = pendingWarehouseAdjustmentDetail.CartonID, CartonCode = pendingWarehouseAdjustmentDetail.CartonCode, PalletID = pendingWarehouseAdjustmentDetail.PalletID, PalletCode = pendingWarehouseAdjustmentDetail.PalletCode, PackCounts = pendingWarehouseAdjustmentDetail.PackCounts, CartonCounts = pendingWarehouseAdjustmentDetail.CartonCounts, PalletCounts = pendingWarehouseAdjustmentDetail.PalletCounts }; goodsReceiptDTO.ViewDetails.Add(goodsReceiptDetailDTO); } goodsReceiptBaseService.Save(goodsReceiptDTO, true); } if (saveRelativeOption == SaveRelativeOption.Undo) {//NOTES: THIS UNDO REQUIRE: JUST SAVE ONLY ONE GoodsReceipt FOR AN WarehouseAdjustment int?goodsReceiptID = goodsReceiptAPIRepository.GetGoodsReceiptIDofWarehouseAdjustment(warehouseAdjustment.WarehouseAdjustmentID); if (goodsReceiptID != null) { goodsReceiptBaseService.Delete((int)goodsReceiptID, true); } else { throw new Exception("Lỗi không tìm thấy phiếu nhập kho cũ của phiếu điều chỉnh kho này!" + "\r\n" + "\r\n" + "Vui lòng kiểm tra lại dữ liệu trước khi tiếp tục."); } } } }
public override bool Editable(GoodsReceiptDTO dto) { return((dto.WarehouseAdjustmentID == null) && base.Editable(dto)); }
private void SaveInit3006(PurchaseOrderDTO purchaseOrderDTO, int warehouseID) { if (this.purchaseOrderService.Save(purchaseOrderDTO)) { PurchaseInvoiceDTO purchaseInvoiceDTO = new PurchaseInvoiceDTO(); purchaseInvoiceDTO.EntryDate = purchaseOrderDTO.EntryDate; purchaseInvoiceDTO.SupplierID = purchaseOrderDTO.SupplierID; purchaseInvoiceDTO.PurchaseOrderID = purchaseOrderDTO.PurchaseOrderID; purchaseInvoiceDTO.PriceTermID = purchaseOrderDTO.PriceTermID; purchaseInvoiceDTO.PaymentTermID = purchaseOrderDTO.PaymentTermID; purchaseInvoiceDTO.PreparedPersonID = purchaseOrderDTO.PreparedPersonID; purchaseInvoiceDTO.ApproverID = purchaseOrderDTO.ApproverID; ICollection <PurchaseInvoiceViewDetail> purchaseInvoiceViewDetails = this.purchaseInvoiceService.GetPurchaseInvoiceViewDetails(purchaseInvoiceDTO.PurchaseInvoiceID, purchaseInvoiceDTO.PurchaseOrderID == null ? 0 : (int)purchaseInvoiceDTO.PurchaseOrderID, purchaseInvoiceDTO.SupplierID, false); Mapper.Map <ICollection <PurchaseInvoiceViewDetail>, ICollection <PurchaseInvoiceDetailDTO> >(purchaseInvoiceViewDetails, purchaseInvoiceDTO.ViewDetails); if (purchaseInvoiceDTO.GetDetails() != null && purchaseInvoiceDTO.GetDetails().Count > 0) { purchaseInvoiceDTO.GetDetails().Each(detailDTO => { detailDTO.Quantity = detailDTO.QuantityRemains; detailDTO.Amount = Math.Round(detailDTO.Quantity * detailDTO.UnitPrice, 0); detailDTO.GrossAmount = Math.Round(detailDTO.Quantity * detailDTO.GrossPrice, 0); detailDTO.VATAmount = Math.Round(detailDTO.GrossAmount - detailDTO.Amount, 0); detailDTO.QuantityReceipt = 0; purchaseInvoiceDTO.TotalQuantity = Math.Round(purchaseInvoiceDTO.TotalQuantity + detailDTO.Quantity, 0); purchaseInvoiceDTO.TotalAmount = Math.Round(purchaseInvoiceDTO.TotalAmount + detailDTO.Amount, 0); purchaseInvoiceDTO.TotalVATAmount = Math.Round(purchaseInvoiceDTO.TotalVATAmount + detailDTO.VATAmount, 0); purchaseInvoiceDTO.TotalGrossAmount = Math.Round(purchaseInvoiceDTO.TotalGrossAmount + detailDTO.GrossAmount, 0); }); } if (this.purchaseInvoiceService.Save(purchaseInvoiceDTO)) { GoodsReceiptDTO goodsReceiptDTO = new GoodsReceiptDTO(); goodsReceiptDTO.EntryDate = purchaseInvoiceDTO.EntryDate; goodsReceiptDTO.VoucherID = purchaseInvoiceDTO.PurchaseInvoiceID; goodsReceiptDTO.GoodsReceiptTypeID = (int)GlobalEnums.GoodsReceiptTypeID.PurchaseInvoice; goodsReceiptDTO.PreparedPersonID = purchaseInvoiceDTO.PreparedPersonID; goodsReceiptDTO.ApproverID = purchaseInvoiceDTO.ApproverID; ICollection <GoodsReceiptViewDetail> goodsReceiptViewDetails = this.goodsReceiptService.GetGoodsReceiptViewDetails(goodsReceiptDTO.GoodsReceiptID, goodsReceiptDTO.GoodsReceiptTypeID, goodsReceiptDTO.VoucherID, false); Mapper.Map <ICollection <GoodsReceiptViewDetail>, ICollection <GoodsReceiptDetailDTO> >(goodsReceiptViewDetails, goodsReceiptDTO.ViewDetails); if (goodsReceiptDTO.GetDetails() != null && goodsReceiptDTO.GetDetails().Count > 0) { goodsReceiptDTO.GetDetails().Each(detailDTO => { detailDTO.Quantity = detailDTO.QuantityRemains; detailDTO.Amount = Math.Round(detailDTO.Quantity * detailDTO.UnitPrice, 0); detailDTO.GrossAmount = Math.Round(detailDTO.Quantity * detailDTO.GrossPrice, 0); detailDTO.VATAmount = Math.Round(detailDTO.GrossAmount - detailDTO.Amount, 0); detailDTO.QuantityIssue = 0; goodsReceiptDTO.TotalQuantity = Math.Round(goodsReceiptDTO.TotalQuantity + detailDTO.Quantity, 0); goodsReceiptDTO.TotalAmount = Math.Round(goodsReceiptDTO.TotalAmount + detailDTO.Amount, 0); goodsReceiptDTO.TotalVATAmount = Math.Round(goodsReceiptDTO.TotalVATAmount + detailDTO.VATAmount, 0); goodsReceiptDTO.TotalGrossAmount = Math.Round(goodsReceiptDTO.TotalGrossAmount + detailDTO.GrossAmount, 0); detailDTO.WarehouseID = warehouseID; }); } this.goodsReceiptService.Save(goodsReceiptDTO); } } }
private void SaveInit3006(PurchaseOrderDTO purchaseOrderDTO, int warehouseID) { if (this.purchaseOrderService.Save(purchaseOrderDTO)) { PurchaseInvoiceDTO purchaseInvoiceDTO = new PurchaseInvoiceDTO(); purchaseInvoiceDTO.EntryDate = purchaseOrderDTO.EntryDate; purchaseInvoiceDTO.SupplierID = purchaseOrderDTO.SupplierID; purchaseInvoiceDTO.PurchaseOrderID = purchaseOrderDTO.PurchaseOrderID; purchaseInvoiceDTO.PriceTermID = purchaseOrderDTO.PriceTermID; purchaseInvoiceDTO.PaymentTermID = purchaseOrderDTO.PaymentTermID; purchaseInvoiceDTO.PreparedPersonID = purchaseOrderDTO.PreparedPersonID; purchaseInvoiceDTO.ApproverID = purchaseOrderDTO.ApproverID; ICollection<PurchaseInvoiceViewDetail> purchaseInvoiceViewDetails = this.purchaseInvoiceService.GetPurchaseInvoiceViewDetails(purchaseInvoiceDTO.PurchaseInvoiceID, purchaseInvoiceDTO.PurchaseOrderID == null ? 0 : (int)purchaseInvoiceDTO.PurchaseOrderID, purchaseInvoiceDTO.SupplierID, false); Mapper.Map<ICollection<PurchaseInvoiceViewDetail>, ICollection<PurchaseInvoiceDetailDTO>>(purchaseInvoiceViewDetails, purchaseInvoiceDTO.ViewDetails); if (purchaseInvoiceDTO.GetDetails() != null && purchaseInvoiceDTO.GetDetails().Count > 0) purchaseInvoiceDTO.GetDetails().Each(detailDTO => { detailDTO.Quantity = detailDTO.QuantityRemains; detailDTO.Amount = Math.Round(detailDTO.Quantity * detailDTO.UnitPrice, 0); detailDTO.GrossAmount = Math.Round(detailDTO.Quantity * detailDTO.GrossPrice, 0); detailDTO.VATAmount = Math.Round(detailDTO.GrossAmount - detailDTO.Amount, 0); detailDTO.QuantityReceipt = 0; purchaseInvoiceDTO.TotalQuantity = Math.Round(purchaseInvoiceDTO.TotalQuantity + detailDTO.Quantity, 0); purchaseInvoiceDTO.TotalAmount = Math.Round(purchaseInvoiceDTO.TotalAmount + detailDTO.Amount, 0); purchaseInvoiceDTO.TotalVATAmount = Math.Round(purchaseInvoiceDTO.TotalVATAmount + detailDTO.VATAmount, 0); purchaseInvoiceDTO.TotalGrossAmount = Math.Round(purchaseInvoiceDTO.TotalGrossAmount + detailDTO.GrossAmount, 0); }); if (this.purchaseInvoiceService.Save(purchaseInvoiceDTO)) { GoodsReceiptDTO goodsReceiptDTO = new GoodsReceiptDTO(); goodsReceiptDTO.EntryDate = purchaseInvoiceDTO.EntryDate; goodsReceiptDTO.VoucherID = purchaseInvoiceDTO.PurchaseInvoiceID; goodsReceiptDTO.GoodsReceiptTypeID = (int)GlobalEnums.GoodsReceiptTypeID.PurchaseInvoice; goodsReceiptDTO.PreparedPersonID = purchaseInvoiceDTO.PreparedPersonID; goodsReceiptDTO.ApproverID = purchaseInvoiceDTO.ApproverID; ICollection<GoodsReceiptViewDetail> goodsReceiptViewDetails = this.goodsReceiptService.GetGoodsReceiptViewDetails(goodsReceiptDTO.GoodsReceiptID, goodsReceiptDTO.GoodsReceiptTypeID, goodsReceiptDTO.VoucherID, false); Mapper.Map<ICollection<GoodsReceiptViewDetail>, ICollection<GoodsReceiptDetailDTO>>(goodsReceiptViewDetails, goodsReceiptDTO.ViewDetails); if (goodsReceiptDTO.GetDetails() != null && goodsReceiptDTO.GetDetails().Count > 0) goodsReceiptDTO.GetDetails().Each(detailDTO => { detailDTO.Quantity = detailDTO.QuantityRemains; detailDTO.Amount = Math.Round(detailDTO.Quantity * detailDTO.UnitPrice, 0); detailDTO.GrossAmount = Math.Round(detailDTO.Quantity * detailDTO.GrossPrice, 0); detailDTO.VATAmount = Math.Round(detailDTO.GrossAmount - detailDTO.Amount, 0); detailDTO.QuantityIssue = 0; goodsReceiptDTO.TotalQuantity = Math.Round(goodsReceiptDTO.TotalQuantity + detailDTO.Quantity, 0); goodsReceiptDTO.TotalAmount = Math.Round(goodsReceiptDTO.TotalAmount + detailDTO.Amount, 0); goodsReceiptDTO.TotalVATAmount = Math.Round(goodsReceiptDTO.TotalVATAmount + detailDTO.VATAmount, 0); goodsReceiptDTO.TotalGrossAmount = Math.Round(goodsReceiptDTO.TotalGrossAmount + detailDTO.GrossAmount, 0); detailDTO.WarehouseID = warehouseID; }); this.goodsReceiptService.Save(goodsReceiptDTO); } } }