Ejemplo n.º 1
0
        public async Task <StandardResponse> UpdateTopic(ClaimsPrincipal identity, TopicUpdateViewModel model, ModelStateDictionary modelState)
        {
            if (!modelState.IsValid)
            {
                return(modelState.StandardError());
            }

            using (var db = new ServiceDb())
            {
                using (var user = await _userService.Become(db, identity))
                {
                    var result = await _topicService.UpdateTopic(db, user, new UpdateTopic()
                    {
                        TopicId     = model.TopicId,
                        Description = model.Description,
                        Icon        = PangulStringEncoding.GetBytesFromDataUrl(model.Icon),
                        IconType    = PangulStringEncoding.GetTypeFromDataUrl(model.Icon),
                        RowVersion  = model.RowVersion
                    });

                    await db.SaveChangesAsync();

                    return(StandardResponse.For(new { result.TopicId }));
                }
            }
        }