public async Task <string> InsertAsync(FiscalYearDto dto) { var currentFiscalYear = await GetCurrentFiscalYearAsync(); var con = _baseInterface.GetConnection(); var transaction = con.BeginTransaction(); string message = ""; try { if (dto.IsCurrent) { _fiscalYearRepository.MakeIsCurrentFalse(con, transaction); } else { if (currentFiscalYear is null) { dto.IsCurrent = true; } } dto.StartDateAD = Convert.ToDateTime(_dateService.ConvertToEnglishDate(dto.StartDateBS)); dto.EndDateAD = Convert.ToDateTime(_dateService.ConvertToEnglishDate(dto.EndDateBS)); int result = _fiscalYearRepository.Insert(dto.ToEntity(), transaction, con); message = _messageClass.ShowSuccessMessage(result); transaction.Commit(); } catch (SqlException ex) { message = _messageClass.ShowErrorMessage(string.Format("{0} ~ {1}", ex.Number.ToString(), ex.Message)); transaction.Rollback(); } return(message); }