public async Task <APIResult> GetFaqById(int faqId) { var rs = await faqHomepageQueries.GetFaqByIdAsync(faqId); return(new APIResult() { Result = 0, Data = rs }); }
public override async Task <int> HandleCommand(UpdateCommand request, CancellationToken cancellationToken) { if (request.Faq == null || request.Faq.Id == 0) { throw new BusinessException("Faq.NotExisted"); } var faq = (await faqQueries.GetFaqByIdAsync(request.Faq.Id)); if (faq == null) { throw new BusinessException("Faq.NotExisted"); } var rs = -1; using (var conn = DALHelper.GetConnection()) { conn.Open(); using (var trans = conn.BeginTransaction()) { try { request.Faq.CreatedDate = faq.CreatedDate; request.Faq.CreatedBy = faq.CreatedBy; request.Faq = UpdateBuild(request.Faq, request.LoginSession); rs = await faqRepository.UpdateAsync(request.Faq); if (rs != 0) { return(-1); } //for language // languages foreach (var item in request.Faq.FaqLanguages) { item.FaqId = request.Faq.Id; await faqRepository.AddOrUpdateLanguage(item); } rs = 0; } catch (Exception ex) { throw ex; } finally { if (rs == 0) { trans.Commit(); } else { try { trans.Rollback(); } catch { } } } } } return(rs); }