예제 #1
0
        public static ResultadoTransaccion ObtienePuertos(Opcion opcion)
        {
            var res = new ResultadoTransaccion();
            var puerto = new List<Puerto>();
            //Abrir Conexion
            var conn = BaseDatos.NuevaConexion();
            try {
                SqlCommand command = new SqlCommand("SP_L_COTIZACION_DIRECTA_OPCIONES_PUERTOS_POR_ID_OPCION", conn);
                command.Parameters.AddWithValue("@idOpcion", opcion.Id32);
                command.CommandType = CommandType.StoredProcedure;
                var reader = command.ExecuteReader();
                while (reader.Read()) {
                    GetFromDataReader(reader, opcion);
                }

                res.Accion = Entidades.Enums.Enums.AccionTransaccion.Consultar;
                res.ObjetoTransaccion = puerto;
                res.Descripcion = "Se creo la cotizacion Exitosamente";

            } catch (Exception ex) {
                Log.EscribirLog(ex.Message);
                res.Descripcion = ex.Message;
                res.ArchivoError = NombreClase;
                res.MetodoError = MethodBase.GetCurrentMethod().Name;
            } finally {
                conn.Close();
            }
            return res;
        }
예제 #2
0
        private static void GetFromDataReader(SqlDataReader reader, Opcion opcion)
        {
            var puerto = new Puerto();
            puerto.Id = Convert.ToInt16(reader["id"]);
            puerto.Id32 = Convert.ToInt32(reader["id"]);
            puerto.Codigo = reader["puerto"].ToString();
            puerto.Nombre = reader["nombre"].ToString();

            if (reader["tipo"].ToString() == "Pol")
                opcion.Pol.Add(puerto);
            else
                opcion.Pod.Add(puerto);
        }
예제 #3
0
        private static Opcion GetFromDataReader(SqlDataReader reader)
        {
            var opcion = new Opcion();
            opcion.Numero = reader["numero"].ToString();
            opcion.Id = Convert.ToInt16(reader["id"]);
            opcion.Id32 = Convert.ToInt32(reader["id"]);

            var idNaviera = Convert.ToInt32(reader["Naviera"]);
            if (_navieras == null)
                _navieras = ClsNavierasDAO.ListarNavieras() as List<ClsNaviera>;

            opcion.Naviera = _navieras.Find(foo => foo.Id32 == idNaviera);

            opcion.TiempoTransito = reader["tiempoTransito"].ToString();
            opcion.FechaValidezInicio = Convert.ToDateTime(reader["fechaValidezInicio"]);
            opcion.FechaValidezFin = Convert.ToDateTime(reader["fechaValidezFin"]);

            if (!String.IsNullOrEmpty(reader["tipo_servicio_id"].ToString())){
                var servicio = new TiposServicio();
                servicio.Id = servicio.Id32 = Convert.ToInt32(reader["tipo_servicio_id"].ToString());
                servicio.Nombre = reader["tipo_servicio_nombre"].ToString();
                opcion.TiposServicio = servicio;
            }

            if (!String.IsNullOrEmpty(reader["tipo_via_id"].ToString())) {
                var via = new TiposVia();
                via.Id = via.Id32 = Convert.ToInt32(reader["tipo_via_id"].ToString());
                via.Nombre = reader["tipo_via_nombre"].ToString();
                opcion.TipoVia = via;
            }

            opcion.Detalles =  ClsOpcionDetalleDao.ObtieneDetalle(opcion.Id32).ObjetoTransaccion as List<DetalleOpcion>;

            var idEstado = Convert.ToInt32(reader["COTIZACION_DIRECTA_ESTADOS_id"]);

            opcion.Usuario = Usuarios.clsUsuarioADO.ObtenerTransaccionUsuarioPorId(Convert.ToInt32(reader["idUsuario"])).ObjetoTransaccion as clsUsuario;

            return opcion;
        }
예제 #4
0
 /// <summary>
 /// Retorna todos los mensajes incluido los historiales
 /// </summary>
 /// <param name="opcion"></param>
 /// <returns></returns>
 public static ResultadoTransaccion ObtieneTodosLosMensajes(Opcion opcion)
 {
     return ClsComentarioDao.ObtieneTodosLosMensajes(opcion);
 }
