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); }
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); }