public PurchaseOrderModel AddPOAndPOItemsByGRId(GoodsReceiptModel model) { using (var transaction = db.Database.BeginTransaction()) { PurchaseOrderModel po = new PurchaseOrderModel(); try { po.VendorId = model.VendorId; po.PoDate = DateTime.Now; po.POStatus = "complete"; po.SubTotal = model.SubTotal; po.TotalAmount = model.TotalAmount; po.VAT = model.VATTotal; po.CreatedBy = model.CreatedBy.Value; po.CreatedOn = DateTime.Now; po.PurchaseOrderItems = new List <PurchaseOrderItemsModel>(); model.GoodsReceiptItem.ForEach(grItm => { PurchaseOrderItemsModel poItem = new PurchaseOrderItemsModel(); poItem.ItemId = grItm.ItemId; poItem.Quantity = grItm.ReceivedQuantity; poItem.PurchaseOrderId = po.PurchaseOrderId; poItem.StandardRate = grItm.ItemRate; poItem.TotalAmount = grItm.TotalAmount; poItem.ReceivedQuantity = grItm.ReceivedQuantity; poItem.PendingQuantity = 0; poItem.DeliveryDays = 0; poItem.AuthorizedBy = po.CreatedBy; poItem.AuthorizedOn = DateTime.Now; poItem.AuthorizedRemark = "this is auto po creating on gr creation time"; poItem.CreatedBy = po.CreatedBy; poItem.CreatedOn = DateTime.Now; poItem.POItemStatus = "complete"; po.PurchaseOrderItems.Add(poItem); }); db.PurchaseOrders.Add(po); db.SaveChanges(); transaction.Commit(); } catch (Exception Ex) { transaction.Rollback(); throw Ex; } return(po); } }
public UngerboeckSDKPackage.PurchaseOrderItemsModel Add(PurchaseOrderItemsModel purchaseOrderItemModel) { return(UngerboeckSDKWrapper.APIUtil.AddPurchaseOrderItem(USISDKClient, purchaseOrderItemModel)); }