예제 #5
0
 public static ResultadoTransaccion GuardarMensaje(Opcion opcion, Comentario comentario)
 {
     comentario.EsHistorial = false;
     return Guardar(opcion, comentario);
 }
예제 #6
0
 public static ResultadoTransaccion GuardarHistorial(Opcion opcion, Comentario comentario)
 {
     comentario.EsHistorial = true;
     return Guardar(opcion, comentario);
 }
예제 #7
0
        public static ResultadoTransaccion CrearRelacionPuertos(Opcion opcion, SqlCommand command)
        {
            try {
                foreach (var o in opcion.Pod) {
                    var com = command.Connection.CreateCommand();
                    com.Transaction = command.Transaction;

                    com.CommandText = "SP_N_COTIZACION_DIRECTA_OPCIONES_PUERTOS";

                    com.CommandType = CommandType.StoredProcedure;
                    com.Parameters.AddWithValue("@puerto", o.Codigo);
                    com.Parameters.AddWithValue("@cotizacion_directa_opciones_id", opcion.Id32);
                    com.Parameters.AddWithValue("@tipo", "Pod");
                    com.CommandType = CommandType.StoredProcedure;

                    var outParam = com.Parameters.Add("@Id", SqlDbType.BigInt);
                    outParam.Direction = ParameterDirection.Output;
                    com.ExecuteScalar();

                    o.Id = Convert.ToInt16(outParam.Value);
                    o.Id32 = Convert.ToInt32(outParam.Value);
                }
                foreach (var o in opcion.Pol) {
                    var com = command.Connection.CreateCommand();
                    com.Transaction = command.Transaction;

                    com.CommandText = "SP_N_COTIZACION_DIRECTA_OPCIONES_PUERTOS";

                    com.CommandType = CommandType.StoredProcedure;
                    com.Parameters.AddWithValue("@puerto", o.Codigo);
                    com.Parameters.AddWithValue("@cotizacion_directa_opciones_id", opcion.Id32);
                    com.Parameters.AddWithValue("@tipo", "Pol");
                    com.CommandType = CommandType.StoredProcedure;

                    var outParam = com.Parameters.Add("@Id", SqlDbType.BigInt);
                    outParam.Direction = ParameterDirection.Output;
                    com.ExecuteScalar();

                    o.Id = Convert.ToInt16(outParam.Value);
                    o.Id32 = Convert.ToInt32(outParam.Value);
                }
                return new ResultadoTransaccion();
            } catch (Exception e) {
                throw e;
            }
        }
예제 #8
0
 public static ResultadoTransaccion Guardar(Opcion opcionDirecta, Comentario comentario)
 {
     return Guardar("SP_N_COTIZACION_DIRECTA_COMENTARIOS", opcionDirecta.Id32, comentario);
 }
예제 #9
0
        private static void EliminaOpcion(Opcion op, SqlCommand command)
        {
            try {
                var com = command.Connection.CreateCommand();
                com.Transaction = command.Transaction;

                com.CommandText = "SP_E_COTIZACION_DIRECTA_OPCIONES";

                com.CommandType = CommandType.StoredProcedure;
                com.Parameters.AddWithValue("@id", op.Id32);

                com.CommandType = CommandType.StoredProcedure;
                com.ExecuteNonQuery();

            } catch (Exception e) {
                throw e;
            }
        }
예제 #10
0
        private static void CrearOpcionDetalle(Opcion opcion, DetalleOpcion detalle, SqlCommand command)
        {
            var com = command.Connection.CreateCommand();
            com.Transaction = command.Transaction;

            com.CommandText = "SP_N_COTIZACION_DIRECTA_OPCIONES_DETALLES";

            com.CommandType = CommandType.StoredProcedure;
            com.Parameters.AddWithValue("@cantidad", detalle.Cantidad);
            com.Parameters.AddWithValue("@costo", detalle.Costo);
            com.Parameters.AddWithValue("@venta", detalle.Venta);
            com.Parameters.AddWithValue("@COTIZACION_MONEDAS_id", detalle.Moneda.Id32);
            com.Parameters.AddWithValue("@COTIZACION_DIRECTA_ITEMS_id", detalle.Unidad.Id32);
            com.Parameters.AddWithValue("@COTIZACION_DIRECTA_CONCEPTO_ID", detalle.Concepto.Id32);
            com.Parameters.AddWithValue("@COTIZACION_DIRECTA_OPCIONES_id", opcion.Id32);
            com.CommandType = CommandType.StoredProcedure;
            var outParam = com.Parameters.Add("@Id", SqlDbType.BigInt);
            outParam.Direction = ParameterDirection.Output;
            com.ExecuteScalar();

            detalle.Id = Convert.ToInt16(outParam.Value);
            detalle.Id32 = Convert.ToInt32(outParam.Value);
        }
