public async Task Create(WebPostViewInsertViewModel viewModel) { try { if (!await IsInDb(viewModel)) { if (!await IsInDbSameUserId(viewModel)) { _webPostView.Add(_mappingEngine.Map <DomainClasses.Entities.WebPostView>(viewModel)); await _unitOfWork.SaveChangesAsync(); } } else { var webView = await _webPostView.FirstAsync(a => a.Session == viewModel.Session && a.PostId == viewModel.PostId); _mappingEngine.Map(viewModel, webView); await _unitOfWork.SaveChangesAsync(); } } catch (Exception e) { Console.Write(e); } }
public async Task <bool> IsInDb(WebPostViewInsertViewModel viewModel) { return(await _webPostView.AnyAsync(a => a.Session == viewModel.Session && a.Ip == viewModel.Ip && a.PostId == viewModel.PostId && a.UserId == viewModel.UserId)); }
public async Task <bool> IsInDbSameUserId(WebPostViewInsertViewModel viewModel) { var r = await _webPostView.AnyAsync(a => a.PostId == viewModel.PostId& a.Session == viewModel.Session& a.UserId == viewModel.UserId& a.Ip == viewModel.Ip); return(r); }