public ResponseConsultarDocumento ValidarDocumento(RequestConsultarDocumento request)
        {
            var response       = new ResponseConsultarDocumento();
            var listaDocumento = new List <Documento>();

            using (SqlConnection conexion = new SqlConnection(ContextoParaBaseDatos.DecryptedConnectionString("TransmisionesDB")))
            {
                Dictionary <string, object> parametrosIn = new Dictionary <string, object>();

                parametrosIn.Add("@CodigoDocumento", request.CodigoDocumento);
                parametrosIn.Add("@CodigoItinerario", request.CodigoItinerario);
                parametrosIn.Add("@CodigoPuertoOrigenDocumento", request.CodigoPuertoOrigenDocumento);
                parametrosIn.Add("@CodigoPuertoEmbarqueDocumento", request.CodigoPuertoEmbarqueDocumento);
                parametrosIn.Add("@CodigoPuertoDescargaDocumento", request.CodigoPuertoDescargaDocumento);
                parametrosIn.Add("@CodigoPuertoFinalDocumento", request.CodigoPuertoFinalDocumento);
                parametrosIn.Add("@CodigoLineaNaviera", request.CodigoLineaNaviera);
                parametrosIn.Add("@CodigoAduana", request.CodigoAduana);
                parametrosIn.Add("@NumeroDocumento", request.NumeroDocumento);

                using (SqlCommand cmd = SqlHelper.CreateCommandWithParameters("USP_VALIDAR_DOCUMENTO", conexion, parametrosIn, true))
                {
                    using (IDataReader dr = cmd.ExecuteReader())
                    {
                        while (dr.Read())
                        {
                            Documento Documento = new Documento();
                            Documento.NumeroDocumento = dr.GetString(dr.GetOrdinal("NumeroDocumento")).Trim();
                            listaDocumento.Add(Documento);
                        }

                        SqlHelper.CloseConnection(conexion);
                    }
                    response.ListaDocumento = listaDocumento;
                }
            }
            return(response);
        }