예제 #11
0
        private static void CrearOpcion(CotizacionDirecta cotizacionDirecta, Opcion o, SqlCommand command)
        {
            var com = command.Connection.CreateCommand();
            com.Transaction = command.Transaction;

            com.CommandText = "SP_N_COTIZACION_DIRECTA_OPCIONES";

            com.CommandType = CommandType.StoredProcedure;
            com.Parameters.AddWithValue("@numero", o.Numero);
            com.Parameters.AddWithValue("@fechaValidezInicio", o.FechaValidezInicio);
            com.Parameters.AddWithValue("@fechaValidezFin", o.FechaValidezFin);
            com.Parameters.AddWithValue("@Naviera", o.Naviera.Id32);
            com.Parameters.AddWithValue("@TiempoTransito", o.TiempoTransito);
            com.Parameters.AddWithValue("@idUsuario", o.Usuario.Id32);
            com.Parameters.AddWithValue("@COTIZACION_SOLICITUD_COTIZACIONES_id", cotizacionDirecta.Id32);
            com.Parameters.AddWithValue("@idTipoServicio", o.TiposServicio.Id32);
            if (o.TipoVia != null)
                com.Parameters.AddWithValue("@idTipoVia", o.TipoVia.Id32);
            else
                com.Parameters.AddWithValue("@idTipoVia", null);

            com.CommandType = CommandType.StoredProcedure;

            var outParam = com.Parameters.Add("@Id", SqlDbType.BigInt);
            outParam.Direction = ParameterDirection.Output;
            com.ExecuteScalar();

            o.Id = Convert.ToInt16(outParam.Value);
            o.Id32 = Convert.ToInt32(outParam.Value);
            CrearRelacionPuertos(o, com);
            CrearOpcionDetalles(o, com);
        }
예제 #12
0
        public static ResultadoTransaccion ModificarRelacionPuertos(Opcion opcion, SqlCommand command)
        {
            try {

                EliminarRelacionPuertosDeOpcion(opcion, command);
                foreach (var puerto in opcion.Pod)
                    puerto.Id = puerto.Id32 = 0;

                foreach (var puerto in opcion.Pol)
                    puerto.Id = puerto.Id32 = 0;

                CrearRelacionPuertos(opcion, command);
                return new ResultadoTransaccion();
            } catch (Exception e) {
                throw e;
            }
        }
예제 #13
0
        public static ResultadoTransaccion ModificarDetalle(Opcion opcion, SqlCommand command)
        {
            try {
                EliminarDetallesDeOpcion(opcion, command);
                foreach (var detalle in opcion.Detalles) {

                    detalle.Id = detalle.Id32 = 0;
                }

                foreach (var detalle in opcion.Detalles) {
                    if (detalle.IsNew)
                        CrearOpcionDetalle(opcion, detalle, command);
                }

                return new ResultadoTransaccion();
            } catch (Exception e) {
                throw e;
            }
        }
예제 #14
0
        public static void EliminarRelacionPuertosDeOpcion(Opcion opcion, SqlCommand command)
        {
            var com = command.Connection.CreateCommand();
            com.Transaction = command.Transaction;

            com.CommandText = "SP_E_COTIZACION_DIRECTA_OPCIONES_PUERTOS";

            com.CommandType = CommandType.StoredProcedure;
            com.Parameters.AddWithValue("@id_opcion", opcion.Id);
            com.CommandType = CommandType.StoredProcedure;
            com.ExecuteNonQuery();
        }
예제 #15
0
 private static ResultadoTransaccion Guardar(Opcion opcion, Comentario comentario)
 {
     return ClsComentarioDao.Guardar(opcion, comentario);
 }
