Ejemplo n.º 1
0
        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);
        }