public ConsultaGuiaRemisionAlmacen ConsultarImpresionGuiaRemisionAlmacen(int notaSalidaAlmacenId)
        {
            ConsultaGuiaRemisionAlmacen consultaImpresionGuiaRemision = new ConsultaGuiaRemisionAlmacen();

            consultaImpresionGuiaRemision = _IGuiaRemisionAlmacenRepository.ConsultaGuiaRemisionAlmacenPorNotaSalidaAlmacenId(notaSalidaAlmacenId);
            if (consultaImpresionGuiaRemision != null)
            {
                consultaImpresionGuiaRemision.lstConsultaGuiaRemisionAlmacenDetalle = _IGuiaRemisionAlmacenRepository.ConsultaGuiaRemisionAlmacenDetallePorGuiaRemisionAlmacenId(consultaImpresionGuiaRemision.GuiaRemisionAlmacenId);
            }

            return(consultaImpresionGuiaRemision);
        }
        public ConsultaImpresionListaProductoresPorNotaSalidaAlmacenResponseDTO ConsultarImpresionListaProductoresPorNotaSalidaAlmacen(int notaSalidaAlmacenId)
        {
            ConsultaImpresionListaProductoresPorNotaSalidaAlmacenResponseDTO consultaImpresionListaProductoresPorNotaSalidaAlmacenResponseDTO = new ConsultaImpresionListaProductoresPorNotaSalidaAlmacenResponseDTO();


            ConsultaGuiaRemisionAlmacen consultaImpresionGuiaRemision = new ConsultaGuiaRemisionAlmacen();

            consultaImpresionGuiaRemision = _IGuiaRemisionAlmacenRepository.ConsultaGuiaRemisionAlmacenPorNotaSalidaAlmacenId(notaSalidaAlmacenId);


            if (consultaImpresionGuiaRemision != null)
            {
                consultaImpresionListaProductoresPorNotaSalidaAlmacenResponseDTO.FechaNotaSalidaAlmacen       = consultaImpresionGuiaRemision.FechaRegistro;
                consultaImpresionListaProductoresPorNotaSalidaAlmacenResponseDTO.FechaNotaSalidaAlmacenString = consultaImpresionGuiaRemision.FechaRegistroString;
                consultaImpresionListaProductoresPorNotaSalidaAlmacenResponseDTO.NumeroNotaSalidaAlmacen      = consultaImpresionGuiaRemision.Numero;
                consultaImpresionListaProductoresPorNotaSalidaAlmacenResponseDTO.UsuarioNotaSalidaAlmacen     = consultaImpresionGuiaRemision.UsuarioRegistro;
                consultaImpresionListaProductoresPorNotaSalidaAlmacenResponseDTO.Certificacion  = consultaImpresionGuiaRemision.Certificacion;;
                consultaImpresionListaProductoresPorNotaSalidaAlmacenResponseDTO.TipoProduccion = consultaImpresionGuiaRemision.TipoProduccion;;

                Empresa empresa = _EmpresaRepository.ObtenerEmpresaPorId(consultaImpresionGuiaRemision.EmpresaId);

                if (empresa != null)
                {
                    consultaImpresionListaProductoresPorNotaSalidaAlmacenResponseDTO.RazonSocialEmpresa = empresa.RazonSocial;
                    consultaImpresionListaProductoresPorNotaSalidaAlmacenResponseDTO.RucEmpresa         = empresa.Ruc;
                    consultaImpresionListaProductoresPorNotaSalidaAlmacenResponseDTO.DireccionEmpresa   = empresa.Direccion;
                }

                List <ConsultaImpresionListaProductoresPorNotaSalidaAlmacenIdBE> listaProductores = _INotaSalidaAlmacenRepository.ConsultarImpresionListaProductoresPorNotaSalida(notaSalidaAlmacenId).ToList();

                string producto = String.Empty;

                if (listaProductores.Any())
                {
                    producto = listaProductores[0].Producto;
                }

                consultaImpresionListaProductoresPorNotaSalidaAlmacenResponseDTO.Producto = producto;

                consultaImpresionListaProductoresPorNotaSalidaAlmacenResponseDTO.ListaProductores = listaProductores;
            }


            return(consultaImpresionListaProductoresPorNotaSalidaAlmacenResponseDTO);
        }
        public ConsultaGuiaRemisionAlmacen ConsultaGuiaRemisionAlmacenPorNotaSalidaAlmacenId(int notaSalidaAlmacenId)
        {
            ConsultaGuiaRemisionAlmacen itemBE = null;

            var parameters = new DynamicParameters();

            parameters.Add("@NotaSalidaAlmacenId", notaSalidaAlmacenId);


            using (IDbConnection db = new SqlConnection(_connectionString.Value.CoffeeConnectDB))
            {
                var list = db.Query <ConsultaGuiaRemisionAlmacen>("uspGuiaRemisionAlmacenConsultaIdNotaSalida", parameters, commandType: CommandType.StoredProcedure);

                if (list.Any())
                {
                    itemBE = list.First();
                }
            }

            return(itemBE);
        }
        //public int ActualizarNotaSalidaAlmacenDetalle(RegistrarNotaSalidaAlmacenDetalleRequestDTO request)
        //{
        //    List<NotaSalidaAlmacenDetalle> lstnotaSalidaAlmacen = new List<NotaSalidaAlmacenDetalle>();

        //    request.ListNotaSalidaAlmacenDetalle.ForEach(x => {
        //        NotaSalidaAlmacenDetalle obj = new NotaSalidaAlmacenDetalle();
        //        obj.LoteId = x.LoteId;
        //        obj.NotaSalidaAlmacenDetalleId = x.NotaSalidaAlmacenDetalleId;
        //        obj.NotaSalidaAlmacenId = x.NotaSalidaAlmacenId;

        //        lstnotaSalidaAlmacen.Add(obj);
        //    });


        //    int affected = _INotaSalidaAlmacenRepository.ActualizarNotaSalidaAlmacenDetalle(lstnotaSalidaAlmacen,request.NotaSalidaAlmacenId);

        //    return affected;
        //}

        public int ActualizarNotaSalidaAlmacenAnalisisCalidad(ActualizarNotaSalidaAnalisisCalidadRequestDTO request)
        {
            NotaSalidaAlmacen notaSalidaAlmacen = new NotaSalidaAlmacen();

            notaSalidaAlmacen.NotaSalidaAlmacenId                = request.NotaSalidaAlmacenId;
            notaSalidaAlmacen.ExportableGramosAnalisisFisico     = request.ExportableGramosAnalisisFisico;
            notaSalidaAlmacen.ExportablePorcentajeAnalisisFisico = request.ExportablePorcentajeAnalisisFisico;
            notaSalidaAlmacen.DescarteGramosAnalisisFisico       = request.DescarteGramosAnalisisFisico;
            notaSalidaAlmacen.DescartePorcentajeAnalisisFisico   = request.DescartePorcentajeAnalisisFisico;
            notaSalidaAlmacen.CascarillaGramosAnalisisFisico     = request.CascarillaGramosAnalisisFisico;
            notaSalidaAlmacen.CascarillaPorcentajeAnalisisFisico = request.CascarillaPorcentajeAnalisisFisico;
            notaSalidaAlmacen.TotalGramosAnalisisFisico          = request.TotalGramosAnalisisFisico;
            notaSalidaAlmacen.TotalPorcentajeAnalisisFisico      = request.TotalPorcentajeAnalisisFisico;
            notaSalidaAlmacen.HumedadPorcentajeAnalisisFisico    = request.HumedadPorcentajeAnalisisFisico;
            notaSalidaAlmacen.ObservacionAnalisisFisico          = request.ObservacionAnalisisFisico;
            notaSalidaAlmacen.UsuarioCalidad               = request.UsuarioCalidad;
            notaSalidaAlmacen.ObservacionRegistroTostado   = request.ObservacionRegistroTostado;
            notaSalidaAlmacen.ObservacionAnalisisSensorial = request.ObservacionAnalisisSensorial;
            notaSalidaAlmacen.TotalAnalisisSensorial       = request.TotalAnalisisSensorial;
            notaSalidaAlmacen.UsuarioCalidad               = request.UsuarioCalidad;
            notaSalidaAlmacen.EstadoId     = NotaSalidaAlmacenEstados.Analizado;
            notaSalidaAlmacen.FechaCalidad = DateTime.Now;


            int affected = _INotaSalidaAlmacenRepository.ActualizarNotaSalidaAlmacenAnalisisCalidad(notaSalidaAlmacen);

            ConsultaGuiaRemisionAlmacen guiaRemisionPivot = _IGuiaRemisionAlmacenRepository.ConsultaGuiaRemisionAlmacenPorNotaSalidaAlmacenId(notaSalidaAlmacen.NotaSalidaAlmacenId);

            if (guiaRemisionPivot == null)
            {
                GuiaRemisionAlmacen guiaRemisionAlmacen = new GuiaRemisionAlmacen();
                guiaRemisionAlmacen.FechaUltimaActualizacion        = DateTime.Now;
                guiaRemisionAlmacen.UsuarioUltimaActualizacion      = request.UsuarioCalidad;
                guiaRemisionAlmacen.HumedadPorcentajeAnalisisFisico = request.HumedadPorcentajeAnalisisFisico;
                guiaRemisionAlmacen.GuiaRemisionId = guiaRemisionPivot.GuiaRemisionAlmacenId;
                _IGuiaRemisionAlmacenRepository.ActualizarDatosCalidad(guiaRemisionAlmacen);
            }



            #region "Analisis Fisico Color"
            if (request.AnalisisFisicoColorDetalleList.FirstOrDefault() != null)
            {
                List <NotaSalidaAlmacenAnalisisFisicoColorDetalleTipo> AnalisisFisicoColorDetalleList = new List <NotaSalidaAlmacenAnalisisFisicoColorDetalleTipo>();

                request.AnalisisFisicoColorDetalleList.ForEach(z =>
                {
                    NotaSalidaAlmacenAnalisisFisicoColorDetalleTipo item = new NotaSalidaAlmacenAnalisisFisicoColorDetalleTipo();
                    item.ColorDetalleDescripcion = z.ColorDetalleDescripcion;
                    item.ColorDetalleId          = z.ColorDetalleId;
                    item.NotaSalidaAlmacenId     = request.NotaSalidaAlmacenId;
                    item.Valor = z.Valor;
                    AnalisisFisicoColorDetalleList.Add(item);
                });

                affected = _INotaSalidaAlmacenRepository.ActualizarNotaSalidaAlmacenAnalisisFisicoColorDetalle(AnalisisFisicoColorDetalleList, request.NotaSalidaAlmacenId);
            }
            #endregion

            #region Analisis Fisico Defecto Primario
            if (request.AnalisisFisicoDefectoPrimarioDetalleList.FirstOrDefault() != null)
            {
                List <NotaSalidaAlmacenAnalisisFisicoDefectoPrimarioDetalleTipo> AnalisisFisicoDefectoPrimarioDetalleList = new List <NotaSalidaAlmacenAnalisisFisicoDefectoPrimarioDetalleTipo>();

                request.AnalisisFisicoDefectoPrimarioDetalleList.ForEach(z =>
                {
                    NotaSalidaAlmacenAnalisisFisicoDefectoPrimarioDetalleTipo item = new NotaSalidaAlmacenAnalisisFisicoDefectoPrimarioDetalleTipo();
                    item.DefectoDetalleId          = z.DefectoDetalleId;
                    item.DefectoDetalleDescripcion = z.DefectoDetalleDescripcion;
                    item.DefectoDetalleEquivalente = z.DefectoDetalleEquivalente;
                    item.NotaSalidaAlmacenId       = request.NotaSalidaAlmacenId;
                    item.Valor = z.Valor;
                    AnalisisFisicoDefectoPrimarioDetalleList.Add(item);
                });

                affected = _INotaSalidaAlmacenRepository.ActualizarNotaSalidaAlmacenAnalisisFisicoDefectoPrimarioDetalle(AnalisisFisicoDefectoPrimarioDetalleList, request.NotaSalidaAlmacenId);
            }
            #endregion

            #region "Analisis Fisico Defecto Secundario Detalle"
            if (request.AnalisisFisicoDefectoSecundarioDetalleList.FirstOrDefault() != null)
            {
                List <NotaSalidaAlmacenAnalisisFisicoDefectoSecundarioDetalleTipo> AnalisisFisicoDefectoSecundarioDetalleList = new List <NotaSalidaAlmacenAnalisisFisicoDefectoSecundarioDetalleTipo>();

                request.AnalisisFisicoDefectoSecundarioDetalleList.ForEach(z =>
                {
                    NotaSalidaAlmacenAnalisisFisicoDefectoSecundarioDetalleTipo item = new NotaSalidaAlmacenAnalisisFisicoDefectoSecundarioDetalleTipo();
                    item.DefectoDetalleId          = z.DefectoDetalleId;
                    item.DefectoDetalleDescripcion = z.DefectoDetalleDescripcion;
                    item.DefectoDetalleEquivalente = z.DefectoDetalleEquivalente;
                    item.NotaSalidaAlmacenId       = request.NotaSalidaAlmacenId;
                    item.Valor = z.Valor;
                    AnalisisFisicoDefectoSecundarioDetalleList.Add(item);
                });

                affected = _INotaSalidaAlmacenRepository.ActualizarNotaSalidaAlmacenAnalisisFisicoDefectoSecundarioDetalle(AnalisisFisicoDefectoSecundarioDetalleList, request.NotaSalidaAlmacenId);
            }
            #endregion

            #region "Analisis Fisico Olor Detalle"
            if (request.AnalisisFisicoOlorDetalleList.FirstOrDefault() != null)
            {
                List <NotaSalidaAlmacenAnalisisFisicoOlorDetalleTipo> AnalisisFisicoDefectoSecundarioDetalleList = new List <NotaSalidaAlmacenAnalisisFisicoOlorDetalleTipo>();

                request.AnalisisFisicoOlorDetalleList.ForEach(z =>
                {
                    NotaSalidaAlmacenAnalisisFisicoOlorDetalleTipo item = new NotaSalidaAlmacenAnalisisFisicoOlorDetalleTipo();
                    item.NotaSalidaAlmacenId    = request.NotaSalidaAlmacenId;
                    item.OlorDetalleDescripcion = z.OlorDetalleDescripcion;
                    item.OlorDetalleId          = z.OlorDetalleId;
                    item.Valor = z.Valor;
                    AnalisisFisicoDefectoSecundarioDetalleList.Add(item);
                });

                affected = _INotaSalidaAlmacenRepository.ActualizarNotaSalidaAlmacenAnalisisFisicoOlorDetalle(AnalisisFisicoDefectoSecundarioDetalleList, request.NotaSalidaAlmacenId);
            }
            #endregion

            #region "Analisis Sensorial Atributo"
            if (request.AnalisisSensorialAtributoDetalleList.FirstOrDefault() != null)
            {
                List <NotaSalidaAlmacenAnalisisSensorialAtributoDetalleTipo> AnalisisSensorialAtributoDetalle = new List <NotaSalidaAlmacenAnalisisSensorialAtributoDetalleTipo>();

                request.AnalisisSensorialAtributoDetalleList.ForEach(z =>
                {
                    NotaSalidaAlmacenAnalisisSensorialAtributoDetalleTipo item = new NotaSalidaAlmacenAnalisisSensorialAtributoDetalleTipo();
                    item.NotaSalidaAlmacenId        = request.NotaSalidaAlmacenId;
                    item.AtributoDetalleDescripcion = z.AtributoDetalleDescripcion;
                    item.AtributoDetalleId          = z.AtributoDetalleId;
                    item.Valor = z.Valor;
                    AnalisisSensorialAtributoDetalle.Add(item);
                });

                affected = _INotaSalidaAlmacenRepository.ActualizarNotaSalidaAlmacenAnalisisSensorialAtributoDetalle(AnalisisSensorialAtributoDetalle, request.NotaSalidaAlmacenId);
            }
            #endregion

            if (request.AnalisisSensorialDefectoDetalleList.FirstOrDefault() != null)
            {
                List <NotaSalidaAlmacenAnalisisSensorialDefectoDetalleTipo> AnalisisSensorialDefectoDetalle = new List <NotaSalidaAlmacenAnalisisSensorialDefectoDetalleTipo>();

                request.AnalisisSensorialDefectoDetalleList.ForEach(z =>
                {
                    NotaSalidaAlmacenAnalisisSensorialDefectoDetalleTipo item = new NotaSalidaAlmacenAnalisisSensorialDefectoDetalleTipo();
                    item.NotaSalidaAlmacenId       = request.NotaSalidaAlmacenId;
                    item.DefectoDetalleDescripcion = z.DefectoDetalleDescripcion;
                    item.DefectoDetalleId          = z.DefectoDetalleId;

                    item.Valor = z.Valor;
                    AnalisisSensorialDefectoDetalle.Add(item);
                });

                affected = _INotaSalidaAlmacenRepository.ActualizarNotaSalidaAlmacenAnalisisSensorialDefectoDetalle(AnalisisSensorialDefectoDetalle, request.NotaSalidaAlmacenId);
            }


            if (request.RegistroTostadoIndicadorDetalleList.FirstOrDefault() != null)
            {
                List <NotaSalidaAlmacenRegistroTostadoIndicadorDetalleTipo> RegistroTostadoIndicadorDetalle = new List <NotaSalidaAlmacenRegistroTostadoIndicadorDetalleTipo>();

                request.RegistroTostadoIndicadorDetalleList.ForEach(z =>
                {
                    NotaSalidaAlmacenRegistroTostadoIndicadorDetalleTipo item = new NotaSalidaAlmacenRegistroTostadoIndicadorDetalleTipo();
                    item.NotaSalidaAlmacenId         = request.NotaSalidaAlmacenId;
                    item.IndicadorDetalleDescripcion = z.IndicadorDetalleDescripcion;
                    item.IndicadorDetalleId          = z.IndicadorDetalleId;
                    item.Valor = z.Valor;

                    RegistroTostadoIndicadorDetalle.Add(item);
                });

                affected = _INotaSalidaAlmacenRepository.ActualizarNotaSalidaAlmacenRegistroTostadoIndicadorDetalle(RegistroTostadoIndicadorDetalle, request.NotaSalidaAlmacenId);
            }

            return(affected);
        }
        public int ActualizarNotaSalidaAlmacen(RegistrarNotaSalidaAlmacenRequestDTO request)
        {
            NotaSalidaAlmacen notaSalidaAlmacen = new NotaSalidaAlmacen();
            List <NotaSalidaAlmacenDetalle> lstnotaSalidaAlmacen = new List <NotaSalidaAlmacenDetalle>();
            int affected = 0;
            List <TablaIdsTipo> loteIdActualizar = new List <TablaIdsTipo>();


            notaSalidaAlmacen.NotaSalidaAlmacenId = request.NotaSalidaAlmacenId;
            notaSalidaAlmacen.EmpresaId           = request.EmpresaId;
            notaSalidaAlmacen.AlmacenId           = request.AlmacenId;
            notaSalidaAlmacen.Numero                   = request.Numero;
            notaSalidaAlmacen.MotivoTrasladoId         = request.MotivoTrasladoId;
            notaSalidaAlmacen.MotivoTrasladoReferencia = request.MotivoTrasladoReferencia;
            notaSalidaAlmacen.EmpresaIdDestino         = request.EmpresaIdDestino;
            notaSalidaAlmacen.EmpresaTransporteId      = request.EmpresaTransporteId;
            notaSalidaAlmacen.TransporteId             = request.TransporteId;
            notaSalidaAlmacen.NumeroConstanciaMTC      = request.NumeroConstanciaMTC;
            notaSalidaAlmacen.MarcaTractorId           = request.MarcaTractorId;
            notaSalidaAlmacen.PlacaTractor             = request.PlacaTractor;
            notaSalidaAlmacen.MarcaCarretaId           = request.MarcaCarretaId;
            notaSalidaAlmacen.PlacaCarreta             = request.PlacaCarreta;
            notaSalidaAlmacen.Conductor                = request.Conductor;
            notaSalidaAlmacen.Licencia                 = request.Licencia;
            notaSalidaAlmacen.Observacion              = request.Observacion;
            notaSalidaAlmacen.CantidadLotes            = request.CantidadLotes;
            //notaSalidaAlmacen.PromedioPorcentajeRendimiento = request.PromedioPorcentajeRendimiento;
            notaSalidaAlmacen.CantidadTotal   = request.CantidadTotal;
            notaSalidaAlmacen.PesoKilosBrutos = request.PesoKilosBrutos;

            //notaSalidaAlmacen.EstadoId = request.EstadoId;
            notaSalidaAlmacen.FechaUltimaActualizacion   = DateTime.Now;
            notaSalidaAlmacen.UsuarioUltimaActualizacion = request.UsuarioNotaSalidaAlmacen;


            affected = _INotaSalidaAlmacenRepository.Actualizar(notaSalidaAlmacen);


            if (affected != 0)
            {
                List <NotaSalidaAlmacenDetalle> notaSalidaAlmacenDetalle = _INotaSalidaAlmacenRepository.ConsultarNotaSalidaAlmacenDetallePorId(notaSalidaAlmacen.NotaSalidaAlmacenId).ToList();

                notaSalidaAlmacenDetalle.ForEach(x =>
                {
                    TablaIdsTipo tablaLoteIdsTipo = new TablaIdsTipo();
                    tablaLoteIdsTipo.Id           = x.LoteId;
                    loteIdActualizar.Add(tablaLoteIdsTipo);
                });

                _LoteRepository.ActualizarEstadoPorIds(loteIdActualizar, DateTime.Now, request.UsuarioNotaSalidaAlmacen, LoteEstados.Analizado);

                request.ListNotaSalidaAlmacenDetalle.ForEach(x =>
                {
                    NotaSalidaAlmacenDetalle obj = new NotaSalidaAlmacenDetalle();
                    obj.LoteId = x.LoteId;
                    obj.NotaSalidaAlmacenDetalleId = x.NotaSalidaAlmacenDetalleId;
                    obj.NotaSalidaAlmacenId        = request.NotaSalidaAlmacenId;

                    lstnotaSalidaAlmacen.Add(obj);
                });

                affected = _INotaSalidaAlmacenRepository.ActualizarNotaSalidaAlmacenDetalle(lstnotaSalidaAlmacen, request.NotaSalidaAlmacenId);
            }

            #region Guia Remision
            int guiaRemisionAlmacenId;
            //GuiaRemisionAlmacen guiaRemisionAlmacen = new GuiaRemisionAlmacen();

            GuiaRemisionAlmacen         guiaRemisionAlmacen = _Mapper.Map <GuiaRemisionAlmacen>(notaSalidaAlmacen);
            ConsultaGuiaRemisionAlmacen guiaRemisionPivot   = _IGuiaRemisionAlmacenRepository.ConsultaGuiaRemisionAlmacenPorNotaSalidaAlmacenId(notaSalidaAlmacen.NotaSalidaAlmacenId);


            #region Comentado Guia de Remision

            string tipoProduccionId    = String.Empty;
            string tipoCertificacionId = String.Empty;

            List <ConsultaNotaSalidaAlmacenLotesDetallePorIdBE> NotaSalidaDetalle = _INotaSalidaAlmacenRepository.ConsultarNotaSalidaAlmacenLotesDetallePorIdBE(notaSalidaAlmacen.NotaSalidaAlmacenId).ToList();


            if (NotaSalidaDetalle.Count > 0)
            {
                tipoProduccionId    = NotaSalidaDetalle[0].TipoProduccionId;
                tipoCertificacionId = NotaSalidaDetalle[0].TipoCertificacionId;
            }

            guiaRemisionAlmacen.TipoProduccionId    = tipoProduccionId;
            guiaRemisionAlmacen.TipoCertificacionId = tipoCertificacionId;

            if (guiaRemisionPivot == null)
            {
                guiaRemisionAlmacen.Numero = _ICorrelativoRepository.Obtener(request.EmpresaId, Documentos.GuiaRemisionAlmacen);

                guiaRemisionAlmacen.FechaRegistro   = DateTime.Now;
                guiaRemisionAlmacen.UsuarioRegistro = request.UsuarioNotaSalidaAlmacen;
                guiaRemisionAlmacen.EstadoId        = GuiaRemisionAlmacenEstados.Ingresado;
                guiaRemisionAlmacenId = _IGuiaRemisionAlmacenRepository.Insertar(guiaRemisionAlmacen);
            }
            else
            {
                guiaRemisionAlmacen.FechaUltimaActualizacion   = DateTime.Now;
                guiaRemisionAlmacen.UsuarioUltimaActualizacion = request.UsuarioNotaSalidaAlmacen;

                _IGuiaRemisionAlmacenRepository.Actualizar(guiaRemisionAlmacen);

                guiaRemisionAlmacenId = guiaRemisionPivot.GuiaRemisionAlmacenId;
            }


            if (guiaRemisionAlmacenId != 0)
            {
                //List<ConsultaNotaSalidaAlmacenLotesDetallePorIdBE> NotaSalidaDetalle = _INotaSalidaAlmacenRepository.ConsultarNotaSalidaAlmacenLotesDetallePorIdBE(notaSalidaAlmacen.NotaSalidaAlmacenId).ToList();
                List <GuiaRemisionAlmacenDetalleTipo> listaDetalle = new List <GuiaRemisionAlmacenDetalleTipo>();
                if (NotaSalidaDetalle.Any())
                {
                    NotaSalidaDetalle.ForEach(x =>
                    {
                        GuiaRemisionAlmacenDetalleTipo item = _Mapper.Map <GuiaRemisionAlmacenDetalleTipo>(x);
                        item.GuiaRemisionAlmacenId          = guiaRemisionAlmacenId;
                        item.FechaLote             = x.FechaRegistro;
                        item.UnidadMedidaIdPesado  = x.UnidadMedidaId;
                        item.ProductoId            = x.ProductoId;
                        item.SubProductoId         = x.SubProductoId;
                        item.NumeroLote            = x.NumeroLote;
                        item.CantidadPesado        = x.Cantidad;
                        item.KilosNetosPesado      = x.TotalKilosNetosPesado;
                        item.KilosBrutosPesado     = x.TotalKilosBrutosPesado;
                        item.RendimientoPorcentaje = x.RendimientoPorcentaje;
                        item.HumedadPorcentaje     = x.HumedadPorcentajeAnalisisFisico;
                        item.TipoProduccionId      = x.TipoProduccionId;
                        item.TipoCertificacionId   = x.TipoCertificacionId;
                        listaDetalle.Add(item);
                    });

                    _IGuiaRemisionAlmacenRepository.ActualizarGuiaRemisionAlmacenDetalle(listaDetalle);
                }
            }

            #endregion Comentado Guia de Remision
            #endregion

            return(affected);
        }
