public IHttpActionResult Patch([FromODataUri] int key, System.Web.OData.Delta<OptionSet> patch)
        {
            Validate(patch.GetEntity());

            if (!ModelState.IsValid)
            {
                return BadRequest(ModelState);
            }

            OptionSet optionSet = db.OptionSets.Find(key);
            if (optionSet == null)
            {
                return NotFound();
            }

            patch.Patch(optionSet);

            try
            {
                db.SaveChanges();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!OptionSetExists(key))
                {
                    return NotFound();
                }
                else
                {
                    throw;
                }
            }

            return Updated(optionSet);
        }
        // PUT: odata/PaymentMode(5)
        public IHttpActionResult Put([FromODataUri] int key, System.Web.OData.Delta<PaymentMode> patch)
        {
            Validate(patch.GetEntity());

            if (!ModelState.IsValid)
            {
                return BadRequest(ModelState);
            }

            PaymentMode Item = _PaymentModeService.GetById(key);
            if (Item == null)
            {
                return NotFound();
            }

            patch.Put(Item);

            try
            {
                _PaymentModeService.SaveChanges();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!_PaymentModeService.Exists(key))
                {
                    return NotFound();
                }
                else
                {
                    throw;
                }
            }

            return Updated(Item);
        }
        public IHttpActionResult Patch([FromODataUri] int key, System.Web.OData.Delta<GroupItemType> patch)
        {
            Validate(patch.GetEntity());

            if (!ModelState.IsValid)
            {
                return BadRequest(ModelState);
            }

            GroupItemType groupItemType = db.GroupItemTypes.Find(key);
            if (groupItemType == null)
            {
                return NotFound();
            }

            patch.Patch(groupItemType);

            try
            {
                db.SaveChanges();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!GroupItemTypeExists(key))
                {
                    return NotFound();
                }
                else
                {
                    throw;
                }
            }

            return Updated(groupItemType);
        }