Esempio n. 1
0
        public IActionResult Consultar([FromBody] ConsultaNotaIngresoAlmacenRequestDTO request)
        {
            Guid guid = Guid.NewGuid();

            _log.RegistrarEvento($"{guid.ToString()}{Environment.NewLine}{Newtonsoft.Json.JsonConvert.SerializeObject(request)}");

            ConsultaNotaIngresoAlmacenResponseDTO response = new ConsultaNotaIngresoAlmacenResponseDTO();

            try
            {
                response.Result.Data = _notaIngresoAlmacenService.ConsultarNotaIngresoAlmacen(request);

                response.Result.Success = true;
            }
            catch (ResultException ex)
            {
                response.Result = new Result()
                {
                    Success = true, ErrCode = ex.Result.ErrCode, Message = ex.Result.Message
                };
            }
            catch (Exception ex)
            {
                response.Result = new Result()
                {
                    Success = false, Message = "Ocurrio un problema en el servicio, intentelo nuevamente."
                };
                _log.RegistrarEvento(ex, guid.ToString());
            }

            _log.RegistrarEvento($"{guid.ToString()}{Environment.NewLine}{Newtonsoft.Json.JsonConvert.SerializeObject(response)}");

            return(Ok(response));
        }
        public IEnumerable <ConsultaNotaIngresoAlmacenBE> ConsultarNotaIngresoAlmacen(ConsultaNotaIngresoAlmacenRequestDTO request)
        {
            var parameters = new DynamicParameters();

            parameters.Add("Numero", request.Numero);
            parameters.Add("NombreRazonSocial", request.NombreRazonSocial);
            parameters.Add("TipoDocumentoId", request.TipoDocumentoId);
            parameters.Add("NumeroDocumento", request.NumeroDocumento);
            parameters.Add("CodigoSocio", request.CodigoSocio);
            parameters.Add("EstadoId", request.EstadoId);
            parameters.Add("ProductoId", request.ProductoId);
            parameters.Add("SubProductoId", request.SubProductoId);
            parameters.Add("TipoCertificacionId", request.TipoCertificacionId);
            parameters.Add("AlmacenId", request.AlmacenId);
            parameters.Add("EmpresaId", request.EmpresaId);
            parameters.Add("RendimientoPorcentajeInicio", request.RendimientoPorcentajeInicio);
            parameters.Add("RendimientoPorcentajeFin", request.RendimientoPorcentajeFin);
            parameters.Add("PuntajeAnalisisSensorialInicio", request.PuntajeAnalisisSensorialInicio);
            parameters.Add("PuntajeAnalisisSensorialFin", request.PuntajeAnalisisSensorialFin);
            parameters.Add("FechaInicio", request.FechaInicio);
            parameters.Add("FechaFin", request.FechaFin);


            using (IDbConnection db = new SqlConnection(_connectionString.Value.CoffeeConnectDB))
            {
                return(db.Query <ConsultaNotaIngresoAlmacenBE>("uspNotaIngresoAlmacenConsulta", parameters, commandType: CommandType.StoredProcedure));
            }
        }
        public List <ConsultaNotaIngresoAlmacenBE> ConsultarNotaIngresoAlmacen(ConsultaNotaIngresoAlmacenRequestDTO request)
        {
            if (request.FechaInicio == null || request.FechaInicio == DateTime.MinValue || request.FechaFin == null || request.FechaFin == DateTime.MinValue || string.IsNullOrEmpty(request.EstadoId))
            {
                throw new ResultException(new Result {
                    ErrCode = "01", Message = "Acopio.NotaCompra.ValidacionSeleccioneMinimoUnFiltro.Label"
                });
            }

            var timeSpan = request.FechaFin - request.FechaInicio;

            if (timeSpan.Days > 730)
            {
                throw new ResultException(new Result {
                    ErrCode = "02", Message = "Acopio.NotaCompra.ValidacionRangoFechaMayor2anios.Label"
                });
            }

            var list = _INotaIngresoAlmacenRepository.ConsultarNotaIngresoAlmacen(request);


            List <ConsultaDetalleTablaBE> lista = _IMaestroRepository.ConsultarDetalleTablaDeTablas(request.EmpresaId, String.Empty).ToList();

            foreach (ConsultaNotaIngresoAlmacenBE consultaNotaIngresoAlmacenBE in list)
            {
                if (!string.IsNullOrEmpty(consultaNotaIngresoAlmacenBE.TipoCertificacionId) && !string.IsNullOrEmpty(consultaNotaIngresoAlmacenBE.EntidadCertificadoraId))
                {
                    string[] certificacionesIds = consultaNotaIngresoAlmacenBE.TipoCertificacionId.Split('|');

                    string[] certificadorasIds = consultaNotaIngresoAlmacenBE.EntidadCertificadoraId.Split('|');

                    string certificacionLabel = string.Empty;

                    string certificadoraLabel = string.Empty;

                    if (certificacionesIds.Length > 0)
                    {
                        List <ConsultaDetalleTablaBE> certificaciones = lista.Where(a => a.CodigoTabla.Trim().Equals("TipoCertificacion")).ToList();

                        List <ConsultaDetalleTablaBE> certificadoras = lista.Where(a => a.CodigoTabla.Trim().Equals("EntidadCertificadora")).ToList();

                        foreach (string certificacionId in certificacionesIds)
                        {
                            ConsultaDetalleTablaBE certificacion = certificaciones.Where(a => a.Codigo == certificacionId).FirstOrDefault();

                            if (certificacion != null)
                            {
                                certificacionLabel = certificacionLabel + certificacion.Label + " ";
                            }
                        }

                        foreach (string certificadoraId in certificadorasIds)
                        {
                            ConsultaDetalleTablaBE certificadora = certificadoras.Where(a => a.Codigo == certificadoraId).FirstOrDefault();

                            if (certificadora != null)
                            {
                                certificadoraLabel = certificadoraLabel + certificadora.Label + " ";
                            }
                        }
                    }

                    consultaNotaIngresoAlmacenBE.Certificacion = certificacionLabel;
                    consultaNotaIngresoAlmacenBE.Certificadora = certificadoraLabel;
                }
            }
            return(list.ToList());
        }