public async Task <IActionResult> Update([FromBody] GuiaEntidadDto item)
        {
            if (item == null)
            {
                return(BadRequest());
            }

            var responseOsinergmin = await _guiaAppService.Actualizar(item);

            return(new ObjectResult(responseOsinergmin));
        }
        public async Task <OsinergminResponse> Actualizar(GuiaEntidadDto entidadDto)
        {
            var entidadDomain = await _guiaRepository.Get(entidadDto.Id, false);

            entidadDomain = _mapper.Map(entidadDto, entidadDomain);

            var responseOsinergmin = await _osinergminRepository.RegistrarActualizarDetalle(entidadDomain);

            if (responseOsinergmin.Exito)
            {
                _unitOfWork.BeginTransaction();
                _unitOfWork.SaveChanges();
            }

            return(responseOsinergmin);
        }
        public async Task <OsinergminResponse> Agregar(GuiaEntidadDto entidadDto)
        {
            var entidadDomain      = _mapper.Map <GuiaEntity>(entidadDto);
            var responseOsinergmin = await _osinergminRepository.RegistrarGuiaOsinergmin(entidadDomain);

            if (responseOsinergmin.Exito)
            {
                _unitOfWork.BeginTransaction();

                await _guiaRepository.Add(entidadDomain);

                _unitOfWork.SaveChanges();
            }

            return(responseOsinergmin);
        }
        private void AddOrUpdateDetails(GuiaEntidadDto dto, GuiaEntity guiaEntity)
        {
            foreach (var detalleGuiaDto in dto.DetalleGuia)
            {
                if (detalleGuiaDto.Id == 0)
                {
                    if (guiaEntity.Detalles == null)
                    {
                        guiaEntity.Detalles = new List <DetalleGuiaEntity>();
                    }

                    guiaEntity.Detalles.Add(Mapper.Map <DetalleGuiaEntity>(detalleGuiaDto));
                }
                else
                {
                    Mapper.Map(detalleGuiaDto, guiaEntity.Detalles.SingleOrDefault(c => c.Id == detalleGuiaDto.Id));
                }
            }
        }