public async Task <ProvinceResponse> SaveAsync(Province province) { try { await _provinceRepository.AddAsync(province); await _unitOfWork.CompleteAsync(); return(new ProvinceResponse(province)); } catch (Exception ex) { return(new ProvinceResponse($"An error ocurred while saving province: {ex.Message}")); } }
public override async Task <int> HandleCommand(InsertProvinceCommand request, CancellationToken cancellationToken) { var id = 0; using (var conn = DALHelper.GetConnection()) { conn.Open(); using (var trans = conn.BeginTransaction()) { try { request.Model.CreatedDate = DateTime.Now; request.Model.CreatedBy = request.LoginSession.Id; request.Model.ModifiedDate = DateTime.Now; request.Model.ModifiedBy = request.LoginSession.Id; id = await provinceRepository.AddAsync(request.Model); } catch (Exception ex) { throw ex; } finally { if (id > 0) { trans.Commit(); } else { try { trans.Rollback(); } catch { } } } } } return(id); }