Example #6
0
        public GenerarPDFGuiaRemisionResponseDTO GenerarPDFGuiaRemisionPorNotaSalidaAlmacenId(int notaSalidaAlmacenIdId)
        {
            GenerarPDFGuiaRemisionResponseDTO generarPDFGuiaRemisionResponseDTO = new GenerarPDFGuiaRemisionResponseDTO();

            ConsultaGuiaRemisionAlmacen consultaImpresionGuiaRemision = new ConsultaGuiaRemisionAlmacen();

            consultaImpresionGuiaRemision = _IGuiaRemisionAlmacenRepository.ConsultaGuiaRemisionAlmacenPorNotaSalidaAlmacenId(notaSalidaAlmacenIdId);

            if (consultaImpresionGuiaRemision != null)
            {
                List <ConsultaGuiaRemisionAlmacenDetalle> detalleGuiaRemision = _IGuiaRemisionAlmacenRepository.ConsultaGuiaRemisionAlmacenDetallePorGuiaRemisionAlmacenId(consultaImpresionGuiaRemision.GuiaRemisionAlmacenId).ToList();

                int contador = 1;

                //string[] agenciasTotal= { };
                //string[] certificacionTotal = { };

                detalleGuiaRemision.ForEach(z =>
                {
                    string descripcion = String.Empty;

                    // ="	  " & CStr(Sum(Fields!Cantidad.Value, "dsGRListaDetalle")) & "	" & Trim(First(Fields!UnidadMedida.Value, "dsGRListaDetalle")) & "	   " & Trim(First(Fields!Producto.Value, "dsGRListaDetalle")) & "	" & First(Fields!SubProducto.Value, "dsGRListaDetalle") & " " & First(Fields!TipoProduccion.Value, "dsGRListaDetalle") & "	" & First(Fields!TipoCertificacion.Value, "dsGRListaDetalle")

                    GuiaRemisionListaDetalle guiaRemisionListaDetalle = new GuiaRemisionListaDetalle();
                    guiaRemisionListaDetalle.correlativo = contador;
                    contador++;
                    //string[] agencias = z.AgenciaCertificadora.Split("|");
                    //string[] certificaciones = z.Certificacion.Split("|");

                    //agenciasTotal = agenciasTotal.Concat(agencias).ToArray();
                    //certificacionTotal = certificacionTotal.Concat(certificaciones).ToArray();

                    //guiaRemisionListaDetalle.NumeroLote = z.NumeroLote.Trim();
                    //guiaRemisionListaDetalle.FechaLoteString = z.FechaLoteString;
                    //guiaRemisionListaDetalle.TipoProducto = z.Producto.Trim();

                    descripcion = "  " + Convert.ToString(z.CantidadPesado) + " " + Convert.ToString(!string.IsNullOrEmpty(z.UnidadMedida) ? z.UnidadMedida.Trim() : String.Empty) + " Plastico" + "   " + Convert.ToString(!string.IsNullOrEmpty(z.Producto) ? z.Producto.Trim() : String.Empty) + "  " + Convert.ToString(!string.IsNullOrEmpty(z.SubProducto) ? z.SubProducto.Trim() : String.Empty) + "  " + Convert.ToString(!string.IsNullOrEmpty(z.TipoProduccion) ? z.TipoProduccion.Trim() : String.Empty) + "  " + Convert.ToString(!string.IsNullOrEmpty(z.TipoCertificacion) ? z.TipoCertificacion.Trim() : String.Empty);

                    //guiaRemisionListaDetalle.TipoProducto = !string.IsNullOrEmpty(z.Producto) ? z.Producto.Trim() : String.Empty;

                    //guiaRemisionListaDetalle.UnidadMedida = z.UnidadMedida + " Plastico";
                    //guiaRemisionListaDetalle.UnidadMedida = !string.IsNullOrEmpty(z.UnidadMedida) ? z.UnidadMedida.Trim() : String.Empty + " Plastico";

                    guiaRemisionListaDetalle.Descripcion = descripcion;

                    //guiaRemisionListaDetalle.Cantidad = z.CantidadPesado;
                    guiaRemisionListaDetalle.PesoNeto = z.KilosBrutosPesado;
                    //guiaRemisionListaDetalle.HumedadPorcentaje = z.HumedadPorcentaje;
                    //guiaRemisionListaDetalle.RendimientoPorcentaje = z.RendimientoPorcentaje;
                    //guiaRemisionListaDetalle.TipoCertificacion = z.TipoCertificacion.Trim();
                    //guiaRemisionListaDetalle.TipoCertificacion = !string.IsNullOrEmpty(z.TipoCertificacion) ? z.TipoCertificacion.Trim() : String.Empty;

                    //guiaRemisionListaDetalle.TipoProduccion = z.TipoProduccion.Trim();
                    //guiaRemisionListaDetalle.TipoProduccion = !string.IsNullOrEmpty(z.TipoProduccion) ? z.TipoProduccion.Trim() : String.Empty;

                    //guiaRemisionListaDetalle.Producto = z.Producto.Trim();
                    //guiaRemisionListaDetalle.Producto = !string.IsNullOrEmpty(z.Producto) ? z.Producto.Trim() : String.Empty;

                    //guiaRemisionListaDetalle.SubProducto = z.SubProducto.Trim();
                    //guiaRemisionListaDetalle.SubProducto = !string.IsNullOrEmpty(z.SubProducto) ? z.SubProducto.Trim() : String.Empty;



                    generarPDFGuiaRemisionResponseDTO.listaDetalleGM.Add(guiaRemisionListaDetalle);
                });

                //agenciasTotal = agenciasTotal.Where(x => !string.IsNullOrWhiteSpace(x)).ToArray();
                //certificacionTotal = certificacionTotal.Where(x => !string.IsNullOrWhiteSpace(x)).ToArray();

                //agenciasTotal = agenciasTotal.Distinct().ToArray();

                //certificacionTotal = certificacionTotal.Distinct().ToArray();

                //string separator = ", ";

                //string agenciaCertificadora = string.Join(separator, agenciasTotal);
                //string certificacion = string.Join(separator, certificacionTotal);


                CabeceraGuiaRemision cabeceraGuiaRemision = new CabeceraGuiaRemision();


                cabeceraGuiaRemision.RazonSocial                     = !string.IsNullOrEmpty(consultaImpresionGuiaRemision.RazonSocialEmpresa) ? consultaImpresionGuiaRemision.RazonSocialEmpresa.Trim() : String.Empty;
                cabeceraGuiaRemision.Direccion                       = !string.IsNullOrEmpty(consultaImpresionGuiaRemision.DireccionPartida) ? consultaImpresionGuiaRemision.DireccionPartida.Trim() : String.Empty;
                cabeceraGuiaRemision.Ruc                             = !string.IsNullOrEmpty(consultaImpresionGuiaRemision.RucEmpresa) ? consultaImpresionGuiaRemision.RucEmpresa.Trim() : String.Empty;
                cabeceraGuiaRemision.Almacen                         = !string.IsNullOrEmpty(consultaImpresionGuiaRemision.Almacen) ? consultaImpresionGuiaRemision.Almacen.Trim() : String.Empty;
                cabeceraGuiaRemision.Destinatario                    = !string.IsNullOrEmpty(consultaImpresionGuiaRemision.Destinatario) ? consultaImpresionGuiaRemision.Destinatario.Trim() : String.Empty;
                cabeceraGuiaRemision.DireccionPartida                = !string.IsNullOrEmpty(consultaImpresionGuiaRemision.DireccionPartida) ? consultaImpresionGuiaRemision.DireccionPartida.Trim() : String.Empty;
                cabeceraGuiaRemision.DireccionDestino                = !string.IsNullOrEmpty(consultaImpresionGuiaRemision.DireccionDestino) ? consultaImpresionGuiaRemision.DireccionDestino.Trim() : String.Empty;
                cabeceraGuiaRemision.Certificacion                   = !string.IsNullOrEmpty(consultaImpresionGuiaRemision.Certificacion) ? consultaImpresionGuiaRemision.Certificacion.Trim() : String.Empty;
                cabeceraGuiaRemision.TipoProduccion                  = !string.IsNullOrEmpty(consultaImpresionGuiaRemision.TipoProduccion) ? consultaImpresionGuiaRemision.TipoProduccion.Trim() : String.Empty;
                cabeceraGuiaRemision.NumeroGuiaRemision              = !string.IsNullOrEmpty(consultaImpresionGuiaRemision.Numero) ? consultaImpresionGuiaRemision.Numero.Trim() : String.Empty;
                cabeceraGuiaRemision.RucDestinatario                 = !string.IsNullOrEmpty(consultaImpresionGuiaRemision.RucDestinatario) ? consultaImpresionGuiaRemision.RucDestinatario.Trim() : String.Empty;
                cabeceraGuiaRemision.FechaEmision                    = DateTime.Now;
                cabeceraGuiaRemision.FechaEmisionString              = DateTime.Now.ToString("dd/MM/yyyy");
                cabeceraGuiaRemision.FechaEntregaTransportista       = DateTime.Now;
                cabeceraGuiaRemision.FechaEntregaTransportistaString = DateTime.Now.ToString("dd/MM/yyyy");

                //cabeceraGuiaRemision.Certificadora = agenciaCertificadora;
                generarPDFGuiaRemisionResponseDTO.Cabecera.Add(cabeceraGuiaRemision);

                GuiaRemisionDetalle guiaRemisionDetalle = new GuiaRemisionDetalle();
                guiaRemisionDetalle.TotalLotes                   = consultaImpresionGuiaRemision.CantidadLotes;
                guiaRemisionDetalle.Rendimiento                  = consultaImpresionGuiaRemision.PromedioPorcentajeRendimiento;
                guiaRemisionDetalle.PorcentajeHumedad            = consultaImpresionGuiaRemision.HumedadPorcentajeAnalisisFisico;
                guiaRemisionDetalle.CantidadTotal                = consultaImpresionGuiaRemision.CantidadTotal;
                guiaRemisionDetalle.TotalKGBrutos                = consultaImpresionGuiaRemision.PesoKilosBrutos;
                guiaRemisionDetalle.ModalidadTransporte          = "TRANSPORTE PRIVADO";
                guiaRemisionDetalle.TipoTraslado                 = "TRANSPORTE PRIVADO";
                guiaRemisionDetalle.MotivoTraslado               = !string.IsNullOrEmpty(consultaImpresionGuiaRemision.Motivo) ? consultaImpresionGuiaRemision.Motivo.Trim() : String.Empty;
                guiaRemisionDetalle.MotivoTrasladoId             = !string.IsNullOrEmpty(consultaImpresionGuiaRemision.MotivoTrasladoId) ? consultaImpresionGuiaRemision.MotivoTrasladoId.Trim() : String.Empty;
                guiaRemisionDetalle.MotivoDetalleTraslado        = !string.IsNullOrEmpty(consultaImpresionGuiaRemision.MotivoTrasladoReferencia) ? consultaImpresionGuiaRemision.MotivoTrasladoReferencia.Trim() : String.Empty;
                guiaRemisionDetalle.PropietarioTransportista     = !string.IsNullOrEmpty(consultaImpresionGuiaRemision.Propietario) ? consultaImpresionGuiaRemision.Propietario.Trim() : String.Empty;
                guiaRemisionDetalle.TransportistaDomicilio       = !string.IsNullOrEmpty(consultaImpresionGuiaRemision.DireccionTransportista) ? consultaImpresionGuiaRemision.DireccionTransportista.Trim() : String.Empty;
                guiaRemisionDetalle.TransportistaCodigoVehicular = !string.IsNullOrEmpty(consultaImpresionGuiaRemision.ConfiguracionVehicular) ? consultaImpresionGuiaRemision.ConfiguracionVehicular.Trim() : String.Empty;
                guiaRemisionDetalle.TransportistaMarca           = !string.IsNullOrEmpty(consultaImpresionGuiaRemision.MarcaTractor) ? consultaImpresionGuiaRemision.MarcaTractor.Trim() : String.Empty;
                guiaRemisionDetalle.TransportistaRuc             = !string.IsNullOrEmpty(consultaImpresionGuiaRemision.RucTransportista) ? consultaImpresionGuiaRemision.RucTransportista.Trim() : String.Empty;
                guiaRemisionDetalle.TransportistaRazonSocial     = !string.IsNullOrEmpty(consultaImpresionGuiaRemision.Transportista) ? consultaImpresionGuiaRemision.Transportista.Trim() : String.Empty;
                guiaRemisionDetalle.TransportistaPlaca           = !string.IsNullOrEmpty(consultaImpresionGuiaRemision.PlacaTractor) ? consultaImpresionGuiaRemision.PlacaTractor.Trim() : String.Empty;
                guiaRemisionDetalle.TransportistaPlacaCarreta    = String.Empty;
                guiaRemisionDetalle.TransportistaConductor       = !string.IsNullOrEmpty(consultaImpresionGuiaRemision.Conductor) ? consultaImpresionGuiaRemision.Conductor.Trim() : String.Empty;
                guiaRemisionDetalle.TransportistaColor           = !string.IsNullOrEmpty(consultaImpresionGuiaRemision.Color) ? consultaImpresionGuiaRemision.Color.Trim() : String.Empty;
                guiaRemisionDetalle.TransportistaSoat            = !string.IsNullOrEmpty(consultaImpresionGuiaRemision.Soat) ? consultaImpresionGuiaRemision.Soat.Trim() : String.Empty;
                guiaRemisionDetalle.TransportistaDni             = !string.IsNullOrEmpty(consultaImpresionGuiaRemision.Dni) ? consultaImpresionGuiaRemision.Dni.Trim() : String.Empty;
                guiaRemisionDetalle.TransportistaColor           = !string.IsNullOrEmpty(consultaImpresionGuiaRemision.Color) ? consultaImpresionGuiaRemision.Color.Trim() : String.Empty;
                guiaRemisionDetalle.TransportistaSoat            = !string.IsNullOrEmpty(consultaImpresionGuiaRemision.Soat) ? consultaImpresionGuiaRemision.Soat.Trim() : String.Empty;
                guiaRemisionDetalle.TransportistaConstancia      = !string.IsNullOrEmpty(consultaImpresionGuiaRemision.NumeroConstanciaMTC) ? consultaImpresionGuiaRemision.NumeroConstanciaMTC.Trim() : String.Empty;
                guiaRemisionDetalle.TransportistaBrevete         = !string.IsNullOrEmpty(consultaImpresionGuiaRemision.LicenciaConductor) ? consultaImpresionGuiaRemision.LicenciaConductor.Trim() : String.Empty;
                guiaRemisionDetalle.Observaciones                = !string.IsNullOrEmpty(consultaImpresionGuiaRemision.Observacion) ? consultaImpresionGuiaRemision.Observacion.Trim() : String.Empty;
                guiaRemisionDetalle.Responsable                  = !string.IsNullOrEmpty(consultaImpresionGuiaRemision.UsuarioRegistro) ? consultaImpresionGuiaRemision.UsuarioRegistro.Trim() : String.Empty;

                generarPDFGuiaRemisionResponseDTO.detalleGM.Add(guiaRemisionDetalle);
            }
            return(generarPDFGuiaRemisionResponseDTO);
        }