示例#1
0
        protected virtual async Task <EntityUpdateModel <T> > UpdateCore(IValueProvider valueProvider, IAuthentication authentication, T entity, IPropertyMetadata[] properties)
        {
            var model = new EntityUpdateModel <T>();

            {
                var arg = new EntityUpdateEventArgs <T>(entity, valueProvider, properties);
                await RaiseAsyncEvent(EntityPreUpdateEvent, arg);

                properties = arg.Properties;
            }
            foreach (var property in properties)
            {
                try
                {
                    await UpdateProperty(valueProvider, entity, property);
                }
                catch (ArgumentException ex)
                {
                    model.ErrorMessage.Add(property, ex.Message);
                }
            }
            if (model.ErrorMessage.Count == 0)
            {
                var arg = new EntityUpdateEventArgs <T>(entity, valueProvider, properties);
                await RaiseAsyncEvent(EntityUpdatedEvent, arg);
            }
            model.IsSuccess = model.ErrorMessage.Count == 0;
            model.Result    = entity;
            return(model);
        }
示例#2
0
        public virtual IActionResult UpdateEntity([FromBody] EntityUpdateModel body, [FromHeader][Required()] string acceptLanguage, [FromRoute][Required] Guid?entityId)
        {
            //TODO: Uncomment the next line to return response 204 or use other options such as return this.NotFound(), return this.BadRequest(..), ...
            // return StatusCode(204);

            //TODO: Uncomment the next line to return response 400 or use other options such as return this.NotFound(), return this.BadRequest(..), ...
            // return StatusCode(400, default(ErrorViewModel));

            //TODO: Uncomment the next line to return response 404 or use other options such as return this.NotFound(), return this.BadRequest(..), ...
            // return StatusCode(404, default(ErrorViewModel));

            throw new NotImplementedException();
        }
示例#3
0
        protected virtual async Task <EntityUpdateModel <T> > UpdateCore(IValueProvider valueProvider, IAuthentication authentication, T entity, IPropertyMetadata[] properties)
        {
            var model = new EntityUpdateModel <T>();

            if (EntityPreUpdate != null)
            {
                var arg = new EntityUpdateEventArgs <T>(entity, valueProvider, properties);
                await EntityPreUpdate(Context, arg);

                properties = arg.Properties;
            }
            foreach (var property in properties)
            {
                await UpdateProperty(valueProvider, entity, property);
            }
            if (EntityUpdated != null)
            {
                var arg = new EntityUpdateEventArgs <T>(entity, valueProvider, properties);
                await EntityUpdated(Context, arg);
            }
            model.IsSuccess = model.ErrorMessage.Count == 0;
            model.Result    = entity;
            return(model);
        }