Example #1
0
        private async Task <int> CrearRegistroCorrespondencia(RegistroCorrespondencium registroCorrespondencium)
        {
            int idRegistro = _unidadDeTrabajo.RegistroCorrespondenciaRepository.GetMaxId(x => x.IdRegistroCorrespondencia) + 1;

            registroCorrespondencium.Consecutivo = $"{registroCorrespondencium.Consecutivo}{idRegistro.ToString("D8")}";
            _unidadDeTrabajo.RegistroCorrespondenciaRepository.Insert(registroCorrespondencium);
            await _unidadDeTrabajo.SaveAsync();

            return(idRegistro);
        }
        public async Task CrearRegistroYAuditoria(RegistroCorrespondenciaDto registroCorrespondenciaDto)
        {
            if (!registroCorrespondenciaDto.Consecutivo.Equals("CE") && !registroCorrespondenciaDto.Consecutivo.Equals("CI"))
            {
                throw new ModelException(Constantes.MENSAJE_ERROR_TIPO_CORRESPONDENCIA);
            }

            RegistroCorrespondencium registroCorrespondencium = iMapper.Map <RegistroCorrespondenciaDto, RegistroCorrespondencium>(registroCorrespondenciaDto);
            await _registroCorrespondenciaDominio.CrearRegistroYAuditoria(registroCorrespondencium, registroCorrespondenciaDto.IdEmpleado);
        }
Example #3
0
        public async Task CrearRegistroYAuditoria(RegistroCorrespondencium registroCorrespondencium, long idEmpleado)
        {
            int idRegistro = 0;

            using (var transaction = _unidadDeTrabajo.BeginTransaction())
            {
                try
                {
                    idRegistro = await CrearRegistroCorrespondencia(registroCorrespondencium);
                    await GuardarAuditoria(idRegistro, idEmpleado);

                    transaction.Commit();
                }
                catch (TechnicalException ex)
                {
                    transaction.Rollback();
                    throw new TechnicalException(ex.Message, ex.InnerException);
                }
            }
        }