public void Delete(int POId)
        {
            QuickReceiptEntities ctx = new QuickReceiptEntities();

            var existingPO = (from p in ctx.PurchaseOrders
                              where p.POId == POId
                              select p).FirstOrDefault();

            if (existingPO == null)
            {
                throw new ObjectNotFoundException("Purchase Order with POId " + POId + "couldn't be found int the database.  No deletion was performed.");
            }

            ctx.DeleteObject(existingPO);
            ctx.SaveChanges();
        }
        public QuickReceipt.Models.PurchaseOrder Save(QuickReceipt.Models.PurchaseOrder po)
        {
            QuickReceiptEntities ctx = new QuickReceiptEntities();
            var dbPO = Mapper.Map(po);

            var existingPO = (from p in ctx.PurchaseOrders
                              where p.POId == po.POId
                              select p).FirstOrDefault();

            if (existingPO != null)
            {
                existingPO.ProfileId = (po.ProfileId == 0 ? null : (int?)po.ProfileId);
                existingPO.GroupId = (po.GroupId == 0 ? null : (int?)po.GroupId);
                existingPO.GroupQRCode = po.GroupQRCode;
                existingPO.PurchaseOrderNumber = po.PurchaseOrderNumber;
                existingPO.QRCodeId = po.QRCodeId;
                existingPO.VendorId = (po.VendorId == 0 ? null : (int?)po.VendorId);
                existingPO.QRCodeShortURL = po.QRCodeShortURL;
            }
            else
            {
                ctx.PurchaseOrders.AddObject(dbPO);
            }

            ctx.SaveChanges();

            return Mapper.Map(dbPO);
        }