/// <summary> /// Obtiene una entidad de Unidad Operativa /// </summary> /// <param name="data">Data</param> /// <returns>Entity de Unidad Operativa</returns> public static UnidadOperativaEntity ObtenerUnidadOperativaEntity(DataUnidadOperativaRequest data) { var unidadOperativaEntity = new UnidadOperativaEntity(); if (data.CodigoUnidadOperativa != null) { unidadOperativaEntity.Codigo = new Guid(data.CodigoUnidadOperativa); } else { Guid code; code = Guid.NewGuid(); unidadOperativaEntity.Codigo = code; } unidadOperativaEntity.Nombre = data.Nombre; unidadOperativaEntity.CodigoIdentificacion = data.CodigoIdentificacion; unidadOperativaEntity.CodigoNivelJerarquia = data.CodigoNivelJerarquia; unidadOperativaEntity.CodigoUnidadOperativaPadre = data.CodigoUnidadOperativaPadre != null ? new Guid(data.CodigoUnidadOperativaPadre) : (Guid?)null; unidadOperativaEntity.CodigoTipoUnidadOperativa = data.CodigoTipoUnidadOperativa; unidadOperativaEntity.IndicadorActiva = data.IndicadorActiva; unidadOperativaEntity.CodigoResponsable = data.CodigoResponsable != null ? new Guid(data.CodigoResponsable) : (Guid?)null; unidadOperativaEntity.CodigoPrimerRepresentante = data.CodigoPrimerRepresentante != null ? new Guid(data.CodigoPrimerRepresentante) : (Guid?)null; unidadOperativaEntity.CodigoSegundoRepresentante = data.CodigoSegundoRepresentante != null ? new Guid(data.CodigoSegundoRepresentante) : (Guid?)null; unidadOperativaEntity.CodigoTercerRepresentante = data.CodigoTercerRepresentante != null ? new Guid(data.CodigoTercerRepresentante) : (Guid?)null; unidadOperativaEntity.CodigoCuartoRepresentante = data.CodigoCuartoRepresentante != null ? new Guid(data.CodigoCuartoRepresentante) : (Guid?)null; unidadOperativaEntity.Direccion = data.Direccion; unidadOperativaEntity.CodigoZonaHoraria = data.CodigoZonaHoraria != null ? new Guid(data.CodigoZonaHoraria) : (Guid?)null; return(unidadOperativaEntity); }
/// <summary> /// Registra una unidad operativa /// </summary> /// <param name="data">Parámetros de Búsqueda</param> /// <returns>Resultado del Proceso</returns> public ProcessResult <DataUnidadOperativaRequest> RegistrarUnidadOperativa(DataUnidadOperativaRequest data) { ProcessResult <DataUnidadOperativaRequest> resultado = new ProcessResult <DataUnidadOperativaRequest>(); try { UnidadOperativaEntity entidad = UnidadOperativaAdapter.ObtenerUnidadOperativaEntity(data); var resultadoRepetidoCI = unidadOperativaLogicRepository.RepiteCI( data.CodigoIdentificacion ); var resultadoRepetidoNombre = unidadOperativaLogicRepository.RepiteNombre( data.Nombre ); bool existeRepetidoCI = resultadoRepetidoCI.Any(e => e.CodigoUnidadOperativa != entidad.Codigo); bool existeRepetidoNombre = resultadoRepetidoNombre.Any(e => e.CodigoUnidadOperativa != entidad.Codigo); if (existeRepetidoCI || existeRepetidoNombre) { resultado.IsSuccess = false; if (existeRepetidoCI) { resultado.Exception = new ApplicationLayerException <UnidadOperativaService>(MensajesSistema.UOCIExiste); } if (existeRepetidoNombre) { resultado.Exception = new ApplicationLayerException <UnidadOperativaService>(MensajesSistema.UONombreExiste); } } else { if (data.CodigoUnidadOperativa == null) { entidad.CodigoPrimerRepresentanteOriginal = entidad.CodigoPrimerRepresentante; entidad.CodigoSegundoRepresentanteOriginal = entidad.CodigoSegundoRepresentante; entidad.CodigoTercerRepresentanteOriginal = entidad.CodigoTercerRepresentante; entidad.CodigoCuartoRepresentanteOriginal = entidad.CodigoCuartoRepresentante; unidadOperativaEntityRepository.Insertar(entidad); } else { var entidadEditar = unidadOperativaEntityRepository.GetById(entidad.Codigo); entidadEditar.Nombre = entidad.Nombre; entidadEditar.CodigoIdentificacion = entidad.CodigoIdentificacion; entidadEditar.IndicadorActiva = entidad.IndicadorActiva; entidadEditar.CodigoNivelJerarquia = entidad.CodigoNivelJerarquia; entidadEditar.CodigoUnidadOperativaPadre = entidad.CodigoUnidadOperativaPadre; entidadEditar.CodigoTipoUnidadOperativa = entidad.CodigoTipoUnidadOperativa; entidadEditar.CodigoResponsable = entidad.CodigoResponsable ?? entidadEditar.CodigoResponsable; entidadEditar.CodigoPrimerRepresentante = entidad.CodigoPrimerRepresentante ?? entidadEditar.CodigoPrimerRepresentante; entidadEditar.CodigoSegundoRepresentante = entidad.CodigoSegundoRepresentante ?? entidadEditar.CodigoSegundoRepresentante; entidadEditar.CodigoTercerRepresentante = entidad.CodigoTercerRepresentante ?? entidadEditar.CodigoTercerRepresentante; entidadEditar.CodigoCuartoRepresentante = entidad.CodigoCuartoRepresentante ?? entidadEditar.CodigoCuartoRepresentante; entidadEditar.CodigoPrimerRepresentanteOriginal = entidad.CodigoPrimerRepresentante ?? entidadEditar.CodigoPrimerRepresentante; entidadEditar.CodigoSegundoRepresentanteOriginal = entidad.CodigoSegundoRepresentante ?? entidadEditar.CodigoSegundoRepresentante; entidadEditar.CodigoTercerRepresentanteOriginal = entidad.CodigoTercerRepresentante ?? entidadEditar.CodigoTercerRepresentante; entidadEditar.CodigoCuartoRepresentanteOriginal = entidad.CodigoCuartoRepresentante ?? entidadEditar.CodigoCuartoRepresentante; entidadEditar.Direccion = entidad.Direccion ?? entidadEditar.Direccion; unidadOperativaEntityRepository.Editar(entidadEditar); } unidadOperativaEntityRepository.GuardarCambios(); resultado.Result = data; } } catch (Exception e) { resultado.IsSuccess = false; resultado.Exception = new ApplicationLayerException <UnidadOperativaService>(e); } return(resultado); }