public int Insertar(InspeccionInterna inspeccionInterna)
        {
            int result = 0;

            var parameters = new DynamicParameters();

            parameters.Add("@InspeccionInternaId", inspeccionInterna.InspeccionInternaId);
            parameters.Add("@Numero", inspeccionInterna.Numero);
            parameters.Add("@SocioFincaId", inspeccionInterna.SocioFincaId);
            parameters.Add("@Certificaciones", inspeccionInterna.Certificaciones);
            parameters.Add("@ExclusionPrograma", inspeccionInterna.ExclusionPrograma);
            parameters.Add("@SuspencionTiempo", inspeccionInterna.SuspencionTiempo);
            parameters.Add("@DuracionSuspencionTiempo", inspeccionInterna.DuracionSuspencionTiempo);
            parameters.Add("@NoConformidadObservacionLevantada", inspeccionInterna.NoConformidadObservacionLevantada);
            parameters.Add("@ApruebaSinCondicion", inspeccionInterna.ApruebaSinCondicion);
            parameters.Add("@EmpresaId", inspeccionInterna.EmpresaId);
            parameters.Add("@Inspector", inspeccionInterna.Inspector);
            parameters.Add("@FechaInspeccion", inspeccionInterna.FechaInspeccion);
            parameters.Add("@EstadoId", inspeccionInterna.EstadoId);
            parameters.Add("@FechaRegistro", inspeccionInterna.FechaRegistro);
            parameters.Add("@UsuarioRegistro", inspeccionInterna.UsuarioRegistro);
            parameters.Add("@NombreArchivo", inspeccionInterna.NombreArchivo);
            parameters.Add("@PathArchivo", inspeccionInterna.PathArchivo);

            parameters.Add("@InspeccionInternaId", dbType: DbType.Int32, direction: ParameterDirection.Output);

            using (IDbConnection db = new SqlConnection(_connectionString.Value.CoffeeConnectDB))
            {
                result = db.Execute("uspInspeccionInternaInsertar", parameters, commandType: CommandType.StoredProcedure);
            }

            int id = parameters.Get <int>("InspeccionInternaId");

            return(id);
        }
        public int Actualizar(InspeccionInterna inspeccionInterna)
        {
            int result = 0;

            var parameters = new DynamicParameters();

            parameters.Add("@InspeccionInternaId", inspeccionInterna.InspeccionInternaId);
            parameters.Add("@SocioFincaId", inspeccionInterna.SocioFincaId);
            parameters.Add("@Certificaciones", inspeccionInterna.Certificaciones);
            parameters.Add("@ExclusionPrograma", inspeccionInterna.ExclusionPrograma);
            parameters.Add("@SuspencionTiempo", inspeccionInterna.SuspencionTiempo);
            parameters.Add("@DuracionSuspencionTiempo", inspeccionInterna.DuracionSuspencionTiempo);
            parameters.Add("@NoConformidadObservacionLevantada", inspeccionInterna.NoConformidadObservacionLevantada);
            parameters.Add("@ApruebaSinCondicion", inspeccionInterna.ApruebaSinCondicion);
            parameters.Add("@EmpresaId", inspeccionInterna.EmpresaId);
            parameters.Add("@Inspector", inspeccionInterna.Inspector);
            parameters.Add("@FechaInspeccion", inspeccionInterna.FechaInspeccion);
            parameters.Add("@EstadoId", inspeccionInterna.EstadoId);
            parameters.Add("@FechaUltimaActualizacion", inspeccionInterna.FechaUltimaActualizacion);
            parameters.Add("@UsuarioUltimaActualizacion", inspeccionInterna.UsuarioUltimaActualizacion);
            parameters.Add("@NombreArchivo", inspeccionInterna.NombreArchivo);
            parameters.Add("@PathArchivo", inspeccionInterna.PathArchivo);

            using (IDbConnection db = new SqlConnection(_connectionString.Value.CoffeeConnectDB))
            {
                result = db.Execute("uspInspeccionInternaActualizar", parameters, commandType: CommandType.StoredProcedure);
            }
            return(result);
        }
        public int ActualizarInspeccionInterna(RegistrarActualizarInspeccionInternaRequestDTO request, IFormFile file)
        {
            InspeccionInterna inspeccionInterna = _Mapper.Map <InspeccionInterna>(request);

            inspeccionInterna.FechaUltimaActualizacion   = DateTime.Now;
            inspeccionInterna.UsuarioUltimaActualizacion = request.Usuario;

            AdjuntarArchivosBL AdjuntoBl = new AdjuntarArchivosBL(_fileServerSettings);

            byte[] fileBytes = null;

            if (file != null)
            {
                if (file.Length > 0)
                {
                    using (var ms = new MemoryStream())
                    {
                        file.CopyTo(ms);
                        fileBytes = ms.ToArray();
                        string s = Convert.ToBase64String(fileBytes);
                        // act on the Base64 data
                    }

                    inspeccionInterna.NombreArchivo = file.FileName;
                    ResponseAdjuntarArchivoDTO response = AdjuntoBl.AgregarArchivo(new RequestAdjuntarArchivosDTO()
                    {
                        filtros = new AdjuntarArchivosDTO()
                        {
                            archivoStream = fileBytes,
                            filename      = file.FileName,
                        },
                        pathFile = _fileServerSettings.Value.InspeccionInterna
                    });

                    inspeccionInterna.PathArchivo = _fileServerSettings.Value.InspeccionInterna + "\\" + response.ficheroReal;
                }
            }

            int affected = _IInspeccionInternaRepository.Actualizar(inspeccionInterna);

            if (request.InspeccionInternaNormaList.FirstOrDefault() != null)
            {
                request.InspeccionInternaNormaList.ForEach(z =>
                {
                    z.InspeccionInternaId = request.InspeccionInternaId;
                });

                _IInspeccionInternaRepository.ActualizarInspeccionInternaNormas(request.InspeccionInternaNormaList, request.InspeccionInternaId);
            }

            if (request.InspeccionInternaParcelaList.FirstOrDefault() != null)
            {
                request.InspeccionInternaParcelaList.ForEach(z =>
                {
                    z.InspeccionInternaId = request.InspeccionInternaId;
                });

                _IInspeccionInternaRepository.ActualizarInspeccionInternaParcela(request.InspeccionInternaParcelaList, request.InspeccionInternaId);
            }

            if (request.InspeccionInternaLevantamientoNoConformidadList.FirstOrDefault() != null)
            {
                request.InspeccionInternaLevantamientoNoConformidadList.ForEach(z =>
                {
                    z.InspeccionInternaId = request.InspeccionInternaId;
                });

                _IInspeccionInternaRepository.ActualizarInspeccionInternaLevantamientoNoConformidad(request.InspeccionInternaLevantamientoNoConformidadList, request.InspeccionInternaId);
            }

            if (request.InspeccionInternaNoConformidadList.FirstOrDefault() != null)
            {
                request.InspeccionInternaNoConformidadList.ForEach(z =>
                {
                    z.InspeccionInternaId = request.InspeccionInternaId;
                });

                _IInspeccionInternaRepository.ActualizarInspeccionInternaNoConformidad(request.InspeccionInternaNoConformidadList, request.InspeccionInternaId);
            }

            return(affected);
        }