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); }
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); } } }