public ReceiptProxy(RECEIPTS receipt)
 {
     Id    = receipt.ID;
     Date  = receipt.DATE;
     File  = receipt.FILE;
     Value = receipt.VALUE;
     Title = receipt.TITLE;
     Store = receipt.STORE != null ? new StoreProxy(receipt.STORE) : null;
     User  = receipt.USER != null ? new UserProxy(receipt.USER) : null;
 }
        public IHttpActionResult Delete(int id)
        {
            RECEIPTS item = db.RECEIPTS.Find(id);

            if (item == null)
            {
                return(NotFound());
            }

            db.RECEIPTS.Remove(item);
            db.SaveChanges();

            return(Ok());
        }
        public IHttpActionResult Save(ReceiptProxy proxy)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (proxy.Id == 0)
            {
                db.RECEIPTS.Add(new RECEIPTS
                {
                    DATE  = proxy.Date,
                    FILE  = proxy.File,
                    TITLE = proxy.Title,
                    VALUE = proxy.Value,
                    STORE = db.STORES.Find(proxy.Store.Id),
                    USER  = db.USERS.Find(proxy.User.Id)
                });
            }
            else
            {
                RECEIPTS row = db.RECEIPTS.Find(proxy.Id);
                row.DATE  = proxy.Date;
                row.FILE  = proxy.File;
                row.TITLE = proxy.Title;
                row.VALUE = proxy.Value;
                row.STORE = db.STORES.Find(proxy.Store.Id);
                row.USER  = db.USERS.Find(proxy.User.Id);
            }

            try
            {
                db.SaveChanges();
                return(Ok());
            }
            catch (Exception e)
            {
                string error = e.GetBaseException().ToString();
                return(InternalServerError());
            }
        }