Esempio n. 2
0
        public RegistraDocumentoResponseDTO RegistraDocumento(RegistraDocumentoRequestDTO request, bool esMasivo = false)
        {
            long result = 0;

            RegistraDocumentoResponseDTO response = new RegistraDocumentoResponseDTO();
            CoreBL coreBL = new CoreBL();

            try
            {
                var contextoParaBaseDatos = new ContextoParaBaseDatos(ConstantesDB.Transmisiones);
                var repo = new RepositorioDocumento(contextoParaBaseDatos);

                Mapper.CreateMap <DocumentoDetalleCargaDTO, DocumentoDetalleCarga>();
                Mapper.CreateMap <DocumentoDetalleClienteDTO, DocumentoDetalleCliente>();
                Mapper.CreateMap <DocumentoDetalleFleteDTO, DocumentoDetalleFlete>();

                var requestBE = Helper.MiMapper <RegistraDocumentoRequestDTO, RegistraDocumento>(request);



                var request2 = new RequestConsultarDocumento();
                #region Validacion

                request2.CodigoItinerario              = requestBE.CodigoItinerario;
                request2.CodigoPuertoOrigenDocumento   = requestBE.CodigoPuertoOrigenDocumento;
                request2.CodigoPuertoEmbarqueDocumento = requestBE.CodigoPuertoEmbarqueDocumento;
                request2.CodigoPuertoDescargaDocumento = requestBE.CodigoPuertoDescargaDocumento;
                request2.CodigoPuertoFinalDocumento    = requestBE.CodigoPuertoFinalDocumento;
                request2.CodigoLineaNaviera            = requestBE.CodigoLineaNaviera;
                request2.CodigoAduana    = requestBE.CodigoAduana;
                request2.NumeroDocumento = requestBE.NumeroDocumento;

                var Validar = repo.ValidarDocumento(request2);

                if (Validar.ListaDocumento.FirstOrDefault() != null)
                {
                    response.Result.Satisfactorio = false;
                    response.Result.CodigoError   = "1";
                    response.Result.Mensaje       = "El BL ya se encuentra registrado";
                    Validar.ListaDocumento.ForEach(x =>
                    {
                        response.Result.Mensajes.Add(new Result {
                            Mensaje = x.NumeroDocumento, Satisfactorio = false, CodigoError = "1"
                        });
                    });

                    return(response);
                }


                #endregion

                if (request.Accion.Equals(Accion.Insertar.GetDescription()))
                {
                    requestBE.EstadoRegistro = true;
                }

                using (TransactionScope Transaccion = new TransactionScope())
                {
                    if (request.Accion.Equals(Accion.Insertar.GetDescription()))
                    {
                        result = requestBE.CodigoDocumento = repo.RegistrarDocumento(requestBE);
                    }
                    else //APLICA PARA UPDATE Y DELETE
                    {
                        result = repo.ModificarDocumento(requestBE);
                    }

                    #region DETALLE

                    if (!result.Equals(0))
                    {
                        requestBE.ListaDocumentoDetalleCarga.ForEach(x =>
                        {
                            x.CodigoDocumento = requestBE.CodigoDocumento;
                        });

                        requestBE.ListaDocumentoDetalleCliente.ForEach(x =>
                        {
                            x.CodigoDocumento = requestBE.CodigoDocumento;
                        });

                        requestBE.ListaDocumentoDetalleFlete.ForEach(x =>
                        {
                            x.CodigoDocumento = requestBE.CodigoDocumento;
                        });

                        if (repo.RegistrarDocumentoDetalleCarga(requestBE.ListaDocumentoDetalleCarga) && (request.Accion != Accion.Insertar.GetDescription()))
                        {
                            ;
                        }
                        if (repo.RegistrarDocumentoDetalleCliente(requestBE.ListaDocumentoDetalleCliente) && (request.Accion != Accion.Insertar.GetDescription()))
                        {
                            ;
                        }
                        if (repo.RegistrarDocumentoDetalleFlete(requestBE.ListaDocumentoDetalleFlete) && (request.Accion != Accion.Insertar.GetDescription()))
                        {
                            ;
                        }
                    }

                    #endregion

                    Transaccion.Complete();

                    response.CodigoDocumento = requestBE.CodigoDocumento;
                }
                //}
            }
            catch (Exception ex)
            {
                response.Result = new Result {
                    IdError = Guid.NewGuid(), Satisfactorio = false, Mensaje = "Ocurrio un problema interno en el servicio"
                };
                ManejadorExcepciones.PublicarExcepcion(ex, PoliticaExcepcion.LogicaNegocio);
            }
            return(response);
        }
        public ResponseConsultarDocumento ConsultarDocumento(RequestConsultarDocumento request)
        {
            var response       = new ResponseConsultarDocumento();
            var listaDocumento = new List <Documento>();

            using (SqlConnection conexion = new SqlConnection(ContextoParaBaseDatos.DecryptedConnectionString("TransmisionesDB")))
            {
                Dictionary <string, object> parametrosIn  = new Dictionary <string, object>();
                Dictionary <string, object> parametrosOut = new Dictionary <string, object>();
                int totRegs  = 0;
                int cantRegs = 0;

                parametrosIn.Add("@CodigoDocumento", request.CodigoDocumento);
                parametrosIn.Add("@CodigoItinerario", request.CodigoItinerario);
                parametrosIn.Add("@CodigoPuertoOrigenDocumento", request.CodigoPuertoOrigenDocumento);
                parametrosIn.Add("@CodigoPuertoEmbarqueDocumento", request.CodigoPuertoEmbarqueDocumento);
                parametrosIn.Add("@CodigoPuertoDescargaDocumento", request.CodigoPuertoDescargaDocumento);
                parametrosIn.Add("@CodigoPuertoFinalDocumento", request.CodigoPuertoFinalDocumento);
                parametrosIn.Add("@CodigoLineaNaviera", request.CodigoLineaNaviera);
                parametrosIn.Add("@CodigoAduana", request.CodigoAduana);
                parametrosIn.Add("@CodigoTipoBL", request.CodigoTipoBL);
                parametrosIn.Add("@CodigoTipoEnvio", request.CodigoTipoEnvio);
                parametrosIn.Add("@NumeroDocumento", request.NumeroDocumento);
                parametrosIn.Add("@FechaEmisionDocumentoInicio", request.FechaEmisionDocumentoInicio);
                parametrosIn.Add("@FechaEmisionDocumentoFin", request.FechaEmisionDocumentoFin);

                parametrosIn.Add("@OrdenCampo", request.OrdenCampo);
                parametrosIn.Add("@OrdenOrientacion", request.OrdenOrientacion);
                parametrosIn.Add("@PaginaActual", request.PaginaActual);
                parametrosIn.Add("@NroRegistrosPorPagina", request.NroRegistrosPorPagina);

                parametrosOut.Add("@TotalRegistros", totRegs);
                parametrosOut.Add("@CantidadPaginas", cantRegs);

                using (SqlCommand cmd = SqlHelper.CreateCommandWithParameters("USP_CONSULTAR_DOCUMENTO", conexion, parametrosIn, true, parametrosOut))
                {
                    using (IDataReader dr = cmd.ExecuteReader())
                    {
                        while (dr.Read())
                        {
                            Documento Documento = new Documento();
                            Documento.CodigoDocumento               = dr.GetInt64(dr.GetOrdinal("CodigoDocumento"));
                            Documento.NombreNave                    = dr.GetString(dr.GetOrdinal("NombreNave")).Trim();
                            Documento.NumeroViajeItinerario         = dr.GetString(dr.GetOrdinal("NumeroViajeItinerario")).Trim();
                            Documento.NombrePuertoOrigenDocumento   = dr.GetString(dr.GetOrdinal("NombrePuertoOrigenDocumento")).Trim();
                            Documento.NombrePuertoEmbarqueDocumento = dr.GetString(dr.GetOrdinal("NombrePuertoEmbarqueDocumento")).Trim();
                            Documento.NombrePuertoDescargaDocumento = dr.GetString(dr.GetOrdinal("NombrePuertoDescargaDocumento")).Trim();
                            Documento.NombrePuertoFinalDocumento    = dr.GetString(dr.GetOrdinal("NombrePuertoFinalDocumento")).Trim();
                            Documento.NombreLineaNaviera            = dr.GetString(dr.GetOrdinal("NombreLineaNaviera")).Trim();
                            Documento.NumeroDocumento               = dr.GetString(dr.GetOrdinal("NumeroDocumento")).Trim();
                            Documento.NombreAduana                  = dr.GetString(dr.GetOrdinal("NombreAduana")).Trim();
                            Documento.NombreTipoBL                  = dr.GetString(dr.GetOrdinal("NombreTipoBL")).Trim();
                            Documento.NombreTipoEnvio               = dr.GetString(dr.GetOrdinal("NombreTipoEnvio")).Trim();
                            Documento.FechaEmisionDocumento         = dr.IsDBNull(dr.GetOrdinal("FechaEmisionDocumento")) ? new Nullable <DateTime>() : dr.GetDateTime(dr.GetOrdinal("FechaEmisionDocumento"));
                            Documento.FechaEmbarqueDocumento        = dr.IsDBNull(dr.GetOrdinal("FechaEmbarqueDocumento")) ? new Nullable <DateTime>() : dr.GetDateTime(dr.GetOrdinal("FechaEmbarqueDocumento"));
                            Documento.UsuarioCreacion               = dr.IsDBNull(dr.GetOrdinal("UsuarioCreacion")) ? "" : dr.GetString(dr.GetOrdinal("UsuarioCreacion")).Trim();
                            Documento.FechaHoraCreacion             = dr.IsDBNull(dr.GetOrdinal("FechaHoraCreacion")) ? new Nullable <DateTime>() : dr.GetDateTime(dr.GetOrdinal("FechaHoraCreacion"));
                            Documento.UsuarioActualizacion          = dr.IsDBNull(dr.GetOrdinal("UsuarioActualizacion")) ? "" : dr.GetString(dr.GetOrdinal("UsuarioActualizacion")).Trim();
                            Documento.FechaHoraActualizacion        = dr.IsDBNull(dr.GetOrdinal("FechaHoraActualizacion")) ? new Nullable <DateTime>() : dr.GetDateTime(dr.GetOrdinal("FechaHoraActualizacion"));

                            listaDocumento.Add(Documento);
                        }

                        SqlHelper.CloseConnection(conexion);
                    }
                    response.ListaDocumento  = listaDocumento;
                    response.TotalRegistros  = Int32.Parse(cmd.Parameters["@TotalRegistros"].Value.ToString());
                    response.CantidadPaginas = Int32.Parse(cmd.Parameters["@CantidadPaginas"].Value.ToString());
                }
            }
            return(response);
        }