public ListadoInspeccion UpdateListadoInspeccion(ListadoInspeccion listadoInspeccion, Guid id)
        {
            var listadoInspeccionValidator = new ListadoInspeccionValidator();

            if (listadoInspeccionValidator.IsValid(listadoInspeccion))
            {
                var listadoInspeccionUpdate = GetListadoInspeccionById(id);

                listadoInspeccionUpdate.SetDescripcion(listadoInspeccion.Descripcion);
                listadoInspeccionUpdate.SetUnidadPeriodicidad(listadoInspeccion.UnidadPeriodicidad);
                listadoInspeccionUpdate.SetTipoMedidaPeriodicidadId(listadoInspeccion.TipoMedidaPeriodicidadId);
                listadoInspeccionUpdate.SetTipoActivo(listadoInspeccion.TipoActivo);

                _listadoInspeccionRepository.DeleteListadoInspeccion_TipoActivo(id);
                foreach (var item in listadoInspeccion.TipoActivo)
                {
                    var tipoActivo = GetTipoActivoById(item);

                    _listadoInspeccionRepository.UpdateListadoInspeccion(listadoInspeccionUpdate, tipoActivo);
                }

                _listadoInspeccionRepository.Commit();
            }
            else
            {
                throw new CenturyException(new CenturyError(CenturyError.TipoError.ErrorValidacion, "No se puede crear el ListadoInspeccion. No se cumplió una validación de datos.", "ListadoInspeccion", listadoInspeccionValidator.BrokenRules(listadoInspeccion)));
            }

            return(listadoInspeccion);
        }
        public IActionResult Put(Guid IdListadoInspeccion, [FromBody] ListadoInspeccionDTO listadoInspeccion)
        {
            ListadoInspeccion _listadoInspeccion = _mapper.Map <ListadoInspeccionDTO, ListadoInspeccion>(listadoInspeccion);

            _listadoInspeccionService.UpdateListadoInspeccion(_listadoInspeccion, IdListadoInspeccion);

            return(Ok());
        }
        public IActionResult CreateListadoInspeccion([FromBody] ListadoInspeccionDTO listadoInspeccion)
        {
            ListadoInspeccion _listadoInspeccion = _mapper.Map <ListadoInspeccionDTO, ListadoInspeccion>(listadoInspeccion);

            var result = _listadoInspeccionService.CreateListadoInspeccion(_listadoInspeccion);

            return(CreatedAtRoute("GetListadoInspeccionById", new { IdListadoInspeccion = result.Id }, null));
        }
        public ListadoInspeccion GetListadoInspeccionById(Guid id)
        {
            ListadoInspeccion listadoInspeccion = null;

            if (id != null)
            {
                listadoInspeccion = _listadoInspeccionRepository.GetById(id);

                if (listadoInspeccion is null)
                {
                    throw new CenturyException(new CenturyError(CenturyError.TipoError.NoEncontrado, "ListadoInspeccion no encontrado", "ListadoInspeccion"));
                }
                _listadoInspeccionRepository.LoadCollection(listadoInspeccion, l => l.ItemControl);
                _listadoInspeccionRepository.LoadReference(listadoInspeccion, a => a.TipoMedidaPeriodicidad);
                _listadoInspeccionRepository.LoadCollection(listadoInspeccion, a => a.TipoActivo);
            }
            return(listadoInspeccion);
        }
        public ListadoInspeccion CreateListadoInspeccion(ListadoInspeccion listadoInspeccion)
        {
            var listadoInspeccionValidator = new ListadoInspeccionValidator();

            if (listadoInspeccionValidator.IsValid(listadoInspeccion))
            {
                foreach (var item in listadoInspeccion.TipoActivo)
                {
                    var tipoActivo = GetTipoActivoById(item);

                    _listadoInspeccionRepository.AddListadoInspeccion(listadoInspeccion, tipoActivo);
                }
                _listadoInspeccionRepository.Commit();
            }
            else
            {
                throw new CenturyException(new CenturyError(CenturyError.TipoError.ErrorValidacion, "No se puede crear el ListadoInspeccion. No se cumplió una validación de datos.", "ListadoInspeccion", listadoInspeccionValidator.BrokenRules(listadoInspeccion)));
            }

            return(listadoInspeccion);
        }