コード例 #1
0
        public override async Task <GetIdiomInfoReply> AddIdiom(AddIdiomRequest request, ServerCallContext context)
        {
            var idiom = new Database.Models.Idiom
            {
                Text       = request.Text,
                Meaning    = request.Meaning,
                Usage      = request.Usage,
                LanguageId = request.LanguageId,
                UserId     = int.Parse(context.GetHttpContext().User.Identity.Name)
            };
            var result = await _idioms.AddIdiom(idiom, request.Links.ToList());

            if (!result)
            {
                throw new RpcException(new Status(StatusCode.AlreadyExists, "Idiom with this text already exist"));
            }
            return(await _idioms.GetIdiomInfo(idiom.IdiomId, int.Parse(context.GetHttpContext().User.Identity.Name)));
        }