예제 #16
0
        public void Cargaopcion(Opcion op)
        {
            ListPodSeleccionado.Items.Clear();
            foreach (var puerto in op.Pod)
                ListPodSeleccionado.Items.Add(puerto);

            ListPolSeleccionado.Items.Clear();
            foreach (var puerto in op.Pol)
                ListPolSeleccionado.Items.Add(puerto);

            GridOpcionDetalle.DataSource = op.Detalles;
            GridOpcionDetalle.RefreshDataSource();
        }
예제 #17
0
        private static void EliminarDetallesDeOpcion(Opcion opcion, SqlCommand command)
        {
            var com = command.Connection.CreateCommand();
            com.Transaction = command.Transaction;

            com.CommandText = "SP_E_COTIZACION_DIRECTA_OPCIONES_DETALLES_POR_OPCION";

            com.CommandType = CommandType.StoredProcedure;
            com.Parameters.AddWithValue("@id_opcion", opcion.Id);
            com.CommandType = CommandType.StoredProcedure;
            com.ExecuteScalar();
        }
예제 #18
0
 /// <summary>
 /// Retorna todos los mensajes incluido los historiales
 /// </summary>
 /// <param name="opcion"></param>
 /// <returns></returns>
 public static ResultadoTransaccion ObtieneTodosLosMensajes(Opcion opcion)
 {
     return ObtieneTodosLosMensajes("SP_L_COTIZACION_DIRECTA_COMENTARIOS", opcion.Id32);
 }
예제 #19
0
        private static Opcion GetOpcionFromDataReader(IDataRecord reader)
        {
            try {
                var i = new Opcion();
                i.Id = i.Id32 = Convert.ToInt32(reader["id"]);
                i.Numero = reader["numero"].ToString();
                i.FechaValidezFin = Convert.ToDateTime(reader["fechavalidezfin"]);
                i.FechaValidezInicio = Convert.ToDateTime(reader["fechavalidezinicio"]);
                i.Naviera = new ClsNaviera();
                i.Naviera.Nombre = reader["naviera"].ToString();
                i.TiempoTransito = reader["tiempotransito"].ToString();
                i.FechaCreacion = Convert.ToDateTime(reader["createDate"]);
                i.Estado = new Estado();
                i.Estado.Id32 = Convert.ToInt32(reader["Estado"]);
                i.Estado.Nombre = reader["EstadoDescripcion"].ToString();
                //idusuario,createdate,cotizacion_solicitud_cotizaciones_id,cotizacion_indirecta_estados_id

                return i;
            } catch (Exception ex) {
                Log.EscribirLog(ex.Message);
                //throw;
                return null;
            }
        }
예제 #20
0
        private static void ModificarOpcion(CotizacionDirecta cotizacionDirecta, Opcion o, SqlCommand command)
        {
            var com = command.Connection.CreateCommand();
            com.Transaction = command.Transaction;

            com.CommandText = "SP_A_COTIZACION_DIRECTA_OPCIONES";

            com.CommandType = CommandType.StoredProcedure;
            com.Parameters.AddWithValue("@id", o.Id32);
            com.Parameters.AddWithValue("@numero", o.Numero);
            com.Parameters.AddWithValue("@fechaValidezInicio", o.FechaValidezInicio);
            com.Parameters.AddWithValue("@fechaValidezFin", o.FechaValidezFin);
            com.Parameters.AddWithValue("@Naviera", o.Naviera.Id32);
            com.Parameters.AddWithValue("@TiempoTransito", o.TiempoTransito);
            com.Parameters.AddWithValue("@idUsuario", o.Usuario.Id32);
            com.Parameters.AddWithValue("@idTipoServicio", o.TiposServicio.Id32);
            if (o.TipoVia != null)
                com.Parameters.AddWithValue("@idTipoVia", o.TipoVia.Id32);
            else
                com.Parameters.AddWithValue("@idTipoVia", DBNull.Value);

            com.CommandType = CommandType.StoredProcedure;

            com.ExecuteScalar();
            ModificarDetalle(o, command);
            ModificarRelacionPuertos(o, command);
        }
예제 #21
0
        public static ResultadoTransaccion CrearOpcionDetalles(Opcion opcion, SqlCommand command)
        {
            try {
                foreach (var detalle in opcion.Detalles) {
                    CrearOpcionDetalle(opcion, detalle, command);
                }

                return new ResultadoTransaccion();
            } catch (Exception e) {
                throw e;
            }
        }