Пример #1
0
        public override void Delete([FromODataUri] int key)
        {
            DbType entity = new RetrieveById <DbType>(UnitOfWork).Execute(key);

            if (entity == null)
            {
                var resp = new HttpResponseMessage(HttpStatusCode.NotFound)
                {
                    Content = new StringContent(string.Format("Entity with ID = {0} not found", key))
                };
                throw new HttpResponseException(resp);
            }

            try
            {
                new Delete <DbType>(UnitOfWork).Execute(entity);
                UnitOfWork.Commit();
            }
            catch (DbUpdateConcurrencyException ex)
            {
                var message = "Database concurrency error detected. Entities may have been modified or deleted since entities were loaded. Please reload the entity to obtain the new values.";

                var resp = new HttpResponseMessage(HttpStatusCode.Conflict)
                {
                    Content      = new StringContent(message),
                    ReasonPhrase = ex.Message,
                };
                throw new HttpResponseException(resp);
            }
        }
Пример #2
0
        protected override T GetEntityByKey([FromODataUri] int key)
        {
            T entity = new RetrieveById <T>(UnitOfWork).Execute(key);

            if (entity == null)
            {
                throw new HttpResponseException(HttpStatusCode.NotFound);
            }
            return(entity);
        }
Пример #3
0
        protected override ApiType GetEntityByKey([FromODataUri] int key)
        {
            DbType entity = new RetrieveById <DbType>(UnitOfWork).Execute(key);

            if (entity == null)
            {
                throw new HttpResponseException(HttpStatusCode.NotFound);
            }
            return(ConvertToApiType(entity